├── .browserslistrc
├── .editorconfig
├── .gitignore
├── .npmignore
├── Gruntfile.js
├── LICENSE
├── README.md
├── dist
├── index.html
└── tabsy.css
├── package-lock.json
├── package.json
└── src
├── index.html
├── library
├── _animations.scss
├── _mixins.scss
└── _variables.scss
└── tabsy.scss
/.browserslistrc:
--------------------------------------------------------------------------------
1 | last 2 versions
2 | not dead
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | indent_style = space
5 | indent_size = 4
6 | end_of_line = lf
7 | charset = utf-8
8 | trim_trailing_whitespace = true
9 |
10 | [*.{js,css,scss}]
11 | indent_style = tab
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | npm-debug.log
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | npm-debug.log
--------------------------------------------------------------------------------
/Gruntfile.js:
--------------------------------------------------------------------------------
1 | const sass = require("sass");
2 | const autoprefixer = require("autoprefixer");
3 |
4 | module.exports = function (grunt) {
5 | grunt.initConfig({
6 | settings: {
7 | srcPath: "src/",
8 | distPath: "dist/",
9 | },
10 |
11 | sass: {
12 | options: {
13 | implementation: sass, // Add this line
14 | },
15 | app: {
16 | files: [
17 | {
18 | expand: true,
19 | cwd: "<%= settings.srcPath %>",
20 | src: ["**/*.scss"],
21 | dest: "<%= settings.distPath %>",
22 | ext: ".css",
23 | },
24 | ],
25 | options: {
26 | outputStyle: "compressed",
27 | sourceMap: false,
28 | precision: 5,
29 | },
30 | },
31 | },
32 |
33 | postcss: {
34 | options: {
35 | processors: [autoprefixer()],
36 | },
37 | dist: {
38 | src: "<%= settings.distPath %>*.css",
39 | },
40 | },
41 |
42 | htmlbuild: {
43 | build: {
44 | expand: true,
45 | cwd: "<%= settings.srcPath %>",
46 | src: "**/*.html",
47 | dest: "<%= settings.distPath %>",
48 | },
49 | },
50 |
51 | watch: {
52 | scss: {
53 | expand: true,
54 | files: ["<%= settings.srcPath %>sass/**/*.scss"],
55 | tasks: ["sass", "postcss"],
56 | options: {
57 | spawn: false,
58 | },
59 | },
60 | html: {
61 | files: ["<%= settings.srcPath %>*.html"],
62 | tasks: ["htmlbuild"],
63 | options: {
64 | spawn: false,
65 | },
66 | },
67 | },
68 | });
69 |
70 | require("load-grunt-tasks")(grunt);
71 |
72 | grunt.registerTask("default", ["watch"]);
73 | grunt.registerTask("build", ["sass", "postcss", "htmlbuild"]);
74 | };
75 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Robert Velickovski
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Tabsy CSS
2 |
3 | ## Simple tabs toggler component written in pure CSS with no dependencies
4 |
5 | ### Install
6 |
7 | With npm:
8 |
9 | ```sh
10 | npm install tabsy-css
11 | ```
12 |
13 | ### Usage
14 |
15 | Include css:
16 |
17 | ```sh
18 |
19 | ```
20 |
21 | Initial required structure, place any content you want within the tabs:
22 |
23 | ```sh
24 |
25 |
26 |
Tab One
27 |
28 |
29 | Content One
30 |
31 |
32 |
33 |
Tab Two
34 |
35 |
36 | Content Two
37 |
38 |
39 |
40 |
Tab Three
41 |
42 |
43 | Content Three
44 |
45 |
46 |
47 | ```
48 |
49 | ### Demo
50 |
51 | Demo available [here](http://robiveli.github.io/tabsy-css/).
52 |
53 | ### Options
54 |
55 | Default css settings are placed in `library/_variables.scss`:
56 |
57 | ### Note
58 |
59 | Based on Flexbox feature. Where not supported simple fallback is applied.
60 |
61 | ### License
62 |
63 | Tabsy CSS is licensed under the [MIT license](http://opensource.org/licenses/MIT).
64 |
--------------------------------------------------------------------------------
/dist/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Tabsy - Simple tabs toggler component written in pure CSS with no
6 | dependencies
7 |
8 |
9 |
13 |
14 |
15 |
16 |
20 |
21 |
22 |
181 |
182 |
183 |
184 |
185 | Tabsy [CSS]
186 |
187 | Simple and lightweight tabs toggler component written in pure
188 | CSS
189 |
190 |
191 |
192 |
193 |
Tab One
194 |
195 |
196 |
197 |
Heading 1
198 |
199 | Lorem Ipsum is simply dummy text of the printing and
200 | typesetting industry.
201 |
202 |
203 | Lorem Ipsum has been the industry's standard dummy
204 | text ever since the 1500s, when an unknown printer
205 | took a galley of type and scrambled it to make a
206 | type specimen book. It has survived not only five
207 | centuries, but also the leap into electronic
208 | typesetting, remaining essentially unchanged.
209 |
210 |
211 |
212 |
213 |
214 |
Tab Two
215 |
216 |
217 |
218 |
Heading 2
219 |
220 | Lorem Ipsum has been the industry's standard dummy
221 | text ever since the 1500s, when an unknown printer
222 | took a galley of type and scrambled it to make a
223 | type specimen book. It has survived not only five
224 | centuries, but also the leap into electronic
225 | typesetting, remaining essentially unchanged.
226 |
227 |
228 | Lorem Ipsum has been the industry's standard dummy
229 | text ever since the 1500s, when an unknown printer
230 | took a galley of type and scrambled it to make a
231 | type specimen book. It has survived not only five
232 | centuries, but also the leap into electronic
233 | typesetting, remaining essentially unchanged.
234 |
235 |
236 | Lorem Ipsum has been the industry's standard dummy
237 | text ever since the 1500s, when an unknown printer
238 | took a galley of type and scrambled it to make a
239 | type specimen book. It has survived not only five
240 | centuries, but also the leap into electronic
241 | typesetting, remaining essentially unchanged.
242 |
243 |
244 |
245 |
246 |
247 |
Tab Three
248 |
249 |
250 |
251 |
Heading 3
252 |
253 | Lorem Ipsum has been the industry's standard dummy
254 | text ever since the 1500s, when an unknown printer
255 | took a galley of type and scrambled it to make a
256 | type specimen book. It has survived not only five
257 | centuries, but also the leap into electronic
258 | typesetting, remaining essentially unchanged.
259 |
260 |
261 | Lorem Ipsum has been the industry's standard dummy
262 | text ever since the 1500s, when an unknown printer
263 | took a galley of type and scrambled it to make a
264 | type specimen book. It has survived not only five
265 | centuries, but also the leap into electronic
266 | typesetting, remaining essentially unchanged. Lorem
267 | Ipsum has been the industry's standard dummy text
268 | ever since the 1500s, when an unknown printer took a
269 | galley of type and scrambled it to make a type
270 | specimen book. It has survived not only five
271 | centuries, but also the leap into electronic
272 | typesetting, remaining essentially unchanged. Lorem
273 | Ipsum has been the industry's standard dummy text
274 | ever since the 1500s, when an unknown printer took a
275 | galley of type and scrambled it to make a type
276 | specimen book. It has survived not only five
277 | centuries, but also the leap into electronic
278 | typesetting, remaining essentially unchanged.
279 |
280 |
281 |
282 |
283 |
284 |
285 |
286 |
--------------------------------------------------------------------------------
/dist/tabsy.css:
--------------------------------------------------------------------------------
1 | @keyframes (showTab) {
2 | from {
3 | opacity: 0;
4 | transform: translateY(10px);
5 | }
6 | to {
7 | opacity: 1;
8 | transform: translateY(0);
9 | }
10 | }
11 | .tabsy > button {
12 | width: 100%;
13 | font-family: inherit;
14 | font-size: 100%;
15 | margin: 0;
16 | outline: 0;
17 | border: 0;
18 | vertical-align: baseline;
19 | box-sizing: border-box;
20 | background: transparent;
21 | }
22 | .tabsy > .tabButton {
23 | display: block;
24 | margin-top: 1px;
25 | background: #5a5243;
26 | color: #F5F5F5;
27 | text-align: center;
28 | transition: all 200ms ease-in-out;
29 | }
30 | .tabsy > input {
31 | display: none;
32 | }
33 | .tabsy > input:checked + label + .tab {
34 | display: block;
35 | }
36 | @keyframes showTab {}
37 | .tabsy > .tab {
38 | background: #fff;
39 | display: none;
40 | }
41 | @media screen and (min-width: 768px) {
42 | .tabsy {
43 | display: flex;
44 | flex-wrap: wrap;
45 | }
46 | .tabsy > .tabButton {
47 | order: 1;
48 | align-items: flex-start;
49 | cursor: pointer;
50 | }
51 | .tabsy > input:checked + label {
52 | background: #fff;
53 | color: #5a5243;
54 | }
55 | .tabsy > .tab {
56 | order: 2;
57 | }
58 | }
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tabsy-css",
3 | "version": "1.0.1",
4 | "lockfileVersion": 3,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "tabsy-css",
9 | "version": "1.0.1",
10 | "license": "MIT",
11 | "devDependencies": {
12 | "autoprefixer": "^9.8.6",
13 | "grunt": "^1.0.1",
14 | "grunt-contrib-watch": "^1.0.0",
15 | "grunt-html-build": "^0.7.1",
16 | "grunt-postcss": "^0.9.0",
17 | "grunt-sass": "^4.0.0",
18 | "load-grunt-tasks": "^3.5.2",
19 | "postcss": "^8.5.6",
20 | "sass": "^1.89.2"
21 | }
22 | },
23 | "node_modules/@isaacs/cliui": {
24 | "version": "8.0.2",
25 | "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
26 | "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
27 | "dev": true,
28 | "dependencies": {
29 | "string-width": "^5.1.2",
30 | "string-width-cjs": "npm:string-width@^4.2.0",
31 | "strip-ansi": "^7.0.1",
32 | "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
33 | "wrap-ansi": "^8.1.0",
34 | "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
35 | },
36 | "engines": {
37 | "node": ">=12"
38 | }
39 | },
40 | "node_modules/@one-ini/wasm": {
41 | "version": "0.1.1",
42 | "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz",
43 | "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==",
44 | "dev": true
45 | },
46 | "node_modules/@parcel/watcher": {
47 | "version": "2.5.1",
48 | "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz",
49 | "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==",
50 | "dev": true,
51 | "hasInstallScript": true,
52 | "optional": true,
53 | "dependencies": {
54 | "detect-libc": "^1.0.3",
55 | "is-glob": "^4.0.3",
56 | "micromatch": "^4.0.5",
57 | "node-addon-api": "^7.0.0"
58 | },
59 | "engines": {
60 | "node": ">= 10.0.0"
61 | },
62 | "funding": {
63 | "type": "opencollective",
64 | "url": "https://opencollective.com/parcel"
65 | },
66 | "optionalDependencies": {
67 | "@parcel/watcher-android-arm64": "2.5.1",
68 | "@parcel/watcher-darwin-arm64": "2.5.1",
69 | "@parcel/watcher-darwin-x64": "2.5.1",
70 | "@parcel/watcher-freebsd-x64": "2.5.1",
71 | "@parcel/watcher-linux-arm-glibc": "2.5.1",
72 | "@parcel/watcher-linux-arm-musl": "2.5.1",
73 | "@parcel/watcher-linux-arm64-glibc": "2.5.1",
74 | "@parcel/watcher-linux-arm64-musl": "2.5.1",
75 | "@parcel/watcher-linux-x64-glibc": "2.5.1",
76 | "@parcel/watcher-linux-x64-musl": "2.5.1",
77 | "@parcel/watcher-win32-arm64": "2.5.1",
78 | "@parcel/watcher-win32-ia32": "2.5.1",
79 | "@parcel/watcher-win32-x64": "2.5.1"
80 | }
81 | },
82 | "node_modules/@parcel/watcher-android-arm64": {
83 | "version": "2.5.1",
84 | "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz",
85 | "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==",
86 | "cpu": [
87 | "arm64"
88 | ],
89 | "dev": true,
90 | "optional": true,
91 | "os": [
92 | "android"
93 | ],
94 | "engines": {
95 | "node": ">= 10.0.0"
96 | },
97 | "funding": {
98 | "type": "opencollective",
99 | "url": "https://opencollective.com/parcel"
100 | }
101 | },
102 | "node_modules/@parcel/watcher-darwin-arm64": {
103 | "version": "2.5.1",
104 | "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz",
105 | "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==",
106 | "cpu": [
107 | "arm64"
108 | ],
109 | "dev": true,
110 | "optional": true,
111 | "os": [
112 | "darwin"
113 | ],
114 | "engines": {
115 | "node": ">= 10.0.0"
116 | },
117 | "funding": {
118 | "type": "opencollective",
119 | "url": "https://opencollective.com/parcel"
120 | }
121 | },
122 | "node_modules/@parcel/watcher-darwin-x64": {
123 | "version": "2.5.1",
124 | "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz",
125 | "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==",
126 | "cpu": [
127 | "x64"
128 | ],
129 | "dev": true,
130 | "optional": true,
131 | "os": [
132 | "darwin"
133 | ],
134 | "engines": {
135 | "node": ">= 10.0.0"
136 | },
137 | "funding": {
138 | "type": "opencollective",
139 | "url": "https://opencollective.com/parcel"
140 | }
141 | },
142 | "node_modules/@parcel/watcher-freebsd-x64": {
143 | "version": "2.5.1",
144 | "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz",
145 | "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==",
146 | "cpu": [
147 | "x64"
148 | ],
149 | "dev": true,
150 | "optional": true,
151 | "os": [
152 | "freebsd"
153 | ],
154 | "engines": {
155 | "node": ">= 10.0.0"
156 | },
157 | "funding": {
158 | "type": "opencollective",
159 | "url": "https://opencollective.com/parcel"
160 | }
161 | },
162 | "node_modules/@parcel/watcher-linux-arm-glibc": {
163 | "version": "2.5.1",
164 | "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz",
165 | "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==",
166 | "cpu": [
167 | "arm"
168 | ],
169 | "dev": true,
170 | "optional": true,
171 | "os": [
172 | "linux"
173 | ],
174 | "engines": {
175 | "node": ">= 10.0.0"
176 | },
177 | "funding": {
178 | "type": "opencollective",
179 | "url": "https://opencollective.com/parcel"
180 | }
181 | },
182 | "node_modules/@parcel/watcher-linux-arm-musl": {
183 | "version": "2.5.1",
184 | "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz",
185 | "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==",
186 | "cpu": [
187 | "arm"
188 | ],
189 | "dev": true,
190 | "optional": true,
191 | "os": [
192 | "linux"
193 | ],
194 | "engines": {
195 | "node": ">= 10.0.0"
196 | },
197 | "funding": {
198 | "type": "opencollective",
199 | "url": "https://opencollective.com/parcel"
200 | }
201 | },
202 | "node_modules/@parcel/watcher-linux-arm64-glibc": {
203 | "version": "2.5.1",
204 | "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz",
205 | "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==",
206 | "cpu": [
207 | "arm64"
208 | ],
209 | "dev": true,
210 | "optional": true,
211 | "os": [
212 | "linux"
213 | ],
214 | "engines": {
215 | "node": ">= 10.0.0"
216 | },
217 | "funding": {
218 | "type": "opencollective",
219 | "url": "https://opencollective.com/parcel"
220 | }
221 | },
222 | "node_modules/@parcel/watcher-linux-arm64-musl": {
223 | "version": "2.5.1",
224 | "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz",
225 | "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==",
226 | "cpu": [
227 | "arm64"
228 | ],
229 | "dev": true,
230 | "optional": true,
231 | "os": [
232 | "linux"
233 | ],
234 | "engines": {
235 | "node": ">= 10.0.0"
236 | },
237 | "funding": {
238 | "type": "opencollective",
239 | "url": "https://opencollective.com/parcel"
240 | }
241 | },
242 | "node_modules/@parcel/watcher-linux-x64-glibc": {
243 | "version": "2.5.1",
244 | "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz",
245 | "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==",
246 | "cpu": [
247 | "x64"
248 | ],
249 | "dev": true,
250 | "optional": true,
251 | "os": [
252 | "linux"
253 | ],
254 | "engines": {
255 | "node": ">= 10.0.0"
256 | },
257 | "funding": {
258 | "type": "opencollective",
259 | "url": "https://opencollective.com/parcel"
260 | }
261 | },
262 | "node_modules/@parcel/watcher-linux-x64-musl": {
263 | "version": "2.5.1",
264 | "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz",
265 | "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==",
266 | "cpu": [
267 | "x64"
268 | ],
269 | "dev": true,
270 | "optional": true,
271 | "os": [
272 | "linux"
273 | ],
274 | "engines": {
275 | "node": ">= 10.0.0"
276 | },
277 | "funding": {
278 | "type": "opencollective",
279 | "url": "https://opencollective.com/parcel"
280 | }
281 | },
282 | "node_modules/@parcel/watcher-win32-arm64": {
283 | "version": "2.5.1",
284 | "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz",
285 | "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==",
286 | "cpu": [
287 | "arm64"
288 | ],
289 | "dev": true,
290 | "optional": true,
291 | "os": [
292 | "win32"
293 | ],
294 | "engines": {
295 | "node": ">= 10.0.0"
296 | },
297 | "funding": {
298 | "type": "opencollective",
299 | "url": "https://opencollective.com/parcel"
300 | }
301 | },
302 | "node_modules/@parcel/watcher-win32-ia32": {
303 | "version": "2.5.1",
304 | "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz",
305 | "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==",
306 | "cpu": [
307 | "ia32"
308 | ],
309 | "dev": true,
310 | "optional": true,
311 | "os": [
312 | "win32"
313 | ],
314 | "engines": {
315 | "node": ">= 10.0.0"
316 | },
317 | "funding": {
318 | "type": "opencollective",
319 | "url": "https://opencollective.com/parcel"
320 | }
321 | },
322 | "node_modules/@parcel/watcher-win32-x64": {
323 | "version": "2.5.1",
324 | "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz",
325 | "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==",
326 | "cpu": [
327 | "x64"
328 | ],
329 | "dev": true,
330 | "optional": true,
331 | "os": [
332 | "win32"
333 | ],
334 | "engines": {
335 | "node": ">= 10.0.0"
336 | },
337 | "funding": {
338 | "type": "opencollective",
339 | "url": "https://opencollective.com/parcel"
340 | }
341 | },
342 | "node_modules/@pkgjs/parseargs": {
343 | "version": "0.11.0",
344 | "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
345 | "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
346 | "dev": true,
347 | "optional": true,
348 | "engines": {
349 | "node": ">=14"
350 | }
351 | },
352 | "node_modules/abbrev": {
353 | "version": "1.1.1",
354 | "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
355 | "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
356 | "dev": true
357 | },
358 | "node_modules/ansi-regex": {
359 | "version": "6.1.0",
360 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
361 | "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
362 | "dev": true,
363 | "engines": {
364 | "node": ">=12"
365 | },
366 | "funding": {
367 | "url": "https://github.com/chalk/ansi-regex?sponsor=1"
368 | }
369 | },
370 | "node_modules/ansi-styles": {
371 | "version": "4.3.0",
372 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
373 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
374 | "dev": true,
375 | "dependencies": {
376 | "color-convert": "^2.0.1"
377 | },
378 | "engines": {
379 | "node": ">=8"
380 | },
381 | "funding": {
382 | "url": "https://github.com/chalk/ansi-styles?sponsor=1"
383 | }
384 | },
385 | "node_modules/argparse": {
386 | "version": "1.0.10",
387 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
388 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
389 | "dev": true,
390 | "dependencies": {
391 | "sprintf-js": "~1.0.2"
392 | }
393 | },
394 | "node_modules/array-differ": {
395 | "version": "1.0.0",
396 | "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
397 | "integrity": "sha512-LeZY+DZDRnvP7eMuQ6LHfCzUGxAAIViUBliK24P3hWXL6y4SortgR6Nim6xrkfSLlmH0+k+9NYNwVC2s53ZrYQ==",
398 | "dev": true,
399 | "engines": {
400 | "node": ">=0.10.0"
401 | }
402 | },
403 | "node_modules/array-each": {
404 | "version": "1.0.1",
405 | "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
406 | "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==",
407 | "dev": true,
408 | "engines": {
409 | "node": ">=0.10.0"
410 | }
411 | },
412 | "node_modules/array-slice": {
413 | "version": "1.1.0",
414 | "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
415 | "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==",
416 | "dev": true,
417 | "engines": {
418 | "node": ">=0.10.0"
419 | }
420 | },
421 | "node_modules/array-union": {
422 | "version": "1.0.2",
423 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
424 | "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==",
425 | "dev": true,
426 | "dependencies": {
427 | "array-uniq": "^1.0.1"
428 | },
429 | "engines": {
430 | "node": ">=0.10.0"
431 | }
432 | },
433 | "node_modules/array-uniq": {
434 | "version": "1.0.3",
435 | "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
436 | "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==",
437 | "dev": true,
438 | "engines": {
439 | "node": ">=0.10.0"
440 | }
441 | },
442 | "node_modules/arrify": {
443 | "version": "1.0.1",
444 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
445 | "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==",
446 | "dev": true,
447 | "engines": {
448 | "node": ">=0.10.0"
449 | }
450 | },
451 | "node_modules/async": {
452 | "version": "2.6.4",
453 | "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
454 | "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
455 | "dev": true,
456 | "dependencies": {
457 | "lodash": "^4.17.14"
458 | }
459 | },
460 | "node_modules/autoprefixer": {
461 | "version": "9.8.8",
462 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz",
463 | "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==",
464 | "dev": true,
465 | "dependencies": {
466 | "browserslist": "^4.12.0",
467 | "caniuse-lite": "^1.0.30001109",
468 | "normalize-range": "^0.1.2",
469 | "num2fraction": "^1.2.2",
470 | "picocolors": "^0.2.1",
471 | "postcss": "^7.0.32",
472 | "postcss-value-parser": "^4.1.0"
473 | },
474 | "bin": {
475 | "autoprefixer": "bin/autoprefixer"
476 | },
477 | "funding": {
478 | "type": "tidelift",
479 | "url": "https://tidelift.com/funding/github/npm/autoprefixer"
480 | }
481 | },
482 | "node_modules/autoprefixer/node_modules/postcss": {
483 | "version": "7.0.39",
484 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
485 | "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
486 | "dev": true,
487 | "dependencies": {
488 | "picocolors": "^0.2.1",
489 | "source-map": "^0.6.1"
490 | },
491 | "engines": {
492 | "node": ">=6.0.0"
493 | },
494 | "funding": {
495 | "type": "opencollective",
496 | "url": "https://opencollective.com/postcss/"
497 | }
498 | },
499 | "node_modules/balanced-match": {
500 | "version": "1.0.2",
501 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
502 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
503 | "dev": true
504 | },
505 | "node_modules/body": {
506 | "version": "5.1.0",
507 | "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz",
508 | "integrity": "sha512-chUsBxGRtuElD6fmw1gHLpvnKdVLK302peeFa9ZqAEk8TyzZ3fygLyUEDDPTJvL9+Bor0dIwn6ePOsRM2y0zQQ==",
509 | "dev": true,
510 | "dependencies": {
511 | "continuable-cache": "^0.3.1",
512 | "error": "^7.0.0",
513 | "raw-body": "~1.1.0",
514 | "safe-json-parse": "~1.0.1"
515 | }
516 | },
517 | "node_modules/brace-expansion": {
518 | "version": "1.1.12",
519 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
520 | "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
521 | "dev": true,
522 | "dependencies": {
523 | "balanced-match": "^1.0.0",
524 | "concat-map": "0.0.1"
525 | }
526 | },
527 | "node_modules/braces": {
528 | "version": "3.0.3",
529 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
530 | "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
531 | "dev": true,
532 | "dependencies": {
533 | "fill-range": "^7.1.1"
534 | },
535 | "engines": {
536 | "node": ">=8"
537 | }
538 | },
539 | "node_modules/browserslist": {
540 | "version": "4.25.0",
541 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.0.tgz",
542 | "integrity": "sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==",
543 | "dev": true,
544 | "funding": [
545 | {
546 | "type": "opencollective",
547 | "url": "https://opencollective.com/browserslist"
548 | },
549 | {
550 | "type": "tidelift",
551 | "url": "https://tidelift.com/funding/github/npm/browserslist"
552 | },
553 | {
554 | "type": "github",
555 | "url": "https://github.com/sponsors/ai"
556 | }
557 | ],
558 | "dependencies": {
559 | "caniuse-lite": "^1.0.30001718",
560 | "electron-to-chromium": "^1.5.160",
561 | "node-releases": "^2.0.19",
562 | "update-browserslist-db": "^1.1.3"
563 | },
564 | "bin": {
565 | "browserslist": "cli.js"
566 | },
567 | "engines": {
568 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
569 | }
570 | },
571 | "node_modules/bytes": {
572 | "version": "1.0.0",
573 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz",
574 | "integrity": "sha512-/x68VkHLeTl3/Ll8IvxdwzhrT+IyKc52e/oyHhA2RwqPqswSnjVbSddfPRwAsJtbilMAPSRWwAlpxdYsSWOTKQ==",
575 | "dev": true
576 | },
577 | "node_modules/call-bind-apply-helpers": {
578 | "version": "1.0.2",
579 | "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
580 | "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
581 | "dev": true,
582 | "dependencies": {
583 | "es-errors": "^1.3.0",
584 | "function-bind": "^1.1.2"
585 | },
586 | "engines": {
587 | "node": ">= 0.4"
588 | }
589 | },
590 | "node_modules/call-bound": {
591 | "version": "1.0.4",
592 | "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
593 | "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
594 | "dev": true,
595 | "dependencies": {
596 | "call-bind-apply-helpers": "^1.0.2",
597 | "get-intrinsic": "^1.3.0"
598 | },
599 | "engines": {
600 | "node": ">= 0.4"
601 | },
602 | "funding": {
603 | "url": "https://github.com/sponsors/ljharb"
604 | }
605 | },
606 | "node_modules/caniuse-lite": {
607 | "version": "1.0.30001723",
608 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001723.tgz",
609 | "integrity": "sha512-1R/elMjtehrFejxwmexeXAtae5UO9iSyFn6G/I806CYC/BLyyBk1EPhrKBkWhy6wM6Xnm47dSJQec+tLJ39WHw==",
610 | "dev": true,
611 | "funding": [
612 | {
613 | "type": "opencollective",
614 | "url": "https://opencollective.com/browserslist"
615 | },
616 | {
617 | "type": "tidelift",
618 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
619 | },
620 | {
621 | "type": "github",
622 | "url": "https://github.com/sponsors/ai"
623 | }
624 | ]
625 | },
626 | "node_modules/chalk": {
627 | "version": "4.1.2",
628 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
629 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
630 | "dev": true,
631 | "dependencies": {
632 | "ansi-styles": "^4.1.0",
633 | "supports-color": "^7.1.0"
634 | },
635 | "engines": {
636 | "node": ">=10"
637 | },
638 | "funding": {
639 | "url": "https://github.com/chalk/chalk?sponsor=1"
640 | }
641 | },
642 | "node_modules/chokidar": {
643 | "version": "4.0.3",
644 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
645 | "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
646 | "dev": true,
647 | "dependencies": {
648 | "readdirp": "^4.0.1"
649 | },
650 | "engines": {
651 | "node": ">= 14.16.0"
652 | },
653 | "funding": {
654 | "url": "https://paulmillr.com/funding/"
655 | }
656 | },
657 | "node_modules/color-convert": {
658 | "version": "2.0.1",
659 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
660 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
661 | "dev": true,
662 | "dependencies": {
663 | "color-name": "~1.1.4"
664 | },
665 | "engines": {
666 | "node": ">=7.0.0"
667 | }
668 | },
669 | "node_modules/color-name": {
670 | "version": "1.1.4",
671 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
672 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
673 | "dev": true
674 | },
675 | "node_modules/colors": {
676 | "version": "1.1.2",
677 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
678 | "integrity": "sha512-ENwblkFQpqqia6b++zLD/KUWafYlVY/UNnAp7oz7LY7E924wmpye416wBOmvv/HMWzl8gL1kJlfvId/1Dg176w==",
679 | "dev": true,
680 | "engines": {
681 | "node": ">=0.1.90"
682 | }
683 | },
684 | "node_modules/commander": {
685 | "version": "10.0.1",
686 | "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
687 | "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
688 | "dev": true,
689 | "engines": {
690 | "node": ">=14"
691 | }
692 | },
693 | "node_modules/concat-map": {
694 | "version": "0.0.1",
695 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
696 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
697 | "dev": true
698 | },
699 | "node_modules/config-chain": {
700 | "version": "1.1.13",
701 | "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz",
702 | "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==",
703 | "dev": true,
704 | "dependencies": {
705 | "ini": "^1.3.4",
706 | "proto-list": "~1.2.1"
707 | }
708 | },
709 | "node_modules/continuable-cache": {
710 | "version": "0.3.1",
711 | "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz",
712 | "integrity": "sha512-TF30kpKhTH8AGCG3dut0rdd/19B7Z+qCnrMoBLpyQu/2drZdNrrpcjPEoJeSVsQM+8KmWG5O56oPDjSSUsuTyA==",
713 | "dev": true
714 | },
715 | "node_modules/cross-spawn": {
716 | "version": "7.0.6",
717 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
718 | "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
719 | "dev": true,
720 | "dependencies": {
721 | "path-key": "^3.1.0",
722 | "shebang-command": "^2.0.0",
723 | "which": "^2.0.1"
724 | },
725 | "engines": {
726 | "node": ">= 8"
727 | }
728 | },
729 | "node_modules/dateformat": {
730 | "version": "4.6.3",
731 | "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz",
732 | "integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==",
733 | "dev": true,
734 | "engines": {
735 | "node": "*"
736 | }
737 | },
738 | "node_modules/debug": {
739 | "version": "3.2.7",
740 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
741 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
742 | "dev": true,
743 | "dependencies": {
744 | "ms": "^2.1.1"
745 | }
746 | },
747 | "node_modules/detect-file": {
748 | "version": "1.0.0",
749 | "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
750 | "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==",
751 | "dev": true,
752 | "engines": {
753 | "node": ">=0.10.0"
754 | }
755 | },
756 | "node_modules/detect-libc": {
757 | "version": "1.0.3",
758 | "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
759 | "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
760 | "dev": true,
761 | "optional": true,
762 | "bin": {
763 | "detect-libc": "bin/detect-libc.js"
764 | },
765 | "engines": {
766 | "node": ">=0.10"
767 | }
768 | },
769 | "node_modules/diff": {
770 | "version": "3.5.0",
771 | "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
772 | "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
773 | "dev": true,
774 | "engines": {
775 | "node": ">=0.3.1"
776 | }
777 | },
778 | "node_modules/dunder-proto": {
779 | "version": "1.0.1",
780 | "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
781 | "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
782 | "dev": true,
783 | "dependencies": {
784 | "call-bind-apply-helpers": "^1.0.1",
785 | "es-errors": "^1.3.0",
786 | "gopd": "^1.2.0"
787 | },
788 | "engines": {
789 | "node": ">= 0.4"
790 | }
791 | },
792 | "node_modules/eastasianwidth": {
793 | "version": "0.2.0",
794 | "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
795 | "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
796 | "dev": true
797 | },
798 | "node_modules/editorconfig": {
799 | "version": "1.0.4",
800 | "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz",
801 | "integrity": "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==",
802 | "dev": true,
803 | "dependencies": {
804 | "@one-ini/wasm": "0.1.1",
805 | "commander": "^10.0.0",
806 | "minimatch": "9.0.1",
807 | "semver": "^7.5.3"
808 | },
809 | "bin": {
810 | "editorconfig": "bin/editorconfig"
811 | },
812 | "engines": {
813 | "node": ">=14"
814 | }
815 | },
816 | "node_modules/editorconfig/node_modules/brace-expansion": {
817 | "version": "2.0.2",
818 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
819 | "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
820 | "dev": true,
821 | "dependencies": {
822 | "balanced-match": "^1.0.0"
823 | }
824 | },
825 | "node_modules/editorconfig/node_modules/minimatch": {
826 | "version": "9.0.1",
827 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz",
828 | "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==",
829 | "dev": true,
830 | "dependencies": {
831 | "brace-expansion": "^2.0.1"
832 | },
833 | "engines": {
834 | "node": ">=16 || 14 >=14.17"
835 | },
836 | "funding": {
837 | "url": "https://github.com/sponsors/isaacs"
838 | }
839 | },
840 | "node_modules/electron-to-chromium": {
841 | "version": "1.5.170",
842 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.170.tgz",
843 | "integrity": "sha512-GP+M7aeluQo9uAyiTCxgIj/j+PrWhMlY7LFVj8prlsPljd0Fdg9AprlfUi+OCSFWy9Y5/2D/Jrj9HS8Z4rpKWA==",
844 | "dev": true
845 | },
846 | "node_modules/emoji-regex": {
847 | "version": "9.2.2",
848 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
849 | "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
850 | "dev": true
851 | },
852 | "node_modules/error": {
853 | "version": "7.2.1",
854 | "resolved": "https://registry.npmjs.org/error/-/error-7.2.1.tgz",
855 | "integrity": "sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA==",
856 | "dev": true,
857 | "dependencies": {
858 | "string-template": "~0.2.1"
859 | }
860 | },
861 | "node_modules/es-define-property": {
862 | "version": "1.0.1",
863 | "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
864 | "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
865 | "dev": true,
866 | "engines": {
867 | "node": ">= 0.4"
868 | }
869 | },
870 | "node_modules/es-errors": {
871 | "version": "1.3.0",
872 | "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
873 | "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
874 | "dev": true,
875 | "engines": {
876 | "node": ">= 0.4"
877 | }
878 | },
879 | "node_modules/es-object-atoms": {
880 | "version": "1.1.1",
881 | "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
882 | "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
883 | "dev": true,
884 | "dependencies": {
885 | "es-errors": "^1.3.0"
886 | },
887 | "engines": {
888 | "node": ">= 0.4"
889 | }
890 | },
891 | "node_modules/escalade": {
892 | "version": "3.2.0",
893 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
894 | "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
895 | "dev": true,
896 | "engines": {
897 | "node": ">=6"
898 | }
899 | },
900 | "node_modules/escape-string-regexp": {
901 | "version": "1.0.5",
902 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
903 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
904 | "dev": true,
905 | "engines": {
906 | "node": ">=0.8.0"
907 | }
908 | },
909 | "node_modules/esprima": {
910 | "version": "4.0.1",
911 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
912 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
913 | "dev": true,
914 | "bin": {
915 | "esparse": "bin/esparse.js",
916 | "esvalidate": "bin/esvalidate.js"
917 | },
918 | "engines": {
919 | "node": ">=4"
920 | }
921 | },
922 | "node_modules/eventemitter2": {
923 | "version": "0.4.14",
924 | "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz",
925 | "integrity": "sha512-K7J4xq5xAD5jHsGM5ReWXRTFa3JRGofHiMcVgQ8PRwgWxzjHpMWCIzsmyf60+mh8KLsqYPcjUMa0AC4hd6lPyQ==",
926 | "dev": true
927 | },
928 | "node_modules/exit": {
929 | "version": "0.1.2",
930 | "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
931 | "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==",
932 | "dev": true,
933 | "engines": {
934 | "node": ">= 0.8.0"
935 | }
936 | },
937 | "node_modules/expand-tilde": {
938 | "version": "2.0.2",
939 | "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
940 | "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==",
941 | "dev": true,
942 | "dependencies": {
943 | "homedir-polyfill": "^1.0.1"
944 | },
945 | "engines": {
946 | "node": ">=0.10.0"
947 | }
948 | },
949 | "node_modules/extend": {
950 | "version": "3.0.2",
951 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
952 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
953 | "dev": true
954 | },
955 | "node_modules/faye-websocket": {
956 | "version": "0.10.0",
957 | "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
958 | "integrity": "sha512-Xhj93RXbMSq8urNCUq4p9l0P6hnySJ/7YNRhYNug0bLOuii7pKO7xQFb5mx9xZXWCar88pLPb805PvUkwrLZpQ==",
959 | "dev": true,
960 | "dependencies": {
961 | "websocket-driver": ">=0.5.1"
962 | },
963 | "engines": {
964 | "node": ">=0.4.0"
965 | }
966 | },
967 | "node_modules/fill-range": {
968 | "version": "7.1.1",
969 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
970 | "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
971 | "dev": true,
972 | "dependencies": {
973 | "to-regex-range": "^5.0.1"
974 | },
975 | "engines": {
976 | "node": ">=8"
977 | }
978 | },
979 | "node_modules/find-up": {
980 | "version": "1.1.2",
981 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
982 | "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==",
983 | "dev": true,
984 | "dependencies": {
985 | "path-exists": "^2.0.0",
986 | "pinkie-promise": "^2.0.0"
987 | },
988 | "engines": {
989 | "node": ">=0.10.0"
990 | }
991 | },
992 | "node_modules/findup-sync": {
993 | "version": "5.0.0",
994 | "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-5.0.0.tgz",
995 | "integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==",
996 | "dev": true,
997 | "dependencies": {
998 | "detect-file": "^1.0.0",
999 | "is-glob": "^4.0.3",
1000 | "micromatch": "^4.0.4",
1001 | "resolve-dir": "^1.0.1"
1002 | },
1003 | "engines": {
1004 | "node": ">= 10.13.0"
1005 | }
1006 | },
1007 | "node_modules/fined": {
1008 | "version": "1.2.0",
1009 | "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz",
1010 | "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==",
1011 | "dev": true,
1012 | "dependencies": {
1013 | "expand-tilde": "^2.0.2",
1014 | "is-plain-object": "^2.0.3",
1015 | "object.defaults": "^1.1.0",
1016 | "object.pick": "^1.2.0",
1017 | "parse-filepath": "^1.0.1"
1018 | },
1019 | "engines": {
1020 | "node": ">= 0.10"
1021 | }
1022 | },
1023 | "node_modules/flagged-respawn": {
1024 | "version": "1.0.1",
1025 | "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz",
1026 | "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==",
1027 | "dev": true,
1028 | "engines": {
1029 | "node": ">= 0.10"
1030 | }
1031 | },
1032 | "node_modules/for-in": {
1033 | "version": "1.0.2",
1034 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
1035 | "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==",
1036 | "dev": true,
1037 | "engines": {
1038 | "node": ">=0.10.0"
1039 | }
1040 | },
1041 | "node_modules/for-own": {
1042 | "version": "1.0.0",
1043 | "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
1044 | "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==",
1045 | "dev": true,
1046 | "dependencies": {
1047 | "for-in": "^1.0.1"
1048 | },
1049 | "engines": {
1050 | "node": ">=0.10.0"
1051 | }
1052 | },
1053 | "node_modules/foreground-child": {
1054 | "version": "3.3.1",
1055 | "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz",
1056 | "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==",
1057 | "dev": true,
1058 | "dependencies": {
1059 | "cross-spawn": "^7.0.6",
1060 | "signal-exit": "^4.0.1"
1061 | },
1062 | "engines": {
1063 | "node": ">=14"
1064 | },
1065 | "funding": {
1066 | "url": "https://github.com/sponsors/isaacs"
1067 | }
1068 | },
1069 | "node_modules/fs.realpath": {
1070 | "version": "1.0.0",
1071 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1072 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
1073 | "dev": true
1074 | },
1075 | "node_modules/function-bind": {
1076 | "version": "1.1.2",
1077 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
1078 | "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
1079 | "dev": true,
1080 | "funding": {
1081 | "url": "https://github.com/sponsors/ljharb"
1082 | }
1083 | },
1084 | "node_modules/gaze": {
1085 | "version": "1.1.3",
1086 | "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
1087 | "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
1088 | "dev": true,
1089 | "dependencies": {
1090 | "globule": "^1.0.0"
1091 | },
1092 | "engines": {
1093 | "node": ">= 4.0.0"
1094 | }
1095 | },
1096 | "node_modules/get-intrinsic": {
1097 | "version": "1.3.0",
1098 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
1099 | "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
1100 | "dev": true,
1101 | "dependencies": {
1102 | "call-bind-apply-helpers": "^1.0.2",
1103 | "es-define-property": "^1.0.1",
1104 | "es-errors": "^1.3.0",
1105 | "es-object-atoms": "^1.1.1",
1106 | "function-bind": "^1.1.2",
1107 | "get-proto": "^1.0.1",
1108 | "gopd": "^1.2.0",
1109 | "has-symbols": "^1.1.0",
1110 | "hasown": "^2.0.2",
1111 | "math-intrinsics": "^1.1.0"
1112 | },
1113 | "engines": {
1114 | "node": ">= 0.4"
1115 | },
1116 | "funding": {
1117 | "url": "https://github.com/sponsors/ljharb"
1118 | }
1119 | },
1120 | "node_modules/get-proto": {
1121 | "version": "1.0.1",
1122 | "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
1123 | "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
1124 | "dev": true,
1125 | "dependencies": {
1126 | "dunder-proto": "^1.0.1",
1127 | "es-object-atoms": "^1.0.0"
1128 | },
1129 | "engines": {
1130 | "node": ">= 0.4"
1131 | }
1132 | },
1133 | "node_modules/getobject": {
1134 | "version": "1.0.2",
1135 | "resolved": "https://registry.npmjs.org/getobject/-/getobject-1.0.2.tgz",
1136 | "integrity": "sha512-2zblDBaFcb3rB4rF77XVnuINOE2h2k/OnqXAiy0IrTxUfV1iFp3la33oAQVY9pCpWU268WFYVt2t71hlMuLsOg==",
1137 | "dev": true,
1138 | "engines": {
1139 | "node": ">=10"
1140 | }
1141 | },
1142 | "node_modules/glob": {
1143 | "version": "7.1.7",
1144 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
1145 | "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
1146 | "deprecated": "Glob versions prior to v9 are no longer supported",
1147 | "dev": true,
1148 | "dependencies": {
1149 | "fs.realpath": "^1.0.0",
1150 | "inflight": "^1.0.4",
1151 | "inherits": "2",
1152 | "minimatch": "^3.0.4",
1153 | "once": "^1.3.0",
1154 | "path-is-absolute": "^1.0.0"
1155 | },
1156 | "engines": {
1157 | "node": "*"
1158 | },
1159 | "funding": {
1160 | "url": "https://github.com/sponsors/isaacs"
1161 | }
1162 | },
1163 | "node_modules/global-modules": {
1164 | "version": "1.0.0",
1165 | "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
1166 | "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
1167 | "dev": true,
1168 | "dependencies": {
1169 | "global-prefix": "^1.0.1",
1170 | "is-windows": "^1.0.1",
1171 | "resolve-dir": "^1.0.0"
1172 | },
1173 | "engines": {
1174 | "node": ">=0.10.0"
1175 | }
1176 | },
1177 | "node_modules/global-prefix": {
1178 | "version": "1.0.2",
1179 | "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
1180 | "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==",
1181 | "dev": true,
1182 | "dependencies": {
1183 | "expand-tilde": "^2.0.2",
1184 | "homedir-polyfill": "^1.0.1",
1185 | "ini": "^1.3.4",
1186 | "is-windows": "^1.0.1",
1187 | "which": "^1.2.14"
1188 | },
1189 | "engines": {
1190 | "node": ">=0.10.0"
1191 | }
1192 | },
1193 | "node_modules/global-prefix/node_modules/which": {
1194 | "version": "1.3.1",
1195 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
1196 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
1197 | "dev": true,
1198 | "dependencies": {
1199 | "isexe": "^2.0.0"
1200 | },
1201 | "bin": {
1202 | "which": "bin/which"
1203 | }
1204 | },
1205 | "node_modules/globule": {
1206 | "version": "1.3.4",
1207 | "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.4.tgz",
1208 | "integrity": "sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==",
1209 | "dev": true,
1210 | "dependencies": {
1211 | "glob": "~7.1.1",
1212 | "lodash": "^4.17.21",
1213 | "minimatch": "~3.0.2"
1214 | },
1215 | "engines": {
1216 | "node": ">= 0.10"
1217 | }
1218 | },
1219 | "node_modules/gopd": {
1220 | "version": "1.2.0",
1221 | "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
1222 | "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
1223 | "dev": true,
1224 | "engines": {
1225 | "node": ">= 0.4"
1226 | },
1227 | "funding": {
1228 | "url": "https://github.com/sponsors/ljharb"
1229 | }
1230 | },
1231 | "node_modules/grunt": {
1232 | "version": "1.6.1",
1233 | "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.6.1.tgz",
1234 | "integrity": "sha512-/ABUy3gYWu5iBmrUSRBP97JLpQUm0GgVveDCp6t3yRNIoltIYw7rEj3g5y1o2PGPR2vfTRGa7WC/LZHLTXnEzA==",
1235 | "dev": true,
1236 | "dependencies": {
1237 | "dateformat": "~4.6.2",
1238 | "eventemitter2": "~0.4.13",
1239 | "exit": "~0.1.2",
1240 | "findup-sync": "~5.0.0",
1241 | "glob": "~7.1.6",
1242 | "grunt-cli": "~1.4.3",
1243 | "grunt-known-options": "~2.0.0",
1244 | "grunt-legacy-log": "~3.0.0",
1245 | "grunt-legacy-util": "~2.0.1",
1246 | "iconv-lite": "~0.6.3",
1247 | "js-yaml": "~3.14.0",
1248 | "minimatch": "~3.0.4",
1249 | "nopt": "~3.0.6"
1250 | },
1251 | "bin": {
1252 | "grunt": "bin/grunt"
1253 | },
1254 | "engines": {
1255 | "node": ">=16"
1256 | }
1257 | },
1258 | "node_modules/grunt-cli": {
1259 | "version": "1.4.3",
1260 | "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz",
1261 | "integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==",
1262 | "dev": true,
1263 | "dependencies": {
1264 | "grunt-known-options": "~2.0.0",
1265 | "interpret": "~1.1.0",
1266 | "liftup": "~3.0.1",
1267 | "nopt": "~4.0.1",
1268 | "v8flags": "~3.2.0"
1269 | },
1270 | "bin": {
1271 | "grunt": "bin/grunt"
1272 | },
1273 | "engines": {
1274 | "node": ">=10"
1275 | }
1276 | },
1277 | "node_modules/grunt-cli/node_modules/nopt": {
1278 | "version": "4.0.3",
1279 | "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
1280 | "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
1281 | "dev": true,
1282 | "dependencies": {
1283 | "abbrev": "1",
1284 | "osenv": "^0.1.4"
1285 | },
1286 | "bin": {
1287 | "nopt": "bin/nopt.js"
1288 | }
1289 | },
1290 | "node_modules/grunt-contrib-watch": {
1291 | "version": "1.1.0",
1292 | "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.1.0.tgz",
1293 | "integrity": "sha512-yGweN+0DW5yM+oo58fRu/XIRrPcn3r4tQx+nL7eMRwjpvk+rQY6R8o94BPK0i2UhTg9FN21hS+m8vR8v9vXfeg==",
1294 | "dev": true,
1295 | "dependencies": {
1296 | "async": "^2.6.0",
1297 | "gaze": "^1.1.0",
1298 | "lodash": "^4.17.10",
1299 | "tiny-lr": "^1.1.1"
1300 | },
1301 | "engines": {
1302 | "node": ">=0.10.0"
1303 | }
1304 | },
1305 | "node_modules/grunt-html-build": {
1306 | "version": "0.7.1",
1307 | "resolved": "https://registry.npmjs.org/grunt-html-build/-/grunt-html-build-0.7.1.tgz",
1308 | "integrity": "sha512-UlYSi8VyU9a1lwxCOY98rSf5svHv6FHGxK4Ne+3aNWQROIfSA6/JwGmKC9eXWpLkmKSmcTgrgs/xFp9GqOgAgQ==",
1309 | "dev": true,
1310 | "dependencies": {
1311 | "js-beautify": "^1.6.2",
1312 | "lodash": "^4.12.0"
1313 | }
1314 | },
1315 | "node_modules/grunt-known-options": {
1316 | "version": "2.0.0",
1317 | "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-2.0.0.tgz",
1318 | "integrity": "sha512-GD7cTz0I4SAede1/+pAbmJRG44zFLPipVtdL9o3vqx9IEyb7b4/Y3s7r6ofI3CchR5GvYJ+8buCSioDv5dQLiA==",
1319 | "dev": true,
1320 | "engines": {
1321 | "node": ">=0.10.0"
1322 | }
1323 | },
1324 | "node_modules/grunt-legacy-log": {
1325 | "version": "3.0.0",
1326 | "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-3.0.0.tgz",
1327 | "integrity": "sha512-GHZQzZmhyq0u3hr7aHW4qUH0xDzwp2YXldLPZTCjlOeGscAOWWPftZG3XioW8MasGp+OBRIu39LFx14SLjXRcA==",
1328 | "dev": true,
1329 | "dependencies": {
1330 | "colors": "~1.1.2",
1331 | "grunt-legacy-log-utils": "~2.1.0",
1332 | "hooker": "~0.2.3",
1333 | "lodash": "~4.17.19"
1334 | },
1335 | "engines": {
1336 | "node": ">= 0.10.0"
1337 | }
1338 | },
1339 | "node_modules/grunt-legacy-log-utils": {
1340 | "version": "2.1.0",
1341 | "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.1.0.tgz",
1342 | "integrity": "sha512-lwquaPXJtKQk0rUM1IQAop5noEpwFqOXasVoedLeNzaibf/OPWjKYvvdqnEHNmU+0T0CaReAXIbGo747ZD+Aaw==",
1343 | "dev": true,
1344 | "dependencies": {
1345 | "chalk": "~4.1.0",
1346 | "lodash": "~4.17.19"
1347 | },
1348 | "engines": {
1349 | "node": ">=10"
1350 | }
1351 | },
1352 | "node_modules/grunt-legacy-util": {
1353 | "version": "2.0.1",
1354 | "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.1.tgz",
1355 | "integrity": "sha512-2bQiD4fzXqX8rhNdXkAywCadeqiPiay0oQny77wA2F3WF4grPJXCvAcyoWUJV+po/b15glGkxuSiQCK299UC2w==",
1356 | "dev": true,
1357 | "dependencies": {
1358 | "async": "~3.2.0",
1359 | "exit": "~0.1.2",
1360 | "getobject": "~1.0.0",
1361 | "hooker": "~0.2.3",
1362 | "lodash": "~4.17.21",
1363 | "underscore.string": "~3.3.5",
1364 | "which": "~2.0.2"
1365 | },
1366 | "engines": {
1367 | "node": ">=10"
1368 | }
1369 | },
1370 | "node_modules/grunt-legacy-util/node_modules/async": {
1371 | "version": "3.2.6",
1372 | "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
1373 | "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==",
1374 | "dev": true
1375 | },
1376 | "node_modules/grunt-postcss": {
1377 | "version": "0.9.0",
1378 | "resolved": "https://registry.npmjs.org/grunt-postcss/-/grunt-postcss-0.9.0.tgz",
1379 | "integrity": "sha512-lglLcVaoOIqH0sFv7RqwUKkEFGQwnlqyAKbatxZderwZGV1nDyKHN7gZS9LUiTx1t5GOvRBx0BEalHMyVwFAIA==",
1380 | "dev": true,
1381 | "dependencies": {
1382 | "chalk": "^2.1.0",
1383 | "diff": "^3.0.0",
1384 | "postcss": "^6.0.11"
1385 | },
1386 | "engines": {
1387 | "node": ">= 0.12.0"
1388 | },
1389 | "peerDependencies": {
1390 | "grunt": ">=0.4.5"
1391 | }
1392 | },
1393 | "node_modules/grunt-postcss/node_modules/ansi-styles": {
1394 | "version": "3.2.1",
1395 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
1396 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
1397 | "dev": true,
1398 | "dependencies": {
1399 | "color-convert": "^1.9.0"
1400 | },
1401 | "engines": {
1402 | "node": ">=4"
1403 | }
1404 | },
1405 | "node_modules/grunt-postcss/node_modules/chalk": {
1406 | "version": "2.4.2",
1407 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
1408 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
1409 | "dev": true,
1410 | "dependencies": {
1411 | "ansi-styles": "^3.2.1",
1412 | "escape-string-regexp": "^1.0.5",
1413 | "supports-color": "^5.3.0"
1414 | },
1415 | "engines": {
1416 | "node": ">=4"
1417 | }
1418 | },
1419 | "node_modules/grunt-postcss/node_modules/color-convert": {
1420 | "version": "1.9.3",
1421 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
1422 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
1423 | "dev": true,
1424 | "dependencies": {
1425 | "color-name": "1.1.3"
1426 | }
1427 | },
1428 | "node_modules/grunt-postcss/node_modules/color-name": {
1429 | "version": "1.1.3",
1430 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
1431 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
1432 | "dev": true
1433 | },
1434 | "node_modules/grunt-postcss/node_modules/has-flag": {
1435 | "version": "3.0.0",
1436 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
1437 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
1438 | "dev": true,
1439 | "engines": {
1440 | "node": ">=4"
1441 | }
1442 | },
1443 | "node_modules/grunt-postcss/node_modules/postcss": {
1444 | "version": "6.0.23",
1445 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
1446 | "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
1447 | "dev": true,
1448 | "dependencies": {
1449 | "chalk": "^2.4.1",
1450 | "source-map": "^0.6.1",
1451 | "supports-color": "^5.4.0"
1452 | },
1453 | "engines": {
1454 | "node": ">=4.0.0"
1455 | }
1456 | },
1457 | "node_modules/grunt-postcss/node_modules/supports-color": {
1458 | "version": "5.5.0",
1459 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
1460 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
1461 | "dev": true,
1462 | "dependencies": {
1463 | "has-flag": "^3.0.0"
1464 | },
1465 | "engines": {
1466 | "node": ">=4"
1467 | }
1468 | },
1469 | "node_modules/grunt-sass": {
1470 | "version": "4.0.0",
1471 | "resolved": "https://registry.npmjs.org/grunt-sass/-/grunt-sass-4.0.0.tgz",
1472 | "integrity": "sha512-J9JvhVByJaIBjqPvFs/bOrRb9Wa2wVeSM5bRzjD8YiwuEi03tdIPI9OXuygq35z/eTurcO4yxsF5MU8nHdH11w==",
1473 | "dev": true,
1474 | "engines": {
1475 | "node": ">=18"
1476 | },
1477 | "funding": {
1478 | "url": "https://github.com/sponsors/sindresorhus"
1479 | },
1480 | "peerDependencies": {
1481 | "grunt": ">=1"
1482 | }
1483 | },
1484 | "node_modules/has-flag": {
1485 | "version": "4.0.0",
1486 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
1487 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
1488 | "dev": true,
1489 | "engines": {
1490 | "node": ">=8"
1491 | }
1492 | },
1493 | "node_modules/has-symbols": {
1494 | "version": "1.1.0",
1495 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
1496 | "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
1497 | "dev": true,
1498 | "engines": {
1499 | "node": ">= 0.4"
1500 | },
1501 | "funding": {
1502 | "url": "https://github.com/sponsors/ljharb"
1503 | }
1504 | },
1505 | "node_modules/hasown": {
1506 | "version": "2.0.2",
1507 | "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
1508 | "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
1509 | "dev": true,
1510 | "dependencies": {
1511 | "function-bind": "^1.1.2"
1512 | },
1513 | "engines": {
1514 | "node": ">= 0.4"
1515 | }
1516 | },
1517 | "node_modules/homedir-polyfill": {
1518 | "version": "1.0.3",
1519 | "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
1520 | "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
1521 | "dev": true,
1522 | "dependencies": {
1523 | "parse-passwd": "^1.0.0"
1524 | },
1525 | "engines": {
1526 | "node": ">=0.10.0"
1527 | }
1528 | },
1529 | "node_modules/hooker": {
1530 | "version": "0.2.3",
1531 | "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz",
1532 | "integrity": "sha512-t+UerCsQviSymAInD01Pw+Dn/usmz1sRO+3Zk1+lx8eg+WKpD2ulcwWqHHL0+aseRBr+3+vIhiG1K1JTwaIcTA==",
1533 | "dev": true,
1534 | "engines": {
1535 | "node": "*"
1536 | }
1537 | },
1538 | "node_modules/http-parser-js": {
1539 | "version": "0.5.10",
1540 | "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz",
1541 | "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==",
1542 | "dev": true
1543 | },
1544 | "node_modules/iconv-lite": {
1545 | "version": "0.6.3",
1546 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
1547 | "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
1548 | "dev": true,
1549 | "dependencies": {
1550 | "safer-buffer": ">= 2.1.2 < 3.0.0"
1551 | },
1552 | "engines": {
1553 | "node": ">=0.10.0"
1554 | }
1555 | },
1556 | "node_modules/immutable": {
1557 | "version": "5.1.3",
1558 | "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.3.tgz",
1559 | "integrity": "sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==",
1560 | "dev": true
1561 | },
1562 | "node_modules/inflight": {
1563 | "version": "1.0.6",
1564 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1565 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
1566 | "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
1567 | "dev": true,
1568 | "dependencies": {
1569 | "once": "^1.3.0",
1570 | "wrappy": "1"
1571 | }
1572 | },
1573 | "node_modules/inherits": {
1574 | "version": "2.0.4",
1575 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1576 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
1577 | "dev": true
1578 | },
1579 | "node_modules/ini": {
1580 | "version": "1.3.8",
1581 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
1582 | "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
1583 | "dev": true
1584 | },
1585 | "node_modules/interpret": {
1586 | "version": "1.1.0",
1587 | "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
1588 | "integrity": "sha512-CLM8SNMDu7C5psFCn6Wg/tgpj/bKAg7hc2gWqcuR9OD5Ft9PhBpIu8PLicPeis+xDd6YX2ncI8MCA64I9tftIA==",
1589 | "dev": true
1590 | },
1591 | "node_modules/is-absolute": {
1592 | "version": "1.0.0",
1593 | "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
1594 | "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
1595 | "dev": true,
1596 | "dependencies": {
1597 | "is-relative": "^1.0.0",
1598 | "is-windows": "^1.0.1"
1599 | },
1600 | "engines": {
1601 | "node": ">=0.10.0"
1602 | }
1603 | },
1604 | "node_modules/is-core-module": {
1605 | "version": "2.16.1",
1606 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
1607 | "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
1608 | "dev": true,
1609 | "dependencies": {
1610 | "hasown": "^2.0.2"
1611 | },
1612 | "engines": {
1613 | "node": ">= 0.4"
1614 | },
1615 | "funding": {
1616 | "url": "https://github.com/sponsors/ljharb"
1617 | }
1618 | },
1619 | "node_modules/is-extglob": {
1620 | "version": "2.1.1",
1621 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
1622 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
1623 | "dev": true,
1624 | "engines": {
1625 | "node": ">=0.10.0"
1626 | }
1627 | },
1628 | "node_modules/is-fullwidth-code-point": {
1629 | "version": "3.0.0",
1630 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
1631 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
1632 | "dev": true,
1633 | "engines": {
1634 | "node": ">=8"
1635 | }
1636 | },
1637 | "node_modules/is-glob": {
1638 | "version": "4.0.3",
1639 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
1640 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
1641 | "dev": true,
1642 | "dependencies": {
1643 | "is-extglob": "^2.1.1"
1644 | },
1645 | "engines": {
1646 | "node": ">=0.10.0"
1647 | }
1648 | },
1649 | "node_modules/is-number": {
1650 | "version": "7.0.0",
1651 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
1652 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
1653 | "dev": true,
1654 | "engines": {
1655 | "node": ">=0.12.0"
1656 | }
1657 | },
1658 | "node_modules/is-plain-object": {
1659 | "version": "2.0.4",
1660 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
1661 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
1662 | "dev": true,
1663 | "dependencies": {
1664 | "isobject": "^3.0.1"
1665 | },
1666 | "engines": {
1667 | "node": ">=0.10.0"
1668 | }
1669 | },
1670 | "node_modules/is-relative": {
1671 | "version": "1.0.0",
1672 | "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
1673 | "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
1674 | "dev": true,
1675 | "dependencies": {
1676 | "is-unc-path": "^1.0.0"
1677 | },
1678 | "engines": {
1679 | "node": ">=0.10.0"
1680 | }
1681 | },
1682 | "node_modules/is-unc-path": {
1683 | "version": "1.0.0",
1684 | "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
1685 | "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
1686 | "dev": true,
1687 | "dependencies": {
1688 | "unc-path-regex": "^0.1.2"
1689 | },
1690 | "engines": {
1691 | "node": ">=0.10.0"
1692 | }
1693 | },
1694 | "node_modules/is-windows": {
1695 | "version": "1.0.2",
1696 | "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
1697 | "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
1698 | "dev": true,
1699 | "engines": {
1700 | "node": ">=0.10.0"
1701 | }
1702 | },
1703 | "node_modules/isexe": {
1704 | "version": "2.0.0",
1705 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1706 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
1707 | "dev": true
1708 | },
1709 | "node_modules/isobject": {
1710 | "version": "3.0.1",
1711 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
1712 | "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
1713 | "dev": true,
1714 | "engines": {
1715 | "node": ">=0.10.0"
1716 | }
1717 | },
1718 | "node_modules/jackspeak": {
1719 | "version": "3.4.3",
1720 | "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
1721 | "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
1722 | "dev": true,
1723 | "dependencies": {
1724 | "@isaacs/cliui": "^8.0.2"
1725 | },
1726 | "funding": {
1727 | "url": "https://github.com/sponsors/isaacs"
1728 | },
1729 | "optionalDependencies": {
1730 | "@pkgjs/parseargs": "^0.11.0"
1731 | }
1732 | },
1733 | "node_modules/js-beautify": {
1734 | "version": "1.15.4",
1735 | "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.15.4.tgz",
1736 | "integrity": "sha512-9/KXeZUKKJwqCXUdBxFJ3vPh467OCckSBmYDwSK/EtV090K+iMJ7zx2S3HLVDIWFQdqMIsZWbnaGiba18aWhaA==",
1737 | "dev": true,
1738 | "dependencies": {
1739 | "config-chain": "^1.1.13",
1740 | "editorconfig": "^1.0.4",
1741 | "glob": "^10.4.2",
1742 | "js-cookie": "^3.0.5",
1743 | "nopt": "^7.2.1"
1744 | },
1745 | "bin": {
1746 | "css-beautify": "js/bin/css-beautify.js",
1747 | "html-beautify": "js/bin/html-beautify.js",
1748 | "js-beautify": "js/bin/js-beautify.js"
1749 | },
1750 | "engines": {
1751 | "node": ">=14"
1752 | }
1753 | },
1754 | "node_modules/js-beautify/node_modules/abbrev": {
1755 | "version": "2.0.0",
1756 | "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz",
1757 | "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==",
1758 | "dev": true,
1759 | "engines": {
1760 | "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
1761 | }
1762 | },
1763 | "node_modules/js-beautify/node_modules/brace-expansion": {
1764 | "version": "2.0.2",
1765 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
1766 | "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
1767 | "dev": true,
1768 | "dependencies": {
1769 | "balanced-match": "^1.0.0"
1770 | }
1771 | },
1772 | "node_modules/js-beautify/node_modules/glob": {
1773 | "version": "10.4.5",
1774 | "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
1775 | "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
1776 | "dev": true,
1777 | "dependencies": {
1778 | "foreground-child": "^3.1.0",
1779 | "jackspeak": "^3.1.2",
1780 | "minimatch": "^9.0.4",
1781 | "minipass": "^7.1.2",
1782 | "package-json-from-dist": "^1.0.0",
1783 | "path-scurry": "^1.11.1"
1784 | },
1785 | "bin": {
1786 | "glob": "dist/esm/bin.mjs"
1787 | },
1788 | "funding": {
1789 | "url": "https://github.com/sponsors/isaacs"
1790 | }
1791 | },
1792 | "node_modules/js-beautify/node_modules/minimatch": {
1793 | "version": "9.0.5",
1794 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
1795 | "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
1796 | "dev": true,
1797 | "dependencies": {
1798 | "brace-expansion": "^2.0.1"
1799 | },
1800 | "engines": {
1801 | "node": ">=16 || 14 >=14.17"
1802 | },
1803 | "funding": {
1804 | "url": "https://github.com/sponsors/isaacs"
1805 | }
1806 | },
1807 | "node_modules/js-beautify/node_modules/nopt": {
1808 | "version": "7.2.1",
1809 | "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz",
1810 | "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==",
1811 | "dev": true,
1812 | "dependencies": {
1813 | "abbrev": "^2.0.0"
1814 | },
1815 | "bin": {
1816 | "nopt": "bin/nopt.js"
1817 | },
1818 | "engines": {
1819 | "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
1820 | }
1821 | },
1822 | "node_modules/js-cookie": {
1823 | "version": "3.0.5",
1824 | "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz",
1825 | "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==",
1826 | "dev": true,
1827 | "engines": {
1828 | "node": ">=14"
1829 | }
1830 | },
1831 | "node_modules/js-yaml": {
1832 | "version": "3.14.1",
1833 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
1834 | "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
1835 | "dev": true,
1836 | "dependencies": {
1837 | "argparse": "^1.0.7",
1838 | "esprima": "^4.0.0"
1839 | },
1840 | "bin": {
1841 | "js-yaml": "bin/js-yaml.js"
1842 | }
1843 | },
1844 | "node_modules/kind-of": {
1845 | "version": "6.0.3",
1846 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
1847 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
1848 | "dev": true,
1849 | "engines": {
1850 | "node": ">=0.10.0"
1851 | }
1852 | },
1853 | "node_modules/liftup": {
1854 | "version": "3.0.1",
1855 | "resolved": "https://registry.npmjs.org/liftup/-/liftup-3.0.1.tgz",
1856 | "integrity": "sha512-yRHaiQDizWSzoXk3APcA71eOI/UuhEkNN9DiW2Tt44mhYzX4joFoCZlxsSOF7RyeLlfqzFLQI1ngFq3ggMPhOw==",
1857 | "dev": true,
1858 | "dependencies": {
1859 | "extend": "^3.0.2",
1860 | "findup-sync": "^4.0.0",
1861 | "fined": "^1.2.0",
1862 | "flagged-respawn": "^1.0.1",
1863 | "is-plain-object": "^2.0.4",
1864 | "object.map": "^1.0.1",
1865 | "rechoir": "^0.7.0",
1866 | "resolve": "^1.19.0"
1867 | },
1868 | "engines": {
1869 | "node": ">=10"
1870 | }
1871 | },
1872 | "node_modules/liftup/node_modules/findup-sync": {
1873 | "version": "4.0.0",
1874 | "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz",
1875 | "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==",
1876 | "dev": true,
1877 | "dependencies": {
1878 | "detect-file": "^1.0.0",
1879 | "is-glob": "^4.0.0",
1880 | "micromatch": "^4.0.2",
1881 | "resolve-dir": "^1.0.1"
1882 | },
1883 | "engines": {
1884 | "node": ">= 8"
1885 | }
1886 | },
1887 | "node_modules/livereload-js": {
1888 | "version": "2.4.0",
1889 | "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz",
1890 | "integrity": "sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==",
1891 | "dev": true
1892 | },
1893 | "node_modules/load-grunt-tasks": {
1894 | "version": "3.5.2",
1895 | "resolved": "https://registry.npmjs.org/load-grunt-tasks/-/load-grunt-tasks-3.5.2.tgz",
1896 | "integrity": "sha512-dwBbJ+Fmf1IrtASRdgT/KJNtczdlm+R3iLSi8KOGdCGl4V05uA055JHtafIXTyk5EJ1zDZbmEHndOQwU6uj8Jw==",
1897 | "dev": true,
1898 | "dependencies": {
1899 | "arrify": "^1.0.0",
1900 | "multimatch": "^2.0.0",
1901 | "pkg-up": "^1.0.0",
1902 | "resolve-pkg": "^0.1.0"
1903 | },
1904 | "engines": {
1905 | "node": ">=0.10.0"
1906 | },
1907 | "peerDependencies": {
1908 | "grunt": ">=0.4.0"
1909 | }
1910 | },
1911 | "node_modules/lodash": {
1912 | "version": "4.17.21",
1913 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
1914 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
1915 | "dev": true
1916 | },
1917 | "node_modules/lru-cache": {
1918 | "version": "10.4.3",
1919 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
1920 | "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
1921 | "dev": true
1922 | },
1923 | "node_modules/make-iterator": {
1924 | "version": "1.0.1",
1925 | "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
1926 | "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
1927 | "dev": true,
1928 | "dependencies": {
1929 | "kind-of": "^6.0.2"
1930 | },
1931 | "engines": {
1932 | "node": ">=0.10.0"
1933 | }
1934 | },
1935 | "node_modules/map-cache": {
1936 | "version": "0.2.2",
1937 | "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
1938 | "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==",
1939 | "dev": true,
1940 | "engines": {
1941 | "node": ">=0.10.0"
1942 | }
1943 | },
1944 | "node_modules/math-intrinsics": {
1945 | "version": "1.1.0",
1946 | "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
1947 | "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
1948 | "dev": true,
1949 | "engines": {
1950 | "node": ">= 0.4"
1951 | }
1952 | },
1953 | "node_modules/micromatch": {
1954 | "version": "4.0.8",
1955 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
1956 | "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
1957 | "dev": true,
1958 | "dependencies": {
1959 | "braces": "^3.0.3",
1960 | "picomatch": "^2.3.1"
1961 | },
1962 | "engines": {
1963 | "node": ">=8.6"
1964 | }
1965 | },
1966 | "node_modules/minimatch": {
1967 | "version": "3.0.8",
1968 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz",
1969 | "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==",
1970 | "dev": true,
1971 | "dependencies": {
1972 | "brace-expansion": "^1.1.7"
1973 | },
1974 | "engines": {
1975 | "node": "*"
1976 | }
1977 | },
1978 | "node_modules/minipass": {
1979 | "version": "7.1.2",
1980 | "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
1981 | "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
1982 | "dev": true,
1983 | "engines": {
1984 | "node": ">=16 || 14 >=14.17"
1985 | }
1986 | },
1987 | "node_modules/ms": {
1988 | "version": "2.1.3",
1989 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
1990 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
1991 | "dev": true
1992 | },
1993 | "node_modules/multimatch": {
1994 | "version": "2.1.0",
1995 | "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz",
1996 | "integrity": "sha512-0mzK8ymiWdehTBiJh0vClAzGyQbdtyWqzSVx//EK4N/D+599RFlGfTAsKw2zMSABtDG9C6Ul2+t8f2Lbdjf5mA==",
1997 | "dev": true,
1998 | "dependencies": {
1999 | "array-differ": "^1.0.0",
2000 | "array-union": "^1.0.1",
2001 | "arrify": "^1.0.0",
2002 | "minimatch": "^3.0.0"
2003 | },
2004 | "engines": {
2005 | "node": ">=0.10.0"
2006 | }
2007 | },
2008 | "node_modules/nanoid": {
2009 | "version": "3.3.11",
2010 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
2011 | "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
2012 | "dev": true,
2013 | "funding": [
2014 | {
2015 | "type": "github",
2016 | "url": "https://github.com/sponsors/ai"
2017 | }
2018 | ],
2019 | "bin": {
2020 | "nanoid": "bin/nanoid.cjs"
2021 | },
2022 | "engines": {
2023 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
2024 | }
2025 | },
2026 | "node_modules/node-addon-api": {
2027 | "version": "7.1.1",
2028 | "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
2029 | "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
2030 | "dev": true,
2031 | "optional": true
2032 | },
2033 | "node_modules/node-releases": {
2034 | "version": "2.0.19",
2035 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
2036 | "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==",
2037 | "dev": true
2038 | },
2039 | "node_modules/nopt": {
2040 | "version": "3.0.6",
2041 | "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
2042 | "integrity": "sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==",
2043 | "dev": true,
2044 | "dependencies": {
2045 | "abbrev": "1"
2046 | },
2047 | "bin": {
2048 | "nopt": "bin/nopt.js"
2049 | }
2050 | },
2051 | "node_modules/normalize-range": {
2052 | "version": "0.1.2",
2053 | "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
2054 | "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
2055 | "dev": true,
2056 | "engines": {
2057 | "node": ">=0.10.0"
2058 | }
2059 | },
2060 | "node_modules/num2fraction": {
2061 | "version": "1.2.2",
2062 | "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
2063 | "integrity": "sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==",
2064 | "dev": true
2065 | },
2066 | "node_modules/object-assign": {
2067 | "version": "4.1.1",
2068 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
2069 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
2070 | "dev": true,
2071 | "engines": {
2072 | "node": ">=0.10.0"
2073 | }
2074 | },
2075 | "node_modules/object-inspect": {
2076 | "version": "1.13.4",
2077 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
2078 | "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
2079 | "dev": true,
2080 | "engines": {
2081 | "node": ">= 0.4"
2082 | },
2083 | "funding": {
2084 | "url": "https://github.com/sponsors/ljharb"
2085 | }
2086 | },
2087 | "node_modules/object.defaults": {
2088 | "version": "1.1.0",
2089 | "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
2090 | "integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==",
2091 | "dev": true,
2092 | "dependencies": {
2093 | "array-each": "^1.0.1",
2094 | "array-slice": "^1.0.0",
2095 | "for-own": "^1.0.0",
2096 | "isobject": "^3.0.0"
2097 | },
2098 | "engines": {
2099 | "node": ">=0.10.0"
2100 | }
2101 | },
2102 | "node_modules/object.map": {
2103 | "version": "1.0.1",
2104 | "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
2105 | "integrity": "sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==",
2106 | "dev": true,
2107 | "dependencies": {
2108 | "for-own": "^1.0.0",
2109 | "make-iterator": "^1.0.0"
2110 | },
2111 | "engines": {
2112 | "node": ">=0.10.0"
2113 | }
2114 | },
2115 | "node_modules/object.pick": {
2116 | "version": "1.3.0",
2117 | "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
2118 | "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==",
2119 | "dev": true,
2120 | "dependencies": {
2121 | "isobject": "^3.0.1"
2122 | },
2123 | "engines": {
2124 | "node": ">=0.10.0"
2125 | }
2126 | },
2127 | "node_modules/once": {
2128 | "version": "1.4.0",
2129 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
2130 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
2131 | "dev": true,
2132 | "dependencies": {
2133 | "wrappy": "1"
2134 | }
2135 | },
2136 | "node_modules/os-homedir": {
2137 | "version": "1.0.2",
2138 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
2139 | "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==",
2140 | "dev": true,
2141 | "engines": {
2142 | "node": ">=0.10.0"
2143 | }
2144 | },
2145 | "node_modules/os-tmpdir": {
2146 | "version": "1.0.2",
2147 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
2148 | "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
2149 | "dev": true,
2150 | "engines": {
2151 | "node": ">=0.10.0"
2152 | }
2153 | },
2154 | "node_modules/osenv": {
2155 | "version": "0.1.5",
2156 | "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
2157 | "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
2158 | "deprecated": "This package is no longer supported.",
2159 | "dev": true,
2160 | "dependencies": {
2161 | "os-homedir": "^1.0.0",
2162 | "os-tmpdir": "^1.0.0"
2163 | }
2164 | },
2165 | "node_modules/package-json-from-dist": {
2166 | "version": "1.0.1",
2167 | "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
2168 | "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
2169 | "dev": true
2170 | },
2171 | "node_modules/parse-filepath": {
2172 | "version": "1.0.2",
2173 | "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
2174 | "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==",
2175 | "dev": true,
2176 | "dependencies": {
2177 | "is-absolute": "^1.0.0",
2178 | "map-cache": "^0.2.0",
2179 | "path-root": "^0.1.1"
2180 | },
2181 | "engines": {
2182 | "node": ">=0.8"
2183 | }
2184 | },
2185 | "node_modules/parse-passwd": {
2186 | "version": "1.0.0",
2187 | "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
2188 | "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==",
2189 | "dev": true,
2190 | "engines": {
2191 | "node": ">=0.10.0"
2192 | }
2193 | },
2194 | "node_modules/path-exists": {
2195 | "version": "2.1.0",
2196 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
2197 | "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==",
2198 | "dev": true,
2199 | "dependencies": {
2200 | "pinkie-promise": "^2.0.0"
2201 | },
2202 | "engines": {
2203 | "node": ">=0.10.0"
2204 | }
2205 | },
2206 | "node_modules/path-is-absolute": {
2207 | "version": "1.0.1",
2208 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
2209 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
2210 | "dev": true,
2211 | "engines": {
2212 | "node": ">=0.10.0"
2213 | }
2214 | },
2215 | "node_modules/path-key": {
2216 | "version": "3.1.1",
2217 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
2218 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
2219 | "dev": true,
2220 | "engines": {
2221 | "node": ">=8"
2222 | }
2223 | },
2224 | "node_modules/path-parse": {
2225 | "version": "1.0.7",
2226 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
2227 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
2228 | "dev": true
2229 | },
2230 | "node_modules/path-root": {
2231 | "version": "0.1.1",
2232 | "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
2233 | "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==",
2234 | "dev": true,
2235 | "dependencies": {
2236 | "path-root-regex": "^0.1.0"
2237 | },
2238 | "engines": {
2239 | "node": ">=0.10.0"
2240 | }
2241 | },
2242 | "node_modules/path-root-regex": {
2243 | "version": "0.1.2",
2244 | "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
2245 | "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==",
2246 | "dev": true,
2247 | "engines": {
2248 | "node": ">=0.10.0"
2249 | }
2250 | },
2251 | "node_modules/path-scurry": {
2252 | "version": "1.11.1",
2253 | "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
2254 | "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
2255 | "dev": true,
2256 | "dependencies": {
2257 | "lru-cache": "^10.2.0",
2258 | "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
2259 | },
2260 | "engines": {
2261 | "node": ">=16 || 14 >=14.18"
2262 | },
2263 | "funding": {
2264 | "url": "https://github.com/sponsors/isaacs"
2265 | }
2266 | },
2267 | "node_modules/picocolors": {
2268 | "version": "0.2.1",
2269 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
2270 | "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==",
2271 | "dev": true
2272 | },
2273 | "node_modules/picomatch": {
2274 | "version": "2.3.1",
2275 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
2276 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
2277 | "dev": true,
2278 | "engines": {
2279 | "node": ">=8.6"
2280 | },
2281 | "funding": {
2282 | "url": "https://github.com/sponsors/jonschlinkert"
2283 | }
2284 | },
2285 | "node_modules/pinkie": {
2286 | "version": "2.0.4",
2287 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
2288 | "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==",
2289 | "dev": true,
2290 | "engines": {
2291 | "node": ">=0.10.0"
2292 | }
2293 | },
2294 | "node_modules/pinkie-promise": {
2295 | "version": "2.0.1",
2296 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
2297 | "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==",
2298 | "dev": true,
2299 | "dependencies": {
2300 | "pinkie": "^2.0.0"
2301 | },
2302 | "engines": {
2303 | "node": ">=0.10.0"
2304 | }
2305 | },
2306 | "node_modules/pkg-up": {
2307 | "version": "1.0.0",
2308 | "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz",
2309 | "integrity": "sha512-L+d849d9lz20hnRpUnWBRXOh+mAvygQpK7UuXiw+6QbPwL55RVgl+G+V936wCzs/6J7fj0pvgLY9OknZ+FqaNA==",
2310 | "dev": true,
2311 | "dependencies": {
2312 | "find-up": "^1.0.0"
2313 | },
2314 | "engines": {
2315 | "node": ">=0.10.0"
2316 | }
2317 | },
2318 | "node_modules/postcss": {
2319 | "version": "8.5.6",
2320 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
2321 | "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
2322 | "dev": true,
2323 | "funding": [
2324 | {
2325 | "type": "opencollective",
2326 | "url": "https://opencollective.com/postcss/"
2327 | },
2328 | {
2329 | "type": "tidelift",
2330 | "url": "https://tidelift.com/funding/github/npm/postcss"
2331 | },
2332 | {
2333 | "type": "github",
2334 | "url": "https://github.com/sponsors/ai"
2335 | }
2336 | ],
2337 | "dependencies": {
2338 | "nanoid": "^3.3.11",
2339 | "picocolors": "^1.1.1",
2340 | "source-map-js": "^1.2.1"
2341 | },
2342 | "engines": {
2343 | "node": "^10 || ^12 || >=14"
2344 | }
2345 | },
2346 | "node_modules/postcss-value-parser": {
2347 | "version": "4.2.0",
2348 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
2349 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
2350 | "dev": true
2351 | },
2352 | "node_modules/postcss/node_modules/picocolors": {
2353 | "version": "1.1.1",
2354 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
2355 | "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
2356 | "dev": true
2357 | },
2358 | "node_modules/proto-list": {
2359 | "version": "1.2.4",
2360 | "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
2361 | "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==",
2362 | "dev": true
2363 | },
2364 | "node_modules/qs": {
2365 | "version": "6.14.0",
2366 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz",
2367 | "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==",
2368 | "dev": true,
2369 | "dependencies": {
2370 | "side-channel": "^1.1.0"
2371 | },
2372 | "engines": {
2373 | "node": ">=0.6"
2374 | },
2375 | "funding": {
2376 | "url": "https://github.com/sponsors/ljharb"
2377 | }
2378 | },
2379 | "node_modules/raw-body": {
2380 | "version": "1.1.7",
2381 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz",
2382 | "integrity": "sha512-WmJJU2e9Y6M5UzTOkHaM7xJGAPQD8PNzx3bAd2+uhZAim6wDk6dAZxPVYLF67XhbR4hmKGh33Lpmh4XWrCH5Mg==",
2383 | "dev": true,
2384 | "dependencies": {
2385 | "bytes": "1",
2386 | "string_decoder": "0.10"
2387 | },
2388 | "engines": {
2389 | "node": ">= 0.8.0"
2390 | }
2391 | },
2392 | "node_modules/readdirp": {
2393 | "version": "4.1.2",
2394 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
2395 | "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
2396 | "dev": true,
2397 | "engines": {
2398 | "node": ">= 14.18.0"
2399 | },
2400 | "funding": {
2401 | "type": "individual",
2402 | "url": "https://paulmillr.com/funding/"
2403 | }
2404 | },
2405 | "node_modules/rechoir": {
2406 | "version": "0.7.1",
2407 | "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
2408 | "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==",
2409 | "dev": true,
2410 | "dependencies": {
2411 | "resolve": "^1.9.0"
2412 | },
2413 | "engines": {
2414 | "node": ">= 0.10"
2415 | }
2416 | },
2417 | "node_modules/resolve": {
2418 | "version": "1.22.10",
2419 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
2420 | "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==",
2421 | "dev": true,
2422 | "dependencies": {
2423 | "is-core-module": "^2.16.0",
2424 | "path-parse": "^1.0.7",
2425 | "supports-preserve-symlinks-flag": "^1.0.0"
2426 | },
2427 | "bin": {
2428 | "resolve": "bin/resolve"
2429 | },
2430 | "engines": {
2431 | "node": ">= 0.4"
2432 | },
2433 | "funding": {
2434 | "url": "https://github.com/sponsors/ljharb"
2435 | }
2436 | },
2437 | "node_modules/resolve-dir": {
2438 | "version": "1.0.1",
2439 | "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
2440 | "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==",
2441 | "dev": true,
2442 | "dependencies": {
2443 | "expand-tilde": "^2.0.0",
2444 | "global-modules": "^1.0.0"
2445 | },
2446 | "engines": {
2447 | "node": ">=0.10.0"
2448 | }
2449 | },
2450 | "node_modules/resolve-from": {
2451 | "version": "2.0.0",
2452 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz",
2453 | "integrity": "sha512-qpFcKaXsq8+oRoLilkwyc7zHGF5i9Q2/25NIgLQQ/+VVv9rU4qvr6nXVAw1DsnXJyQkZsR4Ytfbtg5ehfcUssQ==",
2454 | "dev": true,
2455 | "engines": {
2456 | "node": ">=0.10.0"
2457 | }
2458 | },
2459 | "node_modules/resolve-pkg": {
2460 | "version": "0.1.0",
2461 | "resolved": "https://registry.npmjs.org/resolve-pkg/-/resolve-pkg-0.1.0.tgz",
2462 | "integrity": "sha512-x11rPP22t6W9p+eSOhDeT6whjFGmsZQf76rDq5gtbgh9UdBxZeR1PuW6sYkCyN/IrD2hpJ0yYn0hE1toHAadEw==",
2463 | "dev": true,
2464 | "dependencies": {
2465 | "resolve-from": "^2.0.0"
2466 | },
2467 | "engines": {
2468 | "node": ">=0.10.0"
2469 | }
2470 | },
2471 | "node_modules/safe-buffer": {
2472 | "version": "5.2.1",
2473 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
2474 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
2475 | "dev": true,
2476 | "funding": [
2477 | {
2478 | "type": "github",
2479 | "url": "https://github.com/sponsors/feross"
2480 | },
2481 | {
2482 | "type": "patreon",
2483 | "url": "https://www.patreon.com/feross"
2484 | },
2485 | {
2486 | "type": "consulting",
2487 | "url": "https://feross.org/support"
2488 | }
2489 | ]
2490 | },
2491 | "node_modules/safe-json-parse": {
2492 | "version": "1.0.1",
2493 | "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz",
2494 | "integrity": "sha512-o0JmTu17WGUaUOHa1l0FPGXKBfijbxK6qoHzlkihsDXxzBHvJcA7zgviKR92Xs841rX9pK16unfphLq0/KqX7A==",
2495 | "dev": true
2496 | },
2497 | "node_modules/safer-buffer": {
2498 | "version": "2.1.2",
2499 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
2500 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
2501 | "dev": true
2502 | },
2503 | "node_modules/sass": {
2504 | "version": "1.89.2",
2505 | "resolved": "https://registry.npmjs.org/sass/-/sass-1.89.2.tgz",
2506 | "integrity": "sha512-xCmtksBKd/jdJ9Bt9p7nPKiuqrlBMBuuGkQlkhZjjQk3Ty48lv93k5Dq6OPkKt4XwxDJ7tvlfrTa1MPA9bf+QA==",
2507 | "dev": true,
2508 | "dependencies": {
2509 | "chokidar": "^4.0.0",
2510 | "immutable": "^5.0.2",
2511 | "source-map-js": ">=0.6.2 <2.0.0"
2512 | },
2513 | "bin": {
2514 | "sass": "sass.js"
2515 | },
2516 | "engines": {
2517 | "node": ">=14.0.0"
2518 | },
2519 | "optionalDependencies": {
2520 | "@parcel/watcher": "^2.4.1"
2521 | }
2522 | },
2523 | "node_modules/semver": {
2524 | "version": "7.7.2",
2525 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
2526 | "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
2527 | "dev": true,
2528 | "bin": {
2529 | "semver": "bin/semver.js"
2530 | },
2531 | "engines": {
2532 | "node": ">=10"
2533 | }
2534 | },
2535 | "node_modules/shebang-command": {
2536 | "version": "2.0.0",
2537 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
2538 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
2539 | "dev": true,
2540 | "dependencies": {
2541 | "shebang-regex": "^3.0.0"
2542 | },
2543 | "engines": {
2544 | "node": ">=8"
2545 | }
2546 | },
2547 | "node_modules/shebang-regex": {
2548 | "version": "3.0.0",
2549 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
2550 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
2551 | "dev": true,
2552 | "engines": {
2553 | "node": ">=8"
2554 | }
2555 | },
2556 | "node_modules/side-channel": {
2557 | "version": "1.1.0",
2558 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
2559 | "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
2560 | "dev": true,
2561 | "dependencies": {
2562 | "es-errors": "^1.3.0",
2563 | "object-inspect": "^1.13.3",
2564 | "side-channel-list": "^1.0.0",
2565 | "side-channel-map": "^1.0.1",
2566 | "side-channel-weakmap": "^1.0.2"
2567 | },
2568 | "engines": {
2569 | "node": ">= 0.4"
2570 | },
2571 | "funding": {
2572 | "url": "https://github.com/sponsors/ljharb"
2573 | }
2574 | },
2575 | "node_modules/side-channel-list": {
2576 | "version": "1.0.0",
2577 | "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
2578 | "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
2579 | "dev": true,
2580 | "dependencies": {
2581 | "es-errors": "^1.3.0",
2582 | "object-inspect": "^1.13.3"
2583 | },
2584 | "engines": {
2585 | "node": ">= 0.4"
2586 | },
2587 | "funding": {
2588 | "url": "https://github.com/sponsors/ljharb"
2589 | }
2590 | },
2591 | "node_modules/side-channel-map": {
2592 | "version": "1.0.1",
2593 | "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
2594 | "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
2595 | "dev": true,
2596 | "dependencies": {
2597 | "call-bound": "^1.0.2",
2598 | "es-errors": "^1.3.0",
2599 | "get-intrinsic": "^1.2.5",
2600 | "object-inspect": "^1.13.3"
2601 | },
2602 | "engines": {
2603 | "node": ">= 0.4"
2604 | },
2605 | "funding": {
2606 | "url": "https://github.com/sponsors/ljharb"
2607 | }
2608 | },
2609 | "node_modules/side-channel-weakmap": {
2610 | "version": "1.0.2",
2611 | "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
2612 | "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
2613 | "dev": true,
2614 | "dependencies": {
2615 | "call-bound": "^1.0.2",
2616 | "es-errors": "^1.3.0",
2617 | "get-intrinsic": "^1.2.5",
2618 | "object-inspect": "^1.13.3",
2619 | "side-channel-map": "^1.0.1"
2620 | },
2621 | "engines": {
2622 | "node": ">= 0.4"
2623 | },
2624 | "funding": {
2625 | "url": "https://github.com/sponsors/ljharb"
2626 | }
2627 | },
2628 | "node_modules/signal-exit": {
2629 | "version": "4.1.0",
2630 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
2631 | "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
2632 | "dev": true,
2633 | "engines": {
2634 | "node": ">=14"
2635 | },
2636 | "funding": {
2637 | "url": "https://github.com/sponsors/isaacs"
2638 | }
2639 | },
2640 | "node_modules/source-map": {
2641 | "version": "0.6.1",
2642 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
2643 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
2644 | "dev": true,
2645 | "engines": {
2646 | "node": ">=0.10.0"
2647 | }
2648 | },
2649 | "node_modules/source-map-js": {
2650 | "version": "1.2.1",
2651 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
2652 | "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
2653 | "dev": true,
2654 | "engines": {
2655 | "node": ">=0.10.0"
2656 | }
2657 | },
2658 | "node_modules/sprintf-js": {
2659 | "version": "1.0.3",
2660 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
2661 | "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
2662 | "dev": true
2663 | },
2664 | "node_modules/string_decoder": {
2665 | "version": "0.10.31",
2666 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
2667 | "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==",
2668 | "dev": true
2669 | },
2670 | "node_modules/string-template": {
2671 | "version": "0.2.1",
2672 | "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz",
2673 | "integrity": "sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw==",
2674 | "dev": true
2675 | },
2676 | "node_modules/string-width": {
2677 | "version": "5.1.2",
2678 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
2679 | "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
2680 | "dev": true,
2681 | "dependencies": {
2682 | "eastasianwidth": "^0.2.0",
2683 | "emoji-regex": "^9.2.2",
2684 | "strip-ansi": "^7.0.1"
2685 | },
2686 | "engines": {
2687 | "node": ">=12"
2688 | },
2689 | "funding": {
2690 | "url": "https://github.com/sponsors/sindresorhus"
2691 | }
2692 | },
2693 | "node_modules/string-width-cjs": {
2694 | "name": "string-width",
2695 | "version": "4.2.3",
2696 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
2697 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
2698 | "dev": true,
2699 | "dependencies": {
2700 | "emoji-regex": "^8.0.0",
2701 | "is-fullwidth-code-point": "^3.0.0",
2702 | "strip-ansi": "^6.0.1"
2703 | },
2704 | "engines": {
2705 | "node": ">=8"
2706 | }
2707 | },
2708 | "node_modules/string-width-cjs/node_modules/ansi-regex": {
2709 | "version": "5.0.1",
2710 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
2711 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
2712 | "dev": true,
2713 | "engines": {
2714 | "node": ">=8"
2715 | }
2716 | },
2717 | "node_modules/string-width-cjs/node_modules/emoji-regex": {
2718 | "version": "8.0.0",
2719 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
2720 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
2721 | "dev": true
2722 | },
2723 | "node_modules/string-width-cjs/node_modules/strip-ansi": {
2724 | "version": "6.0.1",
2725 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
2726 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
2727 | "dev": true,
2728 | "dependencies": {
2729 | "ansi-regex": "^5.0.1"
2730 | },
2731 | "engines": {
2732 | "node": ">=8"
2733 | }
2734 | },
2735 | "node_modules/strip-ansi": {
2736 | "version": "7.1.0",
2737 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
2738 | "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
2739 | "dev": true,
2740 | "dependencies": {
2741 | "ansi-regex": "^6.0.1"
2742 | },
2743 | "engines": {
2744 | "node": ">=12"
2745 | },
2746 | "funding": {
2747 | "url": "https://github.com/chalk/strip-ansi?sponsor=1"
2748 | }
2749 | },
2750 | "node_modules/strip-ansi-cjs": {
2751 | "name": "strip-ansi",
2752 | "version": "6.0.1",
2753 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
2754 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
2755 | "dev": true,
2756 | "dependencies": {
2757 | "ansi-regex": "^5.0.1"
2758 | },
2759 | "engines": {
2760 | "node": ">=8"
2761 | }
2762 | },
2763 | "node_modules/strip-ansi-cjs/node_modules/ansi-regex": {
2764 | "version": "5.0.1",
2765 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
2766 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
2767 | "dev": true,
2768 | "engines": {
2769 | "node": ">=8"
2770 | }
2771 | },
2772 | "node_modules/supports-color": {
2773 | "version": "7.2.0",
2774 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
2775 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
2776 | "dev": true,
2777 | "dependencies": {
2778 | "has-flag": "^4.0.0"
2779 | },
2780 | "engines": {
2781 | "node": ">=8"
2782 | }
2783 | },
2784 | "node_modules/supports-preserve-symlinks-flag": {
2785 | "version": "1.0.0",
2786 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
2787 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
2788 | "dev": true,
2789 | "engines": {
2790 | "node": ">= 0.4"
2791 | },
2792 | "funding": {
2793 | "url": "https://github.com/sponsors/ljharb"
2794 | }
2795 | },
2796 | "node_modules/tiny-lr": {
2797 | "version": "1.1.1",
2798 | "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz",
2799 | "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==",
2800 | "dev": true,
2801 | "dependencies": {
2802 | "body": "^5.1.0",
2803 | "debug": "^3.1.0",
2804 | "faye-websocket": "~0.10.0",
2805 | "livereload-js": "^2.3.0",
2806 | "object-assign": "^4.1.0",
2807 | "qs": "^6.4.0"
2808 | }
2809 | },
2810 | "node_modules/to-regex-range": {
2811 | "version": "5.0.1",
2812 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
2813 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
2814 | "dev": true,
2815 | "dependencies": {
2816 | "is-number": "^7.0.0"
2817 | },
2818 | "engines": {
2819 | "node": ">=8.0"
2820 | }
2821 | },
2822 | "node_modules/unc-path-regex": {
2823 | "version": "0.1.2",
2824 | "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
2825 | "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==",
2826 | "dev": true,
2827 | "engines": {
2828 | "node": ">=0.10.0"
2829 | }
2830 | },
2831 | "node_modules/underscore.string": {
2832 | "version": "3.3.6",
2833 | "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.6.tgz",
2834 | "integrity": "sha512-VoC83HWXmCrF6rgkyxS9GHv8W9Q5nhMKho+OadDJGzL2oDYbYEppBaCMH6pFlwLeqj2QS+hhkw2kpXkSdD1JxQ==",
2835 | "dev": true,
2836 | "dependencies": {
2837 | "sprintf-js": "^1.1.1",
2838 | "util-deprecate": "^1.0.2"
2839 | },
2840 | "engines": {
2841 | "node": "*"
2842 | }
2843 | },
2844 | "node_modules/underscore.string/node_modules/sprintf-js": {
2845 | "version": "1.1.3",
2846 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz",
2847 | "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==",
2848 | "dev": true
2849 | },
2850 | "node_modules/update-browserslist-db": {
2851 | "version": "1.1.3",
2852 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz",
2853 | "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==",
2854 | "dev": true,
2855 | "funding": [
2856 | {
2857 | "type": "opencollective",
2858 | "url": "https://opencollective.com/browserslist"
2859 | },
2860 | {
2861 | "type": "tidelift",
2862 | "url": "https://tidelift.com/funding/github/npm/browserslist"
2863 | },
2864 | {
2865 | "type": "github",
2866 | "url": "https://github.com/sponsors/ai"
2867 | }
2868 | ],
2869 | "dependencies": {
2870 | "escalade": "^3.2.0",
2871 | "picocolors": "^1.1.1"
2872 | },
2873 | "bin": {
2874 | "update-browserslist-db": "cli.js"
2875 | },
2876 | "peerDependencies": {
2877 | "browserslist": ">= 4.21.0"
2878 | }
2879 | },
2880 | "node_modules/update-browserslist-db/node_modules/picocolors": {
2881 | "version": "1.1.1",
2882 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
2883 | "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
2884 | "dev": true
2885 | },
2886 | "node_modules/util-deprecate": {
2887 | "version": "1.0.2",
2888 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
2889 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
2890 | "dev": true
2891 | },
2892 | "node_modules/v8flags": {
2893 | "version": "3.2.0",
2894 | "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz",
2895 | "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==",
2896 | "dev": true,
2897 | "dependencies": {
2898 | "homedir-polyfill": "^1.0.1"
2899 | },
2900 | "engines": {
2901 | "node": ">= 0.10"
2902 | }
2903 | },
2904 | "node_modules/websocket-driver": {
2905 | "version": "0.7.4",
2906 | "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz",
2907 | "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==",
2908 | "dev": true,
2909 | "dependencies": {
2910 | "http-parser-js": ">=0.5.1",
2911 | "safe-buffer": ">=5.1.0",
2912 | "websocket-extensions": ">=0.1.1"
2913 | },
2914 | "engines": {
2915 | "node": ">=0.8.0"
2916 | }
2917 | },
2918 | "node_modules/websocket-extensions": {
2919 | "version": "0.1.4",
2920 | "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz",
2921 | "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==",
2922 | "dev": true,
2923 | "engines": {
2924 | "node": ">=0.8.0"
2925 | }
2926 | },
2927 | "node_modules/which": {
2928 | "version": "2.0.2",
2929 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
2930 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
2931 | "dev": true,
2932 | "dependencies": {
2933 | "isexe": "^2.0.0"
2934 | },
2935 | "bin": {
2936 | "node-which": "bin/node-which"
2937 | },
2938 | "engines": {
2939 | "node": ">= 8"
2940 | }
2941 | },
2942 | "node_modules/wrap-ansi": {
2943 | "version": "8.1.0",
2944 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
2945 | "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
2946 | "dev": true,
2947 | "dependencies": {
2948 | "ansi-styles": "^6.1.0",
2949 | "string-width": "^5.0.1",
2950 | "strip-ansi": "^7.0.1"
2951 | },
2952 | "engines": {
2953 | "node": ">=12"
2954 | },
2955 | "funding": {
2956 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
2957 | }
2958 | },
2959 | "node_modules/wrap-ansi-cjs": {
2960 | "name": "wrap-ansi",
2961 | "version": "7.0.0",
2962 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
2963 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
2964 | "dev": true,
2965 | "dependencies": {
2966 | "ansi-styles": "^4.0.0",
2967 | "string-width": "^4.1.0",
2968 | "strip-ansi": "^6.0.0"
2969 | },
2970 | "engines": {
2971 | "node": ">=10"
2972 | },
2973 | "funding": {
2974 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
2975 | }
2976 | },
2977 | "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": {
2978 | "version": "5.0.1",
2979 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
2980 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
2981 | "dev": true,
2982 | "engines": {
2983 | "node": ">=8"
2984 | }
2985 | },
2986 | "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
2987 | "version": "8.0.0",
2988 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
2989 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
2990 | "dev": true
2991 | },
2992 | "node_modules/wrap-ansi-cjs/node_modules/string-width": {
2993 | "version": "4.2.3",
2994 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
2995 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
2996 | "dev": true,
2997 | "dependencies": {
2998 | "emoji-regex": "^8.0.0",
2999 | "is-fullwidth-code-point": "^3.0.0",
3000 | "strip-ansi": "^6.0.1"
3001 | },
3002 | "engines": {
3003 | "node": ">=8"
3004 | }
3005 | },
3006 | "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": {
3007 | "version": "6.0.1",
3008 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
3009 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
3010 | "dev": true,
3011 | "dependencies": {
3012 | "ansi-regex": "^5.0.1"
3013 | },
3014 | "engines": {
3015 | "node": ">=8"
3016 | }
3017 | },
3018 | "node_modules/wrap-ansi/node_modules/ansi-styles": {
3019 | "version": "6.2.1",
3020 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
3021 | "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
3022 | "dev": true,
3023 | "engines": {
3024 | "node": ">=12"
3025 | },
3026 | "funding": {
3027 | "url": "https://github.com/chalk/ansi-styles?sponsor=1"
3028 | }
3029 | },
3030 | "node_modules/wrappy": {
3031 | "version": "1.0.2",
3032 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
3033 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
3034 | "dev": true
3035 | }
3036 | }
3037 | }
3038 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tabsy-css",
3 | "title": "Tabsy CSS",
4 | "description": "Simple tabs toggler component written in pure CSS with no dependencies",
5 | "version": "1.0.1",
6 | "license": "MIT",
7 | "author": {
8 | "name": "Robert Velickovski",
9 | "email": "roby@rvdizajn.com"
10 | },
11 | "keywords": [
12 | "tabs",
13 | "css",
14 | "scss",
15 | "sass",
16 | "simple",
17 | "toggle",
18 | "dependency-free",
19 | "lightweight"
20 | ],
21 | "homepage": "https://github.com/robiveli/tabsy-css",
22 | "devDependencies": {
23 | "autoprefixer": "^9.8.6",
24 | "grunt": "^1.0.1",
25 | "grunt-contrib-watch": "^1.0.0",
26 | "grunt-html-build": "^0.7.1",
27 | "grunt-postcss": "^0.9.0",
28 | "grunt-sass": "^4.0.0",
29 | "load-grunt-tasks": "^3.5.2",
30 | "postcss": "^8.5.6",
31 | "sass": "^1.89.2"
32 | },
33 | "scripts": {
34 | "dev": "grunt watch",
35 | "build": "grunt build"
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Tabsy - Simple tabs toggler component written in pure CSS with no
6 | dependencies
7 |
8 |
9 |
13 |
14 |
15 |
16 |
20 |
21 |
22 |
181 |
182 |
183 |
184 |
185 | Tabsy [CSS]
186 |
187 | Simple and lightweight tabs toggler component written in pure
188 | CSS
189 |
190 |
191 |
192 |
193 |
Tab One
194 |
195 |
196 |
197 |
Heading 1
198 |
199 | Lorem Ipsum is simply dummy text of the printing and
200 | typesetting industry.
201 |
202 |
203 | Lorem Ipsum has been the industry's standard dummy
204 | text ever since the 1500s, when an unknown printer
205 | took a galley of type and scrambled it to make a
206 | type specimen book. It has survived not only five
207 | centuries, but also the leap into electronic
208 | typesetting, remaining essentially unchanged.
209 |
210 |
211 |
212 |
213 |
214 |
Tab Two
215 |
216 |
217 |
218 |
Heading 2
219 |
220 | Lorem Ipsum has been the industry's standard dummy
221 | text ever since the 1500s, when an unknown printer
222 | took a galley of type and scrambled it to make a
223 | type specimen book. It has survived not only five
224 | centuries, but also the leap into electronic
225 | typesetting, remaining essentially unchanged.
226 |
227 |
228 | Lorem Ipsum has been the industry's standard dummy
229 | text ever since the 1500s, when an unknown printer
230 | took a galley of type and scrambled it to make a
231 | type specimen book. It has survived not only five
232 | centuries, but also the leap into electronic
233 | typesetting, remaining essentially unchanged.
234 |
235 |
236 | Lorem Ipsum has been the industry's standard dummy
237 | text ever since the 1500s, when an unknown printer
238 | took a galley of type and scrambled it to make a
239 | type specimen book. It has survived not only five
240 | centuries, but also the leap into electronic
241 | typesetting, remaining essentially unchanged.
242 |
243 |
244 |
245 |
246 |
247 |
Tab Three
248 |
249 |
250 |
251 |
Heading 3
252 |
253 | Lorem Ipsum has been the industry's standard dummy
254 | text ever since the 1500s, when an unknown printer
255 | took a galley of type and scrambled it to make a
256 | type specimen book. It has survived not only five
257 | centuries, but also the leap into electronic
258 | typesetting, remaining essentially unchanged.
259 |
260 |
261 | Lorem Ipsum has been the industry's standard dummy
262 | text ever since the 1500s, when an unknown printer
263 | took a galley of type and scrambled it to make a
264 | type specimen book. It has survived not only five
265 | centuries, but also the leap into electronic
266 | typesetting, remaining essentially unchanged. Lorem
267 | Ipsum has been the industry's standard dummy text
268 | ever since the 1500s, when an unknown printer took a
269 | galley of type and scrambled it to make a type
270 | specimen book. It has survived not only five
271 | centuries, but also the leap into electronic
272 | typesetting, remaining essentially unchanged. Lorem
273 | Ipsum has been the industry's standard dummy text
274 | ever since the 1500s, when an unknown printer took a
275 | galley of type and scrambled it to make a type
276 | specimen book. It has survived not only five
277 | centuries, but also the leap into electronic
278 | typesetting, remaining essentially unchanged.
279 |
280 |
281 |
282 |
283 |
284 |
285 |
286 |
--------------------------------------------------------------------------------
/src/library/_animations.scss:
--------------------------------------------------------------------------------
1 | @keyframes (showTab) {
2 | from {
3 | opacity: 0;
4 | transform: translateY(10px);
5 | }
6 |
7 | to {
8 | opacity: 1;
9 | transform: translateY(0);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/src/library/_mixins.scss:
--------------------------------------------------------------------------------
1 | // keyframes
2 | @mixin keyframes($animation-name) {
3 |
4 | @-webkit-keyframes #{$animation-name} {
5 |
6 | @content;
7 |
8 | }
9 |
10 | @keyframes #{$animation-name} {
11 |
12 | @content;
13 |
14 | }
15 |
16 | }
17 |
18 | // animation
19 | @mixin animation($args) {
20 |
21 | -webkit-animation: #{$args};
22 | animation: #{$args};
23 |
24 | }
--------------------------------------------------------------------------------
/src/library/_variables.scss:
--------------------------------------------------------------------------------
1 | // Base Colors
2 | $tabActiveBgColor: #fff;
3 | $tabActiveTextColor: #5a5243;
4 | $tabNectiveBgColor: #5a5243;
5 | $tabNectiveTextColor: #F5F5F5;
6 |
7 | // Breakpoint
8 | $breakpoint: 768px;
9 |
10 | // Transition
11 | $transitionSpeed: 200ms;
--------------------------------------------------------------------------------
/src/tabsy.scss:
--------------------------------------------------------------------------------
1 | // Library
2 | @use "library/variables" as *;
3 | @use "library/mixins" as *;
4 | @use "library/animations" as *;
5 |
6 | .tabsy {
7 | > button {
8 | width: 100%;
9 | font-family: inherit;
10 | font-size: 100%;
11 | margin: 0;
12 | outline: 0;
13 | border: 0;
14 | vertical-align: baseline;
15 | box-sizing: border-box;
16 | background: transparent;
17 | }
18 |
19 | > .tabButton {
20 | display: block;
21 | margin-top: 1px;
22 | background: $tabNectiveBgColor;
23 | color: $tabNectiveTextColor;
24 | text-align: center;
25 | transition: all $transitionSpeed ease-in-out;
26 | }
27 |
28 | > input {
29 | display: none;
30 |
31 | &:checked + label {
32 | & + .tab {
33 | display: block;
34 |
35 | > .content {
36 | @include keyframes(showTab);
37 | }
38 | }
39 | }
40 | }
41 |
42 | > .tab {
43 | background: $tabActiveBgColor;
44 | display: none;
45 | }
46 |
47 | @media screen and (min-width: $breakpoint) {
48 | display: flex;
49 | flex-wrap: wrap;
50 |
51 | > .tabButton {
52 | order: 1;
53 | align-items: flex-start;
54 | cursor: pointer;
55 | }
56 |
57 | > input {
58 | &:checked + label {
59 | background: $tabActiveBgColor;
60 | color: $tabActiveTextColor;
61 | }
62 | }
63 |
64 | > .tab {
65 | order: 2;
66 | }
67 | }
68 | }
69 |
--------------------------------------------------------------------------------