brut 0.0.20 → 0.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (728) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +24 -3
  3. data/.nvim.lua +1 -0
  4. data/Dockerfile.dx +12 -3
  5. data/Gemfile.lock +9 -7
  6. data/README.md +0 -7
  7. data/Rakefile +6 -4
  8. data/bin/dev +20 -0
  9. data/bin/docs +27 -0
  10. data/bin/setup +47 -1
  11. data/brut-css/.nvim.lua +1 -0
  12. data/brut-css/README.md +28 -0
  13. data/brut-css/bin/build +31 -0
  14. data/brut-css/bin/dev +1 -0
  15. data/brut-css/bin/docs +15 -0
  16. data/brut-css/bin/setup +5 -0
  17. data/brut-css/config/media-queries-all.css +15 -0
  18. data/brut-css/config/media-queries-minimal.css +5 -0
  19. data/brut-css/config/postcss.config.cjs +7 -0
  20. data/brut-css/config/pseudo-classes-all.css +9 -0
  21. data/brut-css/dx +1 -0
  22. data/brut-css/package-lock.json +3217 -0
  23. data/brut-css/package.json +36 -0
  24. data/brut-css/src/css/appearance.css +145 -0
  25. data/brut-css/src/css/border.css +522 -0
  26. data/brut-css/src/css/colors.css +3502 -0
  27. data/brut-css/src/css/dimensions.css +548 -0
  28. data/brut-css/src/css/flex.css +179 -0
  29. data/brut-css/src/css/index.css +13 -0
  30. data/brut-css/src/css/layout.css +120 -0
  31. data/brut-css/src/css/list.css +41 -0
  32. data/brut-css/src/css/positioning.css +354 -0
  33. data/brut-css/src/css/properties/colors.css +455 -0
  34. data/brut-css/src/css/properties/index.css +3 -0
  35. data/brut-css/src/css/properties/spacing.css +140 -0
  36. data/brut-css/src/css/properties/typography.css +224 -0
  37. data/brut-css/src/css/reset.css +107 -0
  38. data/brut-css/src/css/spacing.css +585 -0
  39. data/brut-css/src/css/typography.css +519 -0
  40. data/brut-css/src/css/utils.css +104 -0
  41. data/brut-css/src/docs/1_getting-started/1_overview.md +46 -0
  42. data/brut-css/src/docs/1_getting-started/2_installation.md +25 -0
  43. data/brut-css/src/docs/1_getting-started/3_core-concepts.md +75 -0
  44. data/brut-css/src/docs/1_getting-started/4_simple-example.md +132 -0
  45. data/brut-css/src/docs/1_getting-started/page.html.ejs +10 -0
  46. data/brut-css/src/docs/2_properties/page.html.ejs +71 -0
  47. data/brut-css/src/docs/3_classes/color-demo.html.ejs +31 -0
  48. data/brut-css/src/docs/3_classes/page.html.ejs +87 -0
  49. data/brut-css/src/docs/4_customization/1_design-system.md +36 -0
  50. data/brut-css/src/docs/4_customization/2_breakpoints.md +75 -0
  51. data/brut-css/src/docs/4_customization/3_pseudo-classes.md +74 -0
  52. data/brut-css/src/docs/4_customization/4_advanced-configuration.md +40 -0
  53. data/brut-css/src/docs/4_customization/page.html.ejs +10 -0
  54. data/brut-css/src/docs/docs.css +98 -0
  55. data/brut-css/src/docs/includes/body-and-header.html.ejs +30 -0
  56. data/brut-css/src/docs/includes/footer-and-rest.html.ejs +9 -0
  57. data/brut-css/src/docs/includes/head.html.ejs +5 -0
  58. data/brut-css/src/docs/includes/nav.html.ejs +10 -0
  59. data/brut-css/src/docs/index.html.ejs +32 -0
  60. data/brut-css/src/docs/prism-twilight.min.css +1 -0
  61. data/brut-css/src/js/Logger.js +71 -0
  62. data/brut-css/src/js/build.js +111 -0
  63. data/brut-css/src/js/cli/CLIArgError.js +7 -0
  64. data/brut-css/src/js/cli/Debug.js +27 -0
  65. data/brut-css/src/js/cli/DocsDir.js +16 -0
  66. data/brut-css/src/js/cli/DocsTemplateSourceDir.js +16 -0
  67. data/brut-css/src/js/cli/InputFile.js +31 -0
  68. data/brut-css/src/js/cli/MediaQueryConfigFile.js +10 -0
  69. data/brut-css/src/js/cli/OutputFile.js +22 -0
  70. data/brut-css/src/js/cli/ParsedArg.js +17 -0
  71. data/brut-css/src/js/cli/PathToBrutCSSRoot.js +19 -0
  72. data/brut-css/src/js/cli/PseudoClassConfigFile.js +11 -0
  73. data/brut-css/src/js/cli.js +108 -0
  74. data/brut-css/src/js/docGenerator.js +467 -0
  75. data/brut-css/src/js/mediaQueryConfigParser.js +98 -0
  76. data/brut-css/src/js/post-css-plugins/addMediaQueriesPlugin.js +49 -0
  77. data/brut-css/src/js/post-css-plugins/addPseudoClassesPlugin.js +42 -0
  78. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Category.js +9 -0
  79. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/DocState.js +185 -0
  80. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Documentable.js +8 -0
  81. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Group.js +7 -0
  82. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/ParsedComment.js +73 -0
  83. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Property.js +9 -0
  84. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/PropertyCategory.js +4 -0
  85. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/PropertyGroup.js +8 -0
  86. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Rule.js +12 -0
  87. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/RuleCategory.js +4 -0
  88. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/RuleGroup.js +8 -0
  89. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/SeeRef.js +5 -0
  90. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/SeeURL.js +9 -0
  91. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin.js +49 -0
  92. data/brut-css/src/js/post-css-plugins/generateRootCustomPropertiesPlugin.js +45 -0
  93. data/brut-css/src/js/pseudoClassConfigParser.js +145 -0
  94. data/brut-js/.projections.json +10 -0
  95. data/brut-js/README.md +118 -0
  96. data/brut-js/bin/build +10 -0
  97. data/brut-js/bin/ci +5 -0
  98. data/brut-js/bin/setup +5 -0
  99. data/brut-js/docs/README.md +8 -0
  100. data/brut-js/docs/jsdoc-plugins/customElementTag.js +8 -0
  101. data/brut-js/docs/jsdoc-theme/publish.js +692 -0
  102. data/brut-js/docs/jsdoc-theme/static/scripts/linenumber.js +25 -0
  103. data/brut-js/docs/jsdoc-theme/static/scripts/prettify/Apache-License-2.0.txt +202 -0
  104. data/brut-js/docs/jsdoc-theme/static/scripts/prettify/lang-css.js +2 -0
  105. data/brut-js/docs/jsdoc-theme/static/scripts/prettify/prettify.js +28 -0
  106. data/brut-js/docs/jsdoc-theme/static/styles/jsdoc-default.css +327 -0
  107. data/brut-js/docs/jsdoc-theme/static/styles/prettify-jsdoc.css +111 -0
  108. data/brut-js/docs/jsdoc-theme/static/styles/prettify-tomorrow.css +132 -0
  109. data/brut-js/docs/jsdoc-theme/tmpl/augments.tmpl +10 -0
  110. data/brut-js/docs/jsdoc-theme/tmpl/container.tmpl +199 -0
  111. data/brut-js/docs/jsdoc-theme/tmpl/details.tmpl +143 -0
  112. data/brut-js/docs/jsdoc-theme/tmpl/example.tmpl +2 -0
  113. data/brut-js/docs/jsdoc-theme/tmpl/examples.tmpl +13 -0
  114. data/brut-js/docs/jsdoc-theme/tmpl/exceptions.tmpl +32 -0
  115. data/brut-js/docs/jsdoc-theme/tmpl/layout.tmpl +38 -0
  116. data/brut-js/docs/jsdoc-theme/tmpl/mainpage.tmpl +14 -0
  117. data/brut-js/docs/jsdoc-theme/tmpl/members.tmpl +38 -0
  118. data/brut-js/docs/jsdoc-theme/tmpl/method.tmpl +131 -0
  119. data/brut-js/docs/jsdoc-theme/tmpl/modifies.tmpl +14 -0
  120. data/brut-js/docs/jsdoc-theme/tmpl/params.tmpl +131 -0
  121. data/brut-js/docs/jsdoc-theme/tmpl/properties.tmpl +108 -0
  122. data/brut-js/docs/jsdoc-theme/tmpl/returns.tmpl +19 -0
  123. data/brut-js/docs/jsdoc-theme/tmpl/source.tmpl +8 -0
  124. data/brut-js/docs/jsdoc-theme/tmpl/tutorial.tmpl +19 -0
  125. data/brut-js/docs/jsdoc-theme/tmpl/type.tmpl +7 -0
  126. data/brut-js/docs/jsdoc.config.json +23 -0
  127. data/brut-js/docs/package-lock.json +343 -0
  128. data/brut-js/docs/package.json +7 -0
  129. data/brut-js/package-lock.json +2171 -0
  130. data/brut-js/package.json +32 -0
  131. data/brut-js/specs/AjaxSubmit.spec.js +256 -0
  132. data/brut-js/specs/Autosubmit.spec.js +127 -0
  133. data/brut-js/specs/ConfirmSubmit.spec.js +193 -0
  134. data/brut-js/specs/ConstraintViolationMessage.spec.js +33 -0
  135. data/brut-js/specs/ConstraintViolationMessages.spec.js +29 -0
  136. data/brut-js/specs/CopyToClipboard.spec.js +35 -0
  137. data/brut-js/specs/Form.spec.js +181 -0
  138. data/brut-js/specs/I18nTranslation.spec.js +19 -0
  139. data/brut-js/specs/LocaleDetection.spec.js +22 -0
  140. data/brut-js/specs/Message.spec.js +15 -0
  141. data/brut-js/specs/SpecHelper.js +23 -0
  142. data/brut-js/specs/Tabs.spec.js +41 -0
  143. data/brut-js/specs/config/asset_metadata.json +7 -0
  144. data/brut-js/src/AjaxSubmit.js +384 -0
  145. data/brut-js/src/Autosubmit.js +63 -0
  146. data/brut-js/src/BaseCustomElement.js +261 -0
  147. data/brut-js/src/ConfirmSubmit.js +116 -0
  148. data/brut-js/src/ConfirmationDialog.js +143 -0
  149. data/brut-js/src/ConstraintViolationMessage.js +125 -0
  150. data/brut-js/src/ConstraintViolationMessages.js +98 -0
  151. data/brut-js/src/CopyToClipboard.js +96 -0
  152. data/brut-js/src/Form.js +151 -0
  153. data/brut-js/src/I18nTranslation.js +61 -0
  154. data/brut-js/src/LocaleDetection.js +117 -0
  155. data/brut-js/src/Logger.js +90 -0
  156. data/brut-js/src/Message.js +56 -0
  157. data/brut-js/src/RichString.js +113 -0
  158. data/brut-js/src/Tabs.js +168 -0
  159. data/brut-js/src/Tracing.js +247 -0
  160. data/brut-js/src/appForTestingOnly.js +15 -0
  161. data/brut-js/src/index.js +130 -0
  162. data/brut-js/src/testing/AssetMetadata.js +35 -0
  163. data/brut-js/src/testing/AssetMetadataLoader.js +25 -0
  164. data/brut-js/src/testing/CustomElementTest.js +235 -0
  165. data/brut-js/src/testing/DOMCreator.js +45 -0
  166. data/brut-js/src/testing/index.js +48 -0
  167. data/brutrb.com/.vitepress/config.mjs +106 -0
  168. data/brutrb.com/.vitepress/plugins/jsdocLinker.js +34 -0
  169. data/brutrb.com/.vitepress/plugins/rdocLinker.js +18 -0
  170. data/brutrb.com/.vitepress/theme/custom.css +7 -0
  171. data/brutrb.com/.vitepress/theme/index.js +18 -0
  172. data/brutrb.com/.vitepress/theme/style.css +149 -0
  173. data/brutrb.com/ai.md +68 -0
  174. data/brutrb.com/assets.md +138 -0
  175. data/brutrb.com/bin/build +5 -0
  176. data/brutrb.com/bin/deploy +7 -0
  177. data/brutrb.com/bin/dev +5 -0
  178. data/brutrb.com/bin/setup +5 -0
  179. data/brutrb.com/brut-js.md +117 -0
  180. data/brutrb.com/business-logic.md +55 -0
  181. data/brutrb.com/cli.md +278 -0
  182. data/brutrb.com/components.md +243 -0
  183. data/brutrb.com/configuration.md +257 -0
  184. data/brutrb.com/css.md +103 -0
  185. data/brutrb.com/custom-element-tests.md +149 -0
  186. data/brutrb.com/database-access.md +201 -0
  187. data/brutrb.com/database-schema.md +312 -0
  188. data/brutrb.com/deployment.md +66 -0
  189. data/brutrb.com/dev-environment.md +179 -0
  190. data/brutrb.com/doc-conventions.md +39 -0
  191. data/brutrb.com/end-to-end-tests.md +174 -0
  192. data/brutrb.com/flash-and-session.md +224 -0
  193. data/brutrb.com/forms.md +866 -0
  194. data/brutrb.com/getting-started.md +66 -0
  195. data/brutrb.com/handlers.md +153 -0
  196. data/brutrb.com/hooks.md +178 -0
  197. data/brutrb.com/i18n.md +188 -0
  198. data/brutrb.com/images/Makefile +10 -0
  199. data/brutrb.com/images/dev-env-overview.dot +54 -0
  200. data/brutrb.com/images/dev-env-overview.png +0 -0
  201. data/brutrb.com/images/dev-env-protocol.dot +37 -0
  202. data/brutrb.com/images/dev-env-protocol.png +0 -0
  203. data/brutrb.com/images/logo-300.png +0 -0
  204. data/brutrb.com/images/logo.png +0 -0
  205. data/brutrb.com/images/overview.graffle +0 -0
  206. data/brutrb.com/images/overview.png +0 -0
  207. data/brutrb.com/images/spa.dot +19 -0
  208. data/brutrb.com/images/spa.png +0 -0
  209. data/brutrb.com/images/workspace-protocol.dot +44 -0
  210. data/brutrb.com/images/workspace-protocol.png +0 -0
  211. data/brutrb.com/index.md +36 -0
  212. data/brutrb.com/instrumentation.md +183 -0
  213. data/brutrb.com/javascript.md +122 -0
  214. data/brutrb.com/jobs.md +14 -0
  215. data/{doc-src → brutrb.com}/keyword-injection.md +122 -68
  216. data/brutrb.com/markdown-examples.md +85 -0
  217. data/brutrb.com/middleware.md +80 -0
  218. data/brutrb.com/not-released.md +5 -0
  219. data/brutrb.com/overview.md +404 -0
  220. data/brutrb.com/package-lock.json +2404 -0
  221. data/brutrb.com/package.json +11 -0
  222. data/brutrb.com/pages.md +378 -0
  223. data/brutrb.com/public/images/logo-300.png +0 -0
  224. data/brutrb.com/public/images/logo.png +0 -0
  225. data/brutrb.com/routes.md +215 -0
  226. data/brutrb.com/security.md +105 -0
  227. data/brutrb.com/seed-data.md +63 -0
  228. data/brutrb.com/space-time-continuum.md +85 -0
  229. data/brutrb.com/tutorial.md +3 -0
  230. data/brutrb.com/unit-tests.md +148 -0
  231. data/docker-compose.dx.yml +6 -3
  232. data/docs/404.html +21 -0
  233. data/docs/CNAME +1 -0
  234. data/docs/ai.html +24 -0
  235. data/docs/api/Brut/BackEnd/SeedData.html +493 -0
  236. data/docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server/FlushSpans.html +214 -0
  237. data/docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server.html +125 -0
  238. data/docs/api/Brut/BackEnd/Sidekiq/Middlewares.html +125 -0
  239. data/docs/api/Brut/BackEnd/Sidekiq.html +125 -0
  240. data/docs/api/Brut/BackEnd/Validators/FormValidator.html +414 -0
  241. data/docs/api/Brut/BackEnd/Validators.html +128 -0
  242. data/docs/api/Brut/BackEnd.html +132 -0
  243. data/docs/api/Brut/CLI/App.html +1576 -0
  244. data/docs/api/Brut/CLI/AppRunner.html +491 -0
  245. data/docs/api/Brut/CLI/Apps/BuildAssets/All.html +264 -0
  246. data/docs/api/Brut/CLI/Apps/BuildAssets/CSS.html +306 -0
  247. data/docs/api/Brut/CLI/Apps/BuildAssets/Images.html +262 -0
  248. data/docs/api/Brut/CLI/Apps/BuildAssets/JS.html +314 -0
  249. data/docs/api/Brut/CLI/Apps/BuildAssets.html +183 -0
  250. data/docs/api/Brut/CLI/Apps/DB/Create.html +365 -0
  251. data/docs/api/Brut/CLI/Apps/DB/Drop.html +357 -0
  252. data/docs/api/Brut/CLI/Apps/DB/Migrate.html +383 -0
  253. data/docs/api/Brut/CLI/Apps/DB/NewMigration.html +335 -0
  254. data/docs/api/Brut/CLI/Apps/DB/Rebuild.html +329 -0
  255. data/docs/api/Brut/CLI/Apps/DB/Seed.html +347 -0
  256. data/docs/api/Brut/CLI/Apps/DB/Status.html +383 -0
  257. data/docs/api/Brut/CLI/Apps/DB.html +183 -0
  258. data/docs/api/Brut/CLI/Apps/Scaffold/Action/Route.html +303 -0
  259. data/docs/api/Brut/CLI/Apps/Scaffold/Action.html +512 -0
  260. data/docs/api/Brut/CLI/Apps/Scaffold/Component.html +398 -0
  261. data/docs/api/Brut/CLI/Apps/Scaffold/CustomElementTest.html +374 -0
  262. data/docs/api/Brut/CLI/Apps/Scaffold/E2ETest.html +410 -0
  263. data/docs/api/Brut/CLI/Apps/Scaffold/Form.html +262 -0
  264. data/docs/api/Brut/CLI/Apps/Scaffold/Page/Route.html +303 -0
  265. data/docs/api/Brut/CLI/Apps/Scaffold/Page.html +480 -0
  266. data/docs/api/Brut/CLI/Apps/Scaffold/RoutesEditor.html +450 -0
  267. data/docs/api/Brut/CLI/Apps/Scaffold/Test.html +380 -0
  268. data/docs/api/Brut/CLI/Apps/Scaffold.html +253 -0
  269. data/docs/api/Brut/CLI/Apps/Test/Audit.html +464 -0
  270. data/docs/api/Brut/CLI/Apps/Test/E2e.html +407 -0
  271. data/docs/api/Brut/CLI/Apps/Test/JS.html +262 -0
  272. data/docs/api/Brut/CLI/Apps/Test/Run.html +578 -0
  273. data/docs/api/Brut/CLI/Apps/Test.html +253 -0
  274. data/docs/api/Brut/CLI/Apps.html +125 -0
  275. data/docs/api/Brut/CLI/Command.html +2342 -0
  276. data/docs/api/Brut/CLI/Error.html +139 -0
  277. data/docs/api/Brut/CLI/ExecutionResults/Result.html +664 -0
  278. data/docs/api/Brut/CLI/ExecutionResults.html +675 -0
  279. data/docs/api/Brut/CLI/Executor.html +430 -0
  280. data/docs/api/Brut/CLI/InvalidOption.html +245 -0
  281. data/docs/api/Brut/CLI/Options.html +753 -0
  282. data/docs/api/Brut/CLI/Output.html +699 -0
  283. data/docs/api/Brut/CLI/SystemExecError.html +451 -0
  284. data/docs/api/Brut/CLI.html +263 -0
  285. data/docs/api/Brut/FactoryBot.html +225 -0
  286. data/docs/api/Brut/Framework/App.html +1097 -0
  287. data/docs/api/Brut/Framework/Config.html +1045 -0
  288. data/docs/api/Brut/Framework/Container.html +1379 -0
  289. data/docs/api/Brut/Framework/Error.html +140 -0
  290. data/docs/api/Brut/Framework/Errors/AbstractMethod.html +144 -0
  291. data/docs/api/Brut/Framework/Errors/Bug.html +234 -0
  292. data/docs/api/Brut/Framework/Errors/MissingConfiguration.html +257 -0
  293. data/docs/api/Brut/Framework/Errors/MissingParameter.html +273 -0
  294. data/docs/api/Brut/Framework/Errors/NoClassForPath.html +471 -0
  295. data/docs/api/Brut/Framework/Errors/NotFound.html +308 -0
  296. data/docs/api/Brut/Framework/Errors/NotImplemented.html +234 -0
  297. data/docs/api/Brut/Framework/Errors.html +328 -0
  298. data/docs/api/Brut/Framework/FussyTypeEnforcement.html +392 -0
  299. data/docs/api/Brut/Framework/MCP.html +861 -0
  300. data/docs/api/Brut/Framework/ProjectEnvironment.html +648 -0
  301. data/docs/api/Brut/Framework.html +129 -0
  302. data/docs/api/Brut/FrontEnd/AssetPathResolver.html +317 -0
  303. data/docs/api/Brut/FrontEnd/Component/Helpers.html +326 -0
  304. data/docs/api/Brut/FrontEnd/Component.html +365 -0
  305. data/docs/api/Brut/FrontEnd/Components/ConstraintViolations.html +470 -0
  306. data/docs/api/Brut/FrontEnd/Components/FormTag.html +518 -0
  307. data/docs/api/Brut/FrontEnd/Components/I18nTranslations.html +317 -0
  308. data/docs/api/Brut/FrontEnd/Components/Input.html +195 -0
  309. data/docs/api/Brut/FrontEnd/Components/Inputs/CsrfToken.html +339 -0
  310. data/docs/api/Brut/FrontEnd/Components/Inputs/InputTag.html +660 -0
  311. data/docs/api/Brut/FrontEnd/Components/Inputs/RadioButton.html +417 -0
  312. data/docs/api/Brut/FrontEnd/Components/Inputs/SelectTagWithOptions.html +918 -0
  313. data/docs/api/Brut/FrontEnd/Components/Inputs/TextareaTag.html +651 -0
  314. data/docs/api/Brut/FrontEnd/Components/Inputs.html +125 -0
  315. data/docs/api/Brut/FrontEnd/Components/LocaleDetection.html +367 -0
  316. data/docs/api/Brut/FrontEnd/Components/PageIdentifier.html +336 -0
  317. data/docs/api/Brut/FrontEnd/Components/TimeTag.html +655 -0
  318. data/docs/api/Brut/FrontEnd/Components/Traceparent.html +352 -0
  319. data/docs/api/Brut/FrontEnd/Components.html +135 -0
  320. data/docs/api/Brut/FrontEnd/Download.html +467 -0
  321. data/docs/api/Brut/FrontEnd/Flash.html +1150 -0
  322. data/docs/api/Brut/FrontEnd/Form.html +1157 -0
  323. data/docs/api/Brut/FrontEnd/Forms/ConstraintViolation.html +634 -0
  324. data/docs/api/Brut/FrontEnd/Forms/Input.html +615 -0
  325. data/docs/api/Brut/FrontEnd/Forms/InputDeclarations.html +547 -0
  326. data/docs/api/Brut/FrontEnd/Forms/InputDefinition.html +1318 -0
  327. data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInput.html +609 -0
  328. data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInputDefinition.html +587 -0
  329. data/docs/api/Brut/FrontEnd/Forms/SelectInput.html +613 -0
  330. data/docs/api/Brut/FrontEnd/Forms/SelectInputDefinition.html +582 -0
  331. data/docs/api/Brut/FrontEnd/Forms/ValidityState.html +609 -0
  332. data/docs/api/Brut/FrontEnd/Forms.html +127 -0
  333. data/docs/api/Brut/FrontEnd/GenericResponse.html +377 -0
  334. data/docs/api/Brut/FrontEnd/Handler.html +442 -0
  335. data/docs/api/Brut/FrontEnd/Handlers/CspReportingHandler.html +318 -0
  336. data/docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler/TraceParent.html +336 -0
  337. data/docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler.html +399 -0
  338. data/docs/api/Brut/FrontEnd/Handlers/LocaleDetectionHandler.html +354 -0
  339. data/docs/api/Brut/FrontEnd/Handlers/MissingHandler/Form.html +151 -0
  340. data/docs/api/Brut/FrontEnd/Handlers/MissingHandler.html +315 -0
  341. data/docs/api/Brut/FrontEnd/Handlers.html +125 -0
  342. data/docs/api/Brut/FrontEnd/HandlingResults.html +339 -0
  343. data/docs/api/Brut/FrontEnd/HttpMethod.html +661 -0
  344. data/docs/api/Brut/FrontEnd/HttpStatus.html +496 -0
  345. data/docs/api/Brut/FrontEnd/InlineSvgLocator.html +284 -0
  346. data/docs/api/Brut/FrontEnd/Layout.html +318 -0
  347. data/docs/api/Brut/FrontEnd/Middleware.html +135 -0
  348. data/docs/api/Brut/FrontEnd/Middlewares/AnnotateBrutOwnedPaths.html +288 -0
  349. data/docs/api/Brut/FrontEnd/Middlewares/Favicon.html +292 -0
  350. data/docs/api/Brut/FrontEnd/Middlewares/OpenTelemetrySpan.html +324 -0
  351. data/docs/api/Brut/FrontEnd/Middlewares/ReloadApp.html +372 -0
  352. data/docs/api/Brut/FrontEnd/Middlewares.html +125 -0
  353. data/docs/api/Brut/FrontEnd/Page.html +773 -0
  354. data/docs/api/Brut/FrontEnd/Pages/MissingPage.html +797 -0
  355. data/docs/api/Brut/FrontEnd/Pages.html +125 -0
  356. data/docs/api/Brut/FrontEnd/RequestContext.html +1312 -0
  357. data/docs/api/Brut/FrontEnd/RouteHook.html +424 -0
  358. data/docs/api/Brut/FrontEnd/RouteHooks/AgeFlash.html +242 -0
  359. data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineScripts.html +249 -0
  360. data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts/ReportOnly.html +264 -0
  361. data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts.html +261 -0
  362. data/docs/api/Brut/FrontEnd/RouteHooks/LocaleDetection.html +284 -0
  363. data/docs/api/Brut/FrontEnd/RouteHooks/SetupRequestContext.html +252 -0
  364. data/docs/api/Brut/FrontEnd/RouteHooks.html +115 -0
  365. data/docs/api/Brut/FrontEnd/Routing/FormHandlerRoute.html +227 -0
  366. data/docs/api/Brut/FrontEnd/Routing/FormRoute.html +305 -0
  367. data/docs/api/Brut/FrontEnd/Routing/MissingForm.html +324 -0
  368. data/docs/api/Brut/FrontEnd/Routing/MissingHandler.html +319 -0
  369. data/docs/api/Brut/FrontEnd/Routing/MissingPage.html +315 -0
  370. data/docs/api/Brut/FrontEnd/Routing/MissingPath.html +315 -0
  371. data/docs/api/Brut/FrontEnd/Routing/PageRoute.html +327 -0
  372. data/docs/api/Brut/FrontEnd/Routing/Route.html +761 -0
  373. data/docs/api/Brut/FrontEnd/Routing.html +927 -0
  374. data/docs/api/Brut/FrontEnd/Session.html +1195 -0
  375. data/docs/api/Brut/FrontEnd.html +134 -0
  376. data/docs/api/Brut/I18n/BaseMethods.html +931 -0
  377. data/docs/api/Brut/I18n/ForBackEnd.html +302 -0
  378. data/docs/api/Brut/I18n/ForCLI.html +302 -0
  379. data/docs/api/Brut/I18n/ForHTML.html +296 -0
  380. data/docs/api/Brut/I18n/HTTPAcceptLanguage/AlwaysEnglish.html +316 -0
  381. data/docs/api/Brut/I18n/HTTPAcceptLanguage.html +930 -0
  382. data/docs/api/Brut/I18n.html +127 -0
  383. data/docs/api/Brut/Instrumentation/LoggerSpanExporter.html +435 -0
  384. data/docs/api/Brut/Instrumentation/OpenTelemetry/NormalizedAttributes.html +286 -0
  385. data/docs/api/Brut/Instrumentation/OpenTelemetry/Span.html +302 -0
  386. data/docs/api/Brut/Instrumentation/OpenTelemetry.html +864 -0
  387. data/docs/api/Brut/Instrumentation.html +126 -0
  388. data/docs/api/Brut/SinatraHelpers/ClassMethods.html +532 -0
  389. data/docs/api/Brut/SinatraHelpers.html +281 -0
  390. data/docs/api/Brut/SpecSupport/ClockSupport.html +383 -0
  391. data/docs/api/Brut/SpecSupport/ComponentSupport.html +502 -0
  392. data/docs/api/Brut/SpecSupport/E2ETestServer.html +503 -0
  393. data/docs/api/Brut/SpecSupport/E2eSupport.html +142 -0
  394. data/docs/api/Brut/SpecSupport/EnhancedNode.html +403 -0
  395. data/docs/api/Brut/SpecSupport/FlashSupport.html +278 -0
  396. data/docs/api/Brut/SpecSupport/GeneralSupport/ClassMethods.html +401 -0
  397. data/docs/api/Brut/SpecSupport/GeneralSupport.html +195 -0
  398. data/docs/api/Brut/SpecSupport/HandlerSupport.html +160 -0
  399. data/docs/api/Brut/SpecSupport/Matchers/HaveConstraintViolation.html +553 -0
  400. data/docs/api/Brut/SpecSupport/Matchers/HaveHTMLAttribute.html +439 -0
  401. data/docs/api/Brut/SpecSupport/Matchers.html +125 -0
  402. data/docs/api/Brut/SpecSupport/RSpecSetup/OptionalSidekiqSupport.html +335 -0
  403. data/docs/api/Brut/SpecSupport/RSpecSetup.html +602 -0
  404. data/docs/api/Brut/SpecSupport/SessionSupport.html +196 -0
  405. data/docs/api/Brut/SpecSupport.html +129 -0
  406. data/docs/api/Brut.html +225 -0
  407. data/docs/api/Clock.html +603 -0
  408. data/docs/api/RichString.html +968 -0
  409. data/docs/api/SemanticLogger/Appender/Async.html +219 -0
  410. data/docs/api/Sequel/Extensions/BrutInstrumentation.html +115 -0
  411. data/docs/api/Sequel/Extensions/BrutMigrations.html +533 -0
  412. data/docs/api/Sequel/Extensions.html +117 -0
  413. data/docs/api/Sequel/Plugins/CreatedAt/InstanceMethods.html +105 -0
  414. data/docs/api/Sequel/Plugins/CreatedAt.html +125 -0
  415. data/docs/api/Sequel/Plugins/ExternalId/ClassMethods.html +207 -0
  416. data/docs/api/Sequel/Plugins/ExternalId/InstanceMethods.html +186 -0
  417. data/docs/api/Sequel/Plugins/ExternalId.html +218 -0
  418. data/docs/api/Sequel/Plugins/FindBang/ClassMethods.html +202 -0
  419. data/docs/api/Sequel/Plugins/FindBang.html +125 -0
  420. data/docs/api/Sequel/Plugins.html +117 -0
  421. data/docs/api/Sequel.html +117 -0
  422. data/docs/api/_index.html +1553 -0
  423. data/docs/api/class_list.html +54 -0
  424. data/docs/api/css/common.css +1 -0
  425. data/docs/api/css/full_list.css +58 -0
  426. data/docs/api/css/style.css +503 -0
  427. data/docs/api/file.README.html +127 -0
  428. data/docs/api/file_list.html +59 -0
  429. data/docs/api/frames.html +22 -0
  430. data/docs/api/index.html +127 -0
  431. data/docs/api/js/app.js +344 -0
  432. data/docs/api/js/full_list.js +242 -0
  433. data/docs/api/js/jquery.js +4 -0
  434. data/docs/api/method_list.html +3998 -0
  435. data/docs/api/top-level-namespace.html +112 -0
  436. data/docs/assets/ai.md.tZrjP9im.js +1 -0
  437. data/docs/assets/ai.md.tZrjP9im.lean.js +1 -0
  438. data/docs/assets/app.D_yaTITQ.js +1 -0
  439. data/docs/assets/assets.md.D3wunzLx.js +19 -0
  440. data/docs/assets/assets.md.D3wunzLx.lean.js +1 -0
  441. data/docs/assets/brut-js.md.o2DAO2s2.js +12 -0
  442. data/docs/assets/brut-js.md.o2DAO2s2.lean.js +1 -0
  443. data/docs/assets/business-logic.md.BY4hGy0m.js +1 -0
  444. data/docs/assets/business-logic.md.BY4hGy0m.lean.js +1 -0
  445. data/docs/assets/chunks/@localSearchIndexroot.BsN5i0Fi.js +1 -0
  446. data/docs/assets/chunks/VPLocalSearchBox.B2-ZzyTY.js +8 -0
  447. data/docs/assets/chunks/framework.1L-BeKqY.js +18 -0
  448. data/docs/assets/chunks/theme.CfGFVRvE.js +2 -0
  449. data/docs/assets/cli.md.RmeA2b0i.js +127 -0
  450. data/docs/assets/cli.md.RmeA2b0i.lean.js +1 -0
  451. data/docs/assets/components.md.eCttGlN-.js +104 -0
  452. data/docs/assets/components.md.eCttGlN-.lean.js +1 -0
  453. data/docs/assets/configuration.md.BRriU0cL.js +78 -0
  454. data/docs/assets/configuration.md.BRriU0cL.lean.js +1 -0
  455. data/docs/assets/css.md.DJgj2clw.js +21 -0
  456. data/docs/assets/css.md.DJgj2clw.lean.js +1 -0
  457. data/docs/assets/custom-element-tests.md.BrYJQEl3.js +69 -0
  458. data/docs/assets/custom-element-tests.md.BrYJQEl3.lean.js +1 -0
  459. data/docs/assets/database-access.md.C7l-Vuvb.js +63 -0
  460. data/docs/assets/database-access.md.C7l-Vuvb.lean.js +1 -0
  461. data/docs/assets/database-schema.md.BUjR0VS1.js +63 -0
  462. data/docs/assets/database-schema.md.BUjR0VS1.lean.js +1 -0
  463. data/docs/assets/deployment.md.Dbka4OTr.js +1 -0
  464. data/docs/assets/deployment.md.Dbka4OTr.lean.js +1 -0
  465. data/docs/assets/dev-env-overview.Gj7NWM8-.png +0 -0
  466. data/docs/assets/dev-env-protocol.DysDAtnz.png +0 -0
  467. data/docs/assets/dev-environment.md.BNc8AYiK.js +11 -0
  468. data/docs/assets/dev-environment.md.BNc8AYiK.lean.js +1 -0
  469. data/docs/assets/doc-conventions.md.DCfRXXi-.js +1 -0
  470. data/docs/assets/doc-conventions.md.DCfRXXi-.lean.js +1 -0
  471. data/docs/assets/end-to-end-tests.md.yfQHC0b5.js +26 -0
  472. data/docs/assets/end-to-end-tests.md.yfQHC0b5.lean.js +1 -0
  473. data/docs/assets/flash-and-session.md.BXY8RvT0.js +93 -0
  474. data/docs/assets/flash-and-session.md.BXY8RvT0.lean.js +1 -0
  475. data/docs/assets/forms.md.CBTYQ_Cz.js +379 -0
  476. data/docs/assets/forms.md.CBTYQ_Cz.lean.js +1 -0
  477. data/docs/assets/getting-started.md.Bz2s1Vjb.js +2 -0
  478. data/docs/assets/getting-started.md.Bz2s1Vjb.lean.js +1 -0
  479. data/docs/assets/handlers.md.089DVD3v.js +69 -0
  480. data/docs/assets/handlers.md.089DVD3v.lean.js +1 -0
  481. data/docs/assets/hooks.md.C4-moMny.js +80 -0
  482. data/docs/assets/hooks.md.C4-moMny.lean.js +1 -0
  483. data/docs/assets/i18n.md.Do9i1qWl.js +23 -0
  484. data/docs/assets/i18n.md.Do9i1qWl.lean.js +1 -0
  485. data/docs/assets/index.md.B28EwVpq.js +1 -0
  486. data/docs/assets/index.md.B28EwVpq.lean.js +1 -0
  487. data/docs/assets/instrumentation.md.CL6ax7nT.js +35 -0
  488. data/docs/assets/instrumentation.md.CL6ax7nT.lean.js +1 -0
  489. data/docs/assets/javascript.md.GWbhRS51.js +31 -0
  490. data/docs/assets/javascript.md.GWbhRS51.lean.js +1 -0
  491. data/docs/assets/jobs.md.S-2amAYp.js +1 -0
  492. data/docs/assets/jobs.md.S-2amAYp.lean.js +1 -0
  493. data/docs/assets/keyword-injection.md.Dt2tKREs.js +25 -0
  494. data/docs/assets/keyword-injection.md.Dt2tKREs.lean.js +1 -0
  495. data/docs/assets/markdown-examples.md.CCFEQO44.js +33 -0
  496. data/docs/assets/markdown-examples.md.CCFEQO44.lean.js +1 -0
  497. data/docs/assets/middleware.md.Czz_UlJN.js +20 -0
  498. data/docs/assets/middleware.md.Czz_UlJN.lean.js +1 -0
  499. data/docs/assets/not-released.md.BBy28McC.js +1 -0
  500. data/docs/assets/not-released.md.BBy28McC.lean.js +1 -0
  501. data/docs/assets/overview.Da81cB9R.png +0 -0
  502. data/docs/assets/overview.md.CDalkuxV.js +133 -0
  503. data/docs/assets/overview.md.CDalkuxV.lean.js +1 -0
  504. data/docs/assets/pages.md.BE3kfOc5.js +122 -0
  505. data/docs/assets/pages.md.BE3kfOc5.lean.js +1 -0
  506. data/docs/assets/routes.md.BMM7peut.js +29 -0
  507. data/docs/assets/routes.md.BMM7peut.lean.js +1 -0
  508. data/docs/assets/security.md.C668yXCi.js +1 -0
  509. data/docs/assets/security.md.C668yXCi.lean.js +1 -0
  510. data/docs/assets/seed-data.md.BvFZlqIk.js +14 -0
  511. data/docs/assets/seed-data.md.BvFZlqIk.lean.js +1 -0
  512. data/docs/assets/spa.qejUdp-5.png +0 -0
  513. data/docs/assets/space-time-continuum.md.KPUIKysQ.js +1 -0
  514. data/docs/assets/space-time-continuum.md.KPUIKysQ.lean.js +1 -0
  515. data/docs/assets/style.D73IYGCX.css +1 -0
  516. data/docs/assets/tutorial.md.BnoGjrdK.js +1 -0
  517. data/docs/assets/tutorial.md.BnoGjrdK.lean.js +1 -0
  518. data/docs/assets/unit-tests.md.DUGrnLj5.js +13 -0
  519. data/docs/assets/unit-tests.md.DUGrnLj5.lean.js +1 -0
  520. data/docs/assets/workspace-protocol.C0gXsoDb.png +0 -0
  521. data/docs/assets.html +42 -0
  522. data/docs/brut-css/brut.css +1 -0
  523. data/docs/brut-css/brut.max.css +22372 -0
  524. data/docs/brut-css/classes/appearances.html +783 -0
  525. data/docs/brut-css/classes/background-colors.html +3529 -0
  526. data/docs/brut-css/classes/border-colors.html +3529 -0
  527. data/docs/brut-css/classes/borders.html +2293 -0
  528. data/docs/brut-css/classes/dimensions.html +2581 -0
  529. data/docs/brut-css/classes/flex.html +917 -0
  530. data/docs/brut-css/classes/foreground-colors.html +3261 -0
  531. data/docs/brut-css/classes/junk-drawer.html +431 -0
  532. data/docs/brut-css/classes/layout.html +668 -0
  533. data/docs/brut-css/classes/lists.html +331 -0
  534. data/docs/brut-css/classes/positioning.html +1751 -0
  535. data/docs/brut-css/classes/spacings.html +2633 -0
  536. data/docs/brut-css/classes/typography.html +2206 -0
  537. data/docs/brut-css/customization/advanced-configuration.html +204 -0
  538. data/docs/brut-css/customization/breakpoints.html +227 -0
  539. data/docs/brut-css/customization/design-system.html +197 -0
  540. data/docs/brut-css/customization/pseudo-classes.html +228 -0
  541. data/docs/brut-css/docs.css +98 -0
  542. data/docs/brut-css/getting-started/core-concepts.html +234 -0
  543. data/docs/brut-css/getting-started/installation.html +190 -0
  544. data/docs/brut-css/getting-started/overview.html +210 -0
  545. data/docs/brut-css/getting-started/simple-example.html +285 -0
  546. data/docs/brut-css/index.html +193 -0
  547. data/docs/brut-css/prism-twilight.min.css +1 -0
  548. data/docs/brut-css/properties/colors.html +1548 -0
  549. data/docs/brut-css/properties/spacings.html +614 -0
  550. data/docs/brut-css/properties/typography.html +777 -0
  551. data/docs/brut-js/api/AjaxSubmit.html +374 -0
  552. data/docs/brut-js/api/AjaxSubmit.js.html +435 -0
  553. data/docs/brut-js/api/Autosubmit.html +192 -0
  554. data/docs/brut-js/api/Autosubmit.js.html +114 -0
  555. data/docs/brut-js/api/BaseCustomElement.html +1091 -0
  556. data/docs/brut-js/api/BaseCustomElement.js.html +312 -0
  557. data/docs/brut-js/api/BrutCustomElements.html +172 -0
  558. data/docs/brut-js/api/BufferedLogger.html +173 -0
  559. data/docs/brut-js/api/ConfirmSubmit.html +278 -0
  560. data/docs/brut-js/api/ConfirmSubmit.js.html +167 -0
  561. data/docs/brut-js/api/ConfirmationDialog.html +425 -0
  562. data/docs/brut-js/api/ConfirmationDialog.js.html +194 -0
  563. data/docs/brut-js/api/ConstraintViolationMessage.html +448 -0
  564. data/docs/brut-js/api/ConstraintViolationMessage.js.html +176 -0
  565. data/docs/brut-js/api/ConstraintViolationMessages.html +590 -0
  566. data/docs/brut-js/api/ConstraintViolationMessages.js.html +149 -0
  567. data/docs/brut-js/api/CopyToClipboard.html +345 -0
  568. data/docs/brut-js/api/CopyToClipboard.js.html +147 -0
  569. data/docs/brut-js/api/Form.html +294 -0
  570. data/docs/brut-js/api/Form.js.html +202 -0
  571. data/docs/brut-js/api/I18nTranslation.html +409 -0
  572. data/docs/brut-js/api/I18nTranslation.js.html +112 -0
  573. data/docs/brut-js/api/LocaleDetection.html +312 -0
  574. data/docs/brut-js/api/LocaleDetection.js.html +168 -0
  575. data/docs/brut-js/api/Logger.html +702 -0
  576. data/docs/brut-js/api/Logger.js.html +141 -0
  577. data/docs/brut-js/api/Message.html +238 -0
  578. data/docs/brut-js/api/Message.js.html +107 -0
  579. data/docs/brut-js/api/PrefixedLogger.html +369 -0
  580. data/docs/brut-js/api/RichString.html +1049 -0
  581. data/docs/brut-js/api/RichString.js.html +164 -0
  582. data/docs/brut-js/api/Tabs.html +295 -0
  583. data/docs/brut-js/api/Tabs.js.html +219 -0
  584. data/docs/brut-js/api/Tracing.html +277 -0
  585. data/docs/brut-js/api/Tracing.js.html +298 -0
  586. data/docs/brut-js/api/external-CustomElementRegistry.html +140 -0
  587. data/docs/brut-js/api/external-Performance.html +138 -0
  588. data/docs/brut-js/api/external-Promise.html +138 -0
  589. data/docs/brut-js/api/external-ValidityState.html +138 -0
  590. data/docs/brut-js/api/external-Window.html +233 -0
  591. data/docs/brut-js/api/external-fetch.html +138 -0
  592. data/docs/brut-js/api/global.html +400 -0
  593. data/docs/brut-js/api/index.html +168 -0
  594. data/docs/brut-js/api/index.js.html +181 -0
  595. data/docs/brut-js/api/module-testing.html +383 -0
  596. data/docs/brut-js/api/scripts/linenumber.js +25 -0
  597. data/docs/brut-js/api/scripts/prettify/Apache-License-2.0.txt +202 -0
  598. data/docs/brut-js/api/scripts/prettify/lang-css.js +2 -0
  599. data/docs/brut-js/api/scripts/prettify/prettify.js +28 -0
  600. data/docs/brut-js/api/styles/jsdoc-default.css +327 -0
  601. data/docs/brut-js/api/styles/prettify-jsdoc.css +111 -0
  602. data/docs/brut-js/api/styles/prettify-tomorrow.css +132 -0
  603. data/docs/brut-js/api/testing.AssetMetadata.html +172 -0
  604. data/docs/brut-js/api/testing.AssetMetadataLoader.html +171 -0
  605. data/docs/brut-js/api/testing.CustomElementTest.html +679 -0
  606. data/docs/brut-js/api/testing.DOMCreator.html +171 -0
  607. data/docs/brut-js/api/testing_AssetMetadata.js.html +86 -0
  608. data/docs/brut-js/api/testing_AssetMetadataLoader.js.html +76 -0
  609. data/docs/brut-js/api/testing_CustomElementTest.js.html +286 -0
  610. data/docs/brut-js/api/testing_DOMCreator.js.html +96 -0
  611. data/docs/brut-js/api/testing_index.js.html +99 -0
  612. data/docs/brut-js.html +35 -0
  613. data/docs/business-logic.html +24 -0
  614. data/docs/cli.html +150 -0
  615. data/docs/components.html +127 -0
  616. data/docs/configuration.html +101 -0
  617. data/docs/css.html +44 -0
  618. data/docs/custom-element-tests.html +92 -0
  619. data/docs/database-access.html +86 -0
  620. data/docs/database-schema.html +86 -0
  621. data/docs/deployment.html +24 -0
  622. data/docs/dev-environment.html +34 -0
  623. data/docs/doc-conventions.html +24 -0
  624. data/docs/end-to-end-tests.html +49 -0
  625. data/docs/flash-and-session.html +116 -0
  626. data/docs/forms.html +402 -0
  627. data/docs/getting-started.html +25 -0
  628. data/docs/handlers.html +92 -0
  629. data/docs/hashmap.json +1 -0
  630. data/docs/hooks.html +103 -0
  631. data/docs/i18n.html +46 -0
  632. data/docs/images/logo-300.png +0 -0
  633. data/docs/images/logo.png +0 -0
  634. data/docs/index.html +24 -0
  635. data/docs/instrumentation.html +58 -0
  636. data/docs/javascript.html +54 -0
  637. data/docs/jobs.html +24 -0
  638. data/docs/keyword-injection.html +48 -0
  639. data/docs/markdown-examples.html +56 -0
  640. data/docs/middleware.html +43 -0
  641. data/docs/not-released.html +24 -0
  642. data/docs/overview.html +156 -0
  643. data/docs/pages.html +145 -0
  644. data/docs/routes.html +52 -0
  645. data/docs/security.html +24 -0
  646. data/docs/seed-data.html +37 -0
  647. data/docs/space-time-continuum.html +24 -0
  648. data/docs/tutorial.html +24 -0
  649. data/docs/unit-tests.html +36 -0
  650. data/docs/vp-icons.css +1 -0
  651. data/lib/brut/back_end/seed_data.rb +19 -2
  652. data/lib/brut/back_end/sidekiq/middlewares/server.rb +2 -1
  653. data/lib/brut/back_end/sidekiq/middlewares.rb +2 -1
  654. data/lib/brut/back_end/sidekiq.rb +2 -1
  655. data/lib/brut/back_end/validator.rb +5 -1
  656. data/lib/brut/back_end.rb +4 -2
  657. data/lib/brut/cli/app_runner.rb +1 -1
  658. data/lib/brut/cli/apps/test.rb +5 -0
  659. data/lib/brut/cli.rb +4 -3
  660. data/lib/brut/factory_bot.rb +0 -5
  661. data/lib/brut/framework/app.rb +70 -5
  662. data/lib/brut/framework/config.rb +5 -3
  663. data/lib/brut/framework/container.rb +3 -2
  664. data/lib/brut/framework/errors.rb +12 -4
  665. data/lib/brut/framework/mcp.rb +58 -1
  666. data/lib/brut/framework/project_environment.rb +6 -2
  667. data/lib/brut/framework.rb +1 -1
  668. data/lib/brut/front_end/component.rb +69 -71
  669. data/lib/brut/front_end/components/constraint_violations.rb +1 -4
  670. data/lib/brut/front_end/components/form_tag.rb +1 -1
  671. data/lib/brut/front_end/components/input.rb +3 -3
  672. data/lib/brut/front_end/components/inputs/csrf_token.rb +1 -1
  673. data/lib/brut/front_end/components/inputs/{text_field.rb → input_tag.rb} +7 -9
  674. data/lib/brut/front_end/components/inputs/radio_button.rb +1 -1
  675. data/lib/brut/front_end/components/inputs/select_tag_with_options.rb +187 -0
  676. data/lib/brut/front_end/components/inputs/{textarea.rb → textarea_tag.rb} +2 -2
  677. data/lib/brut/front_end/components/time_tag.rb +2 -1
  678. data/lib/brut/front_end/form.rb +4 -4
  679. data/lib/brut/front_end/forms/input.rb +2 -1
  680. data/lib/brut/front_end/forms/input_definition.rb +5 -2
  681. data/lib/brut/front_end/forms/radio_button_group_input.rb +2 -1
  682. data/lib/brut/front_end/forms/radio_button_group_input_definition.rb +2 -2
  683. data/lib/brut/front_end/forms/select_input.rb +2 -4
  684. data/lib/brut/front_end/forms/select_input_definition.rb +2 -2
  685. data/lib/brut/front_end/handler.rb +28 -26
  686. data/lib/brut/front_end/handlers/csp_reporting_handler.rb +5 -2
  687. data/lib/brut/front_end/handlers/instrumentation_handler.rb +8 -4
  688. data/lib/brut/front_end/handlers/locale_detection_handler.rb +9 -5
  689. data/lib/brut/front_end/handlers/missing_handler.rb +5 -2
  690. data/lib/brut/front_end/layout.rb +16 -0
  691. data/lib/brut/front_end/page.rb +52 -29
  692. data/lib/brut/front_end/request_context.rb +3 -2
  693. data/lib/brut/front_end/routing.rb +5 -1
  694. data/lib/brut/front_end.rb +4 -13
  695. data/lib/brut/i18n/base_methods.rb +167 -79
  696. data/lib/brut/i18n/for_back_end.rb +4 -0
  697. data/lib/brut/i18n/for_cli.rb +4 -0
  698. data/lib/brut/i18n/for_html.rb +32 -4
  699. data/lib/brut/i18n/http_accept_language.rb +47 -0
  700. data/lib/brut/instrumentation/open_telemetry.rb +36 -1
  701. data/lib/brut/instrumentation.rb +3 -5
  702. data/lib/brut/sinatra_helpers.rb +11 -3
  703. data/lib/brut/spec_support/component_support.rb +30 -16
  704. data/lib/brut/spec_support/e2e_support.rb +1 -1
  705. data/lib/brut/spec_support/e2e_test_server.rb +3 -0
  706. data/lib/brut/spec_support/general_support.rb +3 -0
  707. data/lib/brut/spec_support/handler_support.rb +6 -1
  708. data/lib/brut/spec_support/matcher.rb +1 -0
  709. data/lib/brut/spec_support/matchers/be_page_for.rb +1 -0
  710. data/lib/brut/spec_support/matchers/have_html_attribute.rb +1 -0
  711. data/lib/brut/spec_support/matchers/have_i18n_string.rb +2 -5
  712. data/lib/brut/spec_support/matchers/have_link_to.rb +1 -0
  713. data/lib/brut/spec_support/matchers/have_redirected_to.rb +1 -0
  714. data/lib/brut/spec_support/matchers/have_rendered.rb +1 -0
  715. data/lib/brut/spec_support/matchers/have_returned_rack_response.rb +44 -0
  716. data/lib/brut/spec_support.rb +1 -1
  717. data/lib/brut/version.rb +1 -1
  718. data/lib/brut.rb +5 -4
  719. data/lib/sequel/extensions/brut_migrations.rb +1 -1
  720. metadata +648 -13
  721. data/doc-src/architecture.md +0 -102
  722. data/doc-src/assets.md +0 -98
  723. data/doc-src/forms.md +0 -214
  724. data/doc-src/handlers.md +0 -83
  725. data/doc-src/javascript.md +0 -265
  726. data/doc-src/pages.md +0 -210
  727. data/doc-src/route-hooks.md +0 -59
  728. data/lib/brut/front_end/components/inputs/select.rb +0 -117
@@ -0,0 +1,2171 @@
1
+ {
2
+ "name": "brut-js",
3
+ "version": "0.0.21",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "brut-js",
9
+ "version": "0.0.21",
10
+ "license": "Hippocratic-2.1",
11
+ "devDependencies": {
12
+ "esbuild": "^0.24.0",
13
+ "jsdom": "^25.0.1",
14
+ "mocha": "^10.8.2"
15
+ }
16
+ },
17
+ "node_modules/@asamuzakjp/css-color": {
18
+ "version": "3.2.0",
19
+ "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.2.0.tgz",
20
+ "integrity": "sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==",
21
+ "dev": true,
22
+ "license": "MIT",
23
+ "dependencies": {
24
+ "@csstools/css-calc": "^2.1.3",
25
+ "@csstools/css-color-parser": "^3.0.9",
26
+ "@csstools/css-parser-algorithms": "^3.0.4",
27
+ "@csstools/css-tokenizer": "^3.0.3",
28
+ "lru-cache": "^10.4.3"
29
+ }
30
+ },
31
+ "node_modules/@csstools/color-helpers": {
32
+ "version": "5.0.2",
33
+ "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.0.2.tgz",
34
+ "integrity": "sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==",
35
+ "dev": true,
36
+ "funding": [
37
+ {
38
+ "type": "github",
39
+ "url": "https://github.com/sponsors/csstools"
40
+ },
41
+ {
42
+ "type": "opencollective",
43
+ "url": "https://opencollective.com/csstools"
44
+ }
45
+ ],
46
+ "license": "MIT-0",
47
+ "engines": {
48
+ "node": ">=18"
49
+ }
50
+ },
51
+ "node_modules/@csstools/css-calc": {
52
+ "version": "2.1.4",
53
+ "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz",
54
+ "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==",
55
+ "dev": true,
56
+ "funding": [
57
+ {
58
+ "type": "github",
59
+ "url": "https://github.com/sponsors/csstools"
60
+ },
61
+ {
62
+ "type": "opencollective",
63
+ "url": "https://opencollective.com/csstools"
64
+ }
65
+ ],
66
+ "license": "MIT",
67
+ "engines": {
68
+ "node": ">=18"
69
+ },
70
+ "peerDependencies": {
71
+ "@csstools/css-parser-algorithms": "^3.0.5",
72
+ "@csstools/css-tokenizer": "^3.0.4"
73
+ }
74
+ },
75
+ "node_modules/@csstools/css-color-parser": {
76
+ "version": "3.0.10",
77
+ "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.10.tgz",
78
+ "integrity": "sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg==",
79
+ "dev": true,
80
+ "funding": [
81
+ {
82
+ "type": "github",
83
+ "url": "https://github.com/sponsors/csstools"
84
+ },
85
+ {
86
+ "type": "opencollective",
87
+ "url": "https://opencollective.com/csstools"
88
+ }
89
+ ],
90
+ "license": "MIT",
91
+ "dependencies": {
92
+ "@csstools/color-helpers": "^5.0.2",
93
+ "@csstools/css-calc": "^2.1.4"
94
+ },
95
+ "engines": {
96
+ "node": ">=18"
97
+ },
98
+ "peerDependencies": {
99
+ "@csstools/css-parser-algorithms": "^3.0.5",
100
+ "@csstools/css-tokenizer": "^3.0.4"
101
+ }
102
+ },
103
+ "node_modules/@csstools/css-parser-algorithms": {
104
+ "version": "3.0.5",
105
+ "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz",
106
+ "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==",
107
+ "dev": true,
108
+ "funding": [
109
+ {
110
+ "type": "github",
111
+ "url": "https://github.com/sponsors/csstools"
112
+ },
113
+ {
114
+ "type": "opencollective",
115
+ "url": "https://opencollective.com/csstools"
116
+ }
117
+ ],
118
+ "license": "MIT",
119
+ "engines": {
120
+ "node": ">=18"
121
+ },
122
+ "peerDependencies": {
123
+ "@csstools/css-tokenizer": "^3.0.4"
124
+ }
125
+ },
126
+ "node_modules/@csstools/css-tokenizer": {
127
+ "version": "3.0.4",
128
+ "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz",
129
+ "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==",
130
+ "dev": true,
131
+ "funding": [
132
+ {
133
+ "type": "github",
134
+ "url": "https://github.com/sponsors/csstools"
135
+ },
136
+ {
137
+ "type": "opencollective",
138
+ "url": "https://opencollective.com/csstools"
139
+ }
140
+ ],
141
+ "license": "MIT",
142
+ "engines": {
143
+ "node": ">=18"
144
+ }
145
+ },
146
+ "node_modules/@esbuild/aix-ppc64": {
147
+ "version": "0.24.2",
148
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz",
149
+ "integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==",
150
+ "cpu": [
151
+ "ppc64"
152
+ ],
153
+ "dev": true,
154
+ "license": "MIT",
155
+ "optional": true,
156
+ "os": [
157
+ "aix"
158
+ ],
159
+ "engines": {
160
+ "node": ">=18"
161
+ }
162
+ },
163
+ "node_modules/@esbuild/android-arm": {
164
+ "version": "0.24.2",
165
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.2.tgz",
166
+ "integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==",
167
+ "cpu": [
168
+ "arm"
169
+ ],
170
+ "dev": true,
171
+ "license": "MIT",
172
+ "optional": true,
173
+ "os": [
174
+ "android"
175
+ ],
176
+ "engines": {
177
+ "node": ">=18"
178
+ }
179
+ },
180
+ "node_modules/@esbuild/android-arm64": {
181
+ "version": "0.24.2",
182
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz",
183
+ "integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==",
184
+ "cpu": [
185
+ "arm64"
186
+ ],
187
+ "dev": true,
188
+ "license": "MIT",
189
+ "optional": true,
190
+ "os": [
191
+ "android"
192
+ ],
193
+ "engines": {
194
+ "node": ">=18"
195
+ }
196
+ },
197
+ "node_modules/@esbuild/android-x64": {
198
+ "version": "0.24.2",
199
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.2.tgz",
200
+ "integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==",
201
+ "cpu": [
202
+ "x64"
203
+ ],
204
+ "dev": true,
205
+ "license": "MIT",
206
+ "optional": true,
207
+ "os": [
208
+ "android"
209
+ ],
210
+ "engines": {
211
+ "node": ">=18"
212
+ }
213
+ },
214
+ "node_modules/@esbuild/darwin-arm64": {
215
+ "version": "0.24.2",
216
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz",
217
+ "integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==",
218
+ "cpu": [
219
+ "arm64"
220
+ ],
221
+ "dev": true,
222
+ "license": "MIT",
223
+ "optional": true,
224
+ "os": [
225
+ "darwin"
226
+ ],
227
+ "engines": {
228
+ "node": ">=18"
229
+ }
230
+ },
231
+ "node_modules/@esbuild/darwin-x64": {
232
+ "version": "0.24.2",
233
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz",
234
+ "integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==",
235
+ "cpu": [
236
+ "x64"
237
+ ],
238
+ "dev": true,
239
+ "license": "MIT",
240
+ "optional": true,
241
+ "os": [
242
+ "darwin"
243
+ ],
244
+ "engines": {
245
+ "node": ">=18"
246
+ }
247
+ },
248
+ "node_modules/@esbuild/freebsd-arm64": {
249
+ "version": "0.24.2",
250
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz",
251
+ "integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==",
252
+ "cpu": [
253
+ "arm64"
254
+ ],
255
+ "dev": true,
256
+ "license": "MIT",
257
+ "optional": true,
258
+ "os": [
259
+ "freebsd"
260
+ ],
261
+ "engines": {
262
+ "node": ">=18"
263
+ }
264
+ },
265
+ "node_modules/@esbuild/freebsd-x64": {
266
+ "version": "0.24.2",
267
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz",
268
+ "integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==",
269
+ "cpu": [
270
+ "x64"
271
+ ],
272
+ "dev": true,
273
+ "license": "MIT",
274
+ "optional": true,
275
+ "os": [
276
+ "freebsd"
277
+ ],
278
+ "engines": {
279
+ "node": ">=18"
280
+ }
281
+ },
282
+ "node_modules/@esbuild/linux-arm": {
283
+ "version": "0.24.2",
284
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz",
285
+ "integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==",
286
+ "cpu": [
287
+ "arm"
288
+ ],
289
+ "dev": true,
290
+ "license": "MIT",
291
+ "optional": true,
292
+ "os": [
293
+ "linux"
294
+ ],
295
+ "engines": {
296
+ "node": ">=18"
297
+ }
298
+ },
299
+ "node_modules/@esbuild/linux-arm64": {
300
+ "version": "0.24.2",
301
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz",
302
+ "integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==",
303
+ "cpu": [
304
+ "arm64"
305
+ ],
306
+ "dev": true,
307
+ "license": "MIT",
308
+ "optional": true,
309
+ "os": [
310
+ "linux"
311
+ ],
312
+ "engines": {
313
+ "node": ">=18"
314
+ }
315
+ },
316
+ "node_modules/@esbuild/linux-ia32": {
317
+ "version": "0.24.2",
318
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz",
319
+ "integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==",
320
+ "cpu": [
321
+ "ia32"
322
+ ],
323
+ "dev": true,
324
+ "license": "MIT",
325
+ "optional": true,
326
+ "os": [
327
+ "linux"
328
+ ],
329
+ "engines": {
330
+ "node": ">=18"
331
+ }
332
+ },
333
+ "node_modules/@esbuild/linux-loong64": {
334
+ "version": "0.24.2",
335
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz",
336
+ "integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==",
337
+ "cpu": [
338
+ "loong64"
339
+ ],
340
+ "dev": true,
341
+ "license": "MIT",
342
+ "optional": true,
343
+ "os": [
344
+ "linux"
345
+ ],
346
+ "engines": {
347
+ "node": ">=18"
348
+ }
349
+ },
350
+ "node_modules/@esbuild/linux-mips64el": {
351
+ "version": "0.24.2",
352
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz",
353
+ "integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==",
354
+ "cpu": [
355
+ "mips64el"
356
+ ],
357
+ "dev": true,
358
+ "license": "MIT",
359
+ "optional": true,
360
+ "os": [
361
+ "linux"
362
+ ],
363
+ "engines": {
364
+ "node": ">=18"
365
+ }
366
+ },
367
+ "node_modules/@esbuild/linux-ppc64": {
368
+ "version": "0.24.2",
369
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz",
370
+ "integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==",
371
+ "cpu": [
372
+ "ppc64"
373
+ ],
374
+ "dev": true,
375
+ "license": "MIT",
376
+ "optional": true,
377
+ "os": [
378
+ "linux"
379
+ ],
380
+ "engines": {
381
+ "node": ">=18"
382
+ }
383
+ },
384
+ "node_modules/@esbuild/linux-riscv64": {
385
+ "version": "0.24.2",
386
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz",
387
+ "integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==",
388
+ "cpu": [
389
+ "riscv64"
390
+ ],
391
+ "dev": true,
392
+ "license": "MIT",
393
+ "optional": true,
394
+ "os": [
395
+ "linux"
396
+ ],
397
+ "engines": {
398
+ "node": ">=18"
399
+ }
400
+ },
401
+ "node_modules/@esbuild/linux-s390x": {
402
+ "version": "0.24.2",
403
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz",
404
+ "integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==",
405
+ "cpu": [
406
+ "s390x"
407
+ ],
408
+ "dev": true,
409
+ "license": "MIT",
410
+ "optional": true,
411
+ "os": [
412
+ "linux"
413
+ ],
414
+ "engines": {
415
+ "node": ">=18"
416
+ }
417
+ },
418
+ "node_modules/@esbuild/linux-x64": {
419
+ "version": "0.24.2",
420
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz",
421
+ "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==",
422
+ "cpu": [
423
+ "x64"
424
+ ],
425
+ "dev": true,
426
+ "license": "MIT",
427
+ "optional": true,
428
+ "os": [
429
+ "linux"
430
+ ],
431
+ "engines": {
432
+ "node": ">=18"
433
+ }
434
+ },
435
+ "node_modules/@esbuild/netbsd-arm64": {
436
+ "version": "0.24.2",
437
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz",
438
+ "integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==",
439
+ "cpu": [
440
+ "arm64"
441
+ ],
442
+ "dev": true,
443
+ "license": "MIT",
444
+ "optional": true,
445
+ "os": [
446
+ "netbsd"
447
+ ],
448
+ "engines": {
449
+ "node": ">=18"
450
+ }
451
+ },
452
+ "node_modules/@esbuild/netbsd-x64": {
453
+ "version": "0.24.2",
454
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz",
455
+ "integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==",
456
+ "cpu": [
457
+ "x64"
458
+ ],
459
+ "dev": true,
460
+ "license": "MIT",
461
+ "optional": true,
462
+ "os": [
463
+ "netbsd"
464
+ ],
465
+ "engines": {
466
+ "node": ">=18"
467
+ }
468
+ },
469
+ "node_modules/@esbuild/openbsd-arm64": {
470
+ "version": "0.24.2",
471
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz",
472
+ "integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==",
473
+ "cpu": [
474
+ "arm64"
475
+ ],
476
+ "dev": true,
477
+ "license": "MIT",
478
+ "optional": true,
479
+ "os": [
480
+ "openbsd"
481
+ ],
482
+ "engines": {
483
+ "node": ">=18"
484
+ }
485
+ },
486
+ "node_modules/@esbuild/openbsd-x64": {
487
+ "version": "0.24.2",
488
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz",
489
+ "integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==",
490
+ "cpu": [
491
+ "x64"
492
+ ],
493
+ "dev": true,
494
+ "license": "MIT",
495
+ "optional": true,
496
+ "os": [
497
+ "openbsd"
498
+ ],
499
+ "engines": {
500
+ "node": ">=18"
501
+ }
502
+ },
503
+ "node_modules/@esbuild/sunos-x64": {
504
+ "version": "0.24.2",
505
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz",
506
+ "integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==",
507
+ "cpu": [
508
+ "x64"
509
+ ],
510
+ "dev": true,
511
+ "license": "MIT",
512
+ "optional": true,
513
+ "os": [
514
+ "sunos"
515
+ ],
516
+ "engines": {
517
+ "node": ">=18"
518
+ }
519
+ },
520
+ "node_modules/@esbuild/win32-arm64": {
521
+ "version": "0.24.2",
522
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz",
523
+ "integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==",
524
+ "cpu": [
525
+ "arm64"
526
+ ],
527
+ "dev": true,
528
+ "license": "MIT",
529
+ "optional": true,
530
+ "os": [
531
+ "win32"
532
+ ],
533
+ "engines": {
534
+ "node": ">=18"
535
+ }
536
+ },
537
+ "node_modules/@esbuild/win32-ia32": {
538
+ "version": "0.24.2",
539
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz",
540
+ "integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==",
541
+ "cpu": [
542
+ "ia32"
543
+ ],
544
+ "dev": true,
545
+ "license": "MIT",
546
+ "optional": true,
547
+ "os": [
548
+ "win32"
549
+ ],
550
+ "engines": {
551
+ "node": ">=18"
552
+ }
553
+ },
554
+ "node_modules/@esbuild/win32-x64": {
555
+ "version": "0.24.2",
556
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz",
557
+ "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==",
558
+ "cpu": [
559
+ "x64"
560
+ ],
561
+ "dev": true,
562
+ "license": "MIT",
563
+ "optional": true,
564
+ "os": [
565
+ "win32"
566
+ ],
567
+ "engines": {
568
+ "node": ">=18"
569
+ }
570
+ },
571
+ "node_modules/agent-base": {
572
+ "version": "7.1.3",
573
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz",
574
+ "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==",
575
+ "dev": true,
576
+ "license": "MIT",
577
+ "engines": {
578
+ "node": ">= 14"
579
+ }
580
+ },
581
+ "node_modules/ansi-colors": {
582
+ "version": "4.1.3",
583
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
584
+ "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
585
+ "dev": true,
586
+ "license": "MIT",
587
+ "engines": {
588
+ "node": ">=6"
589
+ }
590
+ },
591
+ "node_modules/ansi-regex": {
592
+ "version": "5.0.1",
593
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
594
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
595
+ "dev": true,
596
+ "license": "MIT",
597
+ "engines": {
598
+ "node": ">=8"
599
+ }
600
+ },
601
+ "node_modules/ansi-styles": {
602
+ "version": "4.3.0",
603
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
604
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
605
+ "dev": true,
606
+ "license": "MIT",
607
+ "dependencies": {
608
+ "color-convert": "^2.0.1"
609
+ },
610
+ "engines": {
611
+ "node": ">=8"
612
+ },
613
+ "funding": {
614
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
615
+ }
616
+ },
617
+ "node_modules/anymatch": {
618
+ "version": "3.1.3",
619
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
620
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
621
+ "dev": true,
622
+ "license": "ISC",
623
+ "dependencies": {
624
+ "normalize-path": "^3.0.0",
625
+ "picomatch": "^2.0.4"
626
+ },
627
+ "engines": {
628
+ "node": ">= 8"
629
+ }
630
+ },
631
+ "node_modules/argparse": {
632
+ "version": "2.0.1",
633
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
634
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
635
+ "dev": true,
636
+ "license": "Python-2.0"
637
+ },
638
+ "node_modules/asynckit": {
639
+ "version": "0.4.0",
640
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
641
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
642
+ "dev": true,
643
+ "license": "MIT"
644
+ },
645
+ "node_modules/balanced-match": {
646
+ "version": "1.0.2",
647
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
648
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
649
+ "dev": true,
650
+ "license": "MIT"
651
+ },
652
+ "node_modules/binary-extensions": {
653
+ "version": "2.3.0",
654
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
655
+ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
656
+ "dev": true,
657
+ "license": "MIT",
658
+ "engines": {
659
+ "node": ">=8"
660
+ },
661
+ "funding": {
662
+ "url": "https://github.com/sponsors/sindresorhus"
663
+ }
664
+ },
665
+ "node_modules/brace-expansion": {
666
+ "version": "2.0.2",
667
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
668
+ "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
669
+ "dev": true,
670
+ "license": "MIT",
671
+ "dependencies": {
672
+ "balanced-match": "^1.0.0"
673
+ }
674
+ },
675
+ "node_modules/braces": {
676
+ "version": "3.0.3",
677
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
678
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
679
+ "dev": true,
680
+ "license": "MIT",
681
+ "dependencies": {
682
+ "fill-range": "^7.1.1"
683
+ },
684
+ "engines": {
685
+ "node": ">=8"
686
+ }
687
+ },
688
+ "node_modules/browser-stdout": {
689
+ "version": "1.3.1",
690
+ "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
691
+ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
692
+ "dev": true,
693
+ "license": "ISC"
694
+ },
695
+ "node_modules/call-bind-apply-helpers": {
696
+ "version": "1.0.2",
697
+ "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
698
+ "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
699
+ "dev": true,
700
+ "license": "MIT",
701
+ "dependencies": {
702
+ "es-errors": "^1.3.0",
703
+ "function-bind": "^1.1.2"
704
+ },
705
+ "engines": {
706
+ "node": ">= 0.4"
707
+ }
708
+ },
709
+ "node_modules/camelcase": {
710
+ "version": "6.3.0",
711
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
712
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
713
+ "dev": true,
714
+ "license": "MIT",
715
+ "engines": {
716
+ "node": ">=10"
717
+ },
718
+ "funding": {
719
+ "url": "https://github.com/sponsors/sindresorhus"
720
+ }
721
+ },
722
+ "node_modules/chalk": {
723
+ "version": "4.1.2",
724
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
725
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
726
+ "dev": true,
727
+ "license": "MIT",
728
+ "dependencies": {
729
+ "ansi-styles": "^4.1.0",
730
+ "supports-color": "^7.1.0"
731
+ },
732
+ "engines": {
733
+ "node": ">=10"
734
+ },
735
+ "funding": {
736
+ "url": "https://github.com/chalk/chalk?sponsor=1"
737
+ }
738
+ },
739
+ "node_modules/chalk/node_modules/supports-color": {
740
+ "version": "7.2.0",
741
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
742
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
743
+ "dev": true,
744
+ "license": "MIT",
745
+ "dependencies": {
746
+ "has-flag": "^4.0.0"
747
+ },
748
+ "engines": {
749
+ "node": ">=8"
750
+ }
751
+ },
752
+ "node_modules/chokidar": {
753
+ "version": "3.6.0",
754
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
755
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
756
+ "dev": true,
757
+ "license": "MIT",
758
+ "dependencies": {
759
+ "anymatch": "~3.1.2",
760
+ "braces": "~3.0.2",
761
+ "glob-parent": "~5.1.2",
762
+ "is-binary-path": "~2.1.0",
763
+ "is-glob": "~4.0.1",
764
+ "normalize-path": "~3.0.0",
765
+ "readdirp": "~3.6.0"
766
+ },
767
+ "engines": {
768
+ "node": ">= 8.10.0"
769
+ },
770
+ "funding": {
771
+ "url": "https://paulmillr.com/funding/"
772
+ },
773
+ "optionalDependencies": {
774
+ "fsevents": "~2.3.2"
775
+ }
776
+ },
777
+ "node_modules/cliui": {
778
+ "version": "7.0.4",
779
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
780
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
781
+ "dev": true,
782
+ "license": "ISC",
783
+ "dependencies": {
784
+ "string-width": "^4.2.0",
785
+ "strip-ansi": "^6.0.0",
786
+ "wrap-ansi": "^7.0.0"
787
+ }
788
+ },
789
+ "node_modules/color-convert": {
790
+ "version": "2.0.1",
791
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
792
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
793
+ "dev": true,
794
+ "license": "MIT",
795
+ "dependencies": {
796
+ "color-name": "~1.1.4"
797
+ },
798
+ "engines": {
799
+ "node": ">=7.0.0"
800
+ }
801
+ },
802
+ "node_modules/color-name": {
803
+ "version": "1.1.4",
804
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
805
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
806
+ "dev": true,
807
+ "license": "MIT"
808
+ },
809
+ "node_modules/combined-stream": {
810
+ "version": "1.0.8",
811
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
812
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
813
+ "dev": true,
814
+ "license": "MIT",
815
+ "dependencies": {
816
+ "delayed-stream": "~1.0.0"
817
+ },
818
+ "engines": {
819
+ "node": ">= 0.8"
820
+ }
821
+ },
822
+ "node_modules/cssstyle": {
823
+ "version": "4.4.0",
824
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.4.0.tgz",
825
+ "integrity": "sha512-W0Y2HOXlPkb2yaKrCVRjinYKciu/qSLEmK0K9mcfDei3zwlnHFEHAs/Du3cIRwPqY+J4JsiBzUjoHyc8RsJ03A==",
826
+ "dev": true,
827
+ "license": "MIT",
828
+ "dependencies": {
829
+ "@asamuzakjp/css-color": "^3.2.0",
830
+ "rrweb-cssom": "^0.8.0"
831
+ },
832
+ "engines": {
833
+ "node": ">=18"
834
+ }
835
+ },
836
+ "node_modules/cssstyle/node_modules/rrweb-cssom": {
837
+ "version": "0.8.0",
838
+ "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz",
839
+ "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==",
840
+ "dev": true,
841
+ "license": "MIT"
842
+ },
843
+ "node_modules/data-urls": {
844
+ "version": "5.0.0",
845
+ "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz",
846
+ "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==",
847
+ "dev": true,
848
+ "license": "MIT",
849
+ "dependencies": {
850
+ "whatwg-mimetype": "^4.0.0",
851
+ "whatwg-url": "^14.0.0"
852
+ },
853
+ "engines": {
854
+ "node": ">=18"
855
+ }
856
+ },
857
+ "node_modules/debug": {
858
+ "version": "4.4.1",
859
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
860
+ "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
861
+ "dev": true,
862
+ "license": "MIT",
863
+ "dependencies": {
864
+ "ms": "^2.1.3"
865
+ },
866
+ "engines": {
867
+ "node": ">=6.0"
868
+ },
869
+ "peerDependenciesMeta": {
870
+ "supports-color": {
871
+ "optional": true
872
+ }
873
+ }
874
+ },
875
+ "node_modules/decamelize": {
876
+ "version": "4.0.0",
877
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
878
+ "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
879
+ "dev": true,
880
+ "license": "MIT",
881
+ "engines": {
882
+ "node": ">=10"
883
+ },
884
+ "funding": {
885
+ "url": "https://github.com/sponsors/sindresorhus"
886
+ }
887
+ },
888
+ "node_modules/decimal.js": {
889
+ "version": "10.5.0",
890
+ "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.5.0.tgz",
891
+ "integrity": "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==",
892
+ "dev": true,
893
+ "license": "MIT"
894
+ },
895
+ "node_modules/delayed-stream": {
896
+ "version": "1.0.0",
897
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
898
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
899
+ "dev": true,
900
+ "license": "MIT",
901
+ "engines": {
902
+ "node": ">=0.4.0"
903
+ }
904
+ },
905
+ "node_modules/diff": {
906
+ "version": "5.2.0",
907
+ "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
908
+ "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==",
909
+ "dev": true,
910
+ "license": "BSD-3-Clause",
911
+ "engines": {
912
+ "node": ">=0.3.1"
913
+ }
914
+ },
915
+ "node_modules/dunder-proto": {
916
+ "version": "1.0.1",
917
+ "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
918
+ "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
919
+ "dev": true,
920
+ "license": "MIT",
921
+ "dependencies": {
922
+ "call-bind-apply-helpers": "^1.0.1",
923
+ "es-errors": "^1.3.0",
924
+ "gopd": "^1.2.0"
925
+ },
926
+ "engines": {
927
+ "node": ">= 0.4"
928
+ }
929
+ },
930
+ "node_modules/emoji-regex": {
931
+ "version": "8.0.0",
932
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
933
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
934
+ "dev": true,
935
+ "license": "MIT"
936
+ },
937
+ "node_modules/es-define-property": {
938
+ "version": "1.0.1",
939
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
940
+ "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
941
+ "dev": true,
942
+ "license": "MIT",
943
+ "engines": {
944
+ "node": ">= 0.4"
945
+ }
946
+ },
947
+ "node_modules/es-errors": {
948
+ "version": "1.3.0",
949
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
950
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
951
+ "dev": true,
952
+ "license": "MIT",
953
+ "engines": {
954
+ "node": ">= 0.4"
955
+ }
956
+ },
957
+ "node_modules/es-object-atoms": {
958
+ "version": "1.1.1",
959
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
960
+ "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
961
+ "dev": true,
962
+ "license": "MIT",
963
+ "dependencies": {
964
+ "es-errors": "^1.3.0"
965
+ },
966
+ "engines": {
967
+ "node": ">= 0.4"
968
+ }
969
+ },
970
+ "node_modules/es-set-tostringtag": {
971
+ "version": "2.1.0",
972
+ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
973
+ "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
974
+ "dev": true,
975
+ "license": "MIT",
976
+ "dependencies": {
977
+ "es-errors": "^1.3.0",
978
+ "get-intrinsic": "^1.2.6",
979
+ "has-tostringtag": "^1.0.2",
980
+ "hasown": "^2.0.2"
981
+ },
982
+ "engines": {
983
+ "node": ">= 0.4"
984
+ }
985
+ },
986
+ "node_modules/esbuild": {
987
+ "version": "0.24.2",
988
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz",
989
+ "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==",
990
+ "dev": true,
991
+ "hasInstallScript": true,
992
+ "license": "MIT",
993
+ "bin": {
994
+ "esbuild": "bin/esbuild"
995
+ },
996
+ "engines": {
997
+ "node": ">=18"
998
+ },
999
+ "optionalDependencies": {
1000
+ "@esbuild/aix-ppc64": "0.24.2",
1001
+ "@esbuild/android-arm": "0.24.2",
1002
+ "@esbuild/android-arm64": "0.24.2",
1003
+ "@esbuild/android-x64": "0.24.2",
1004
+ "@esbuild/darwin-arm64": "0.24.2",
1005
+ "@esbuild/darwin-x64": "0.24.2",
1006
+ "@esbuild/freebsd-arm64": "0.24.2",
1007
+ "@esbuild/freebsd-x64": "0.24.2",
1008
+ "@esbuild/linux-arm": "0.24.2",
1009
+ "@esbuild/linux-arm64": "0.24.2",
1010
+ "@esbuild/linux-ia32": "0.24.2",
1011
+ "@esbuild/linux-loong64": "0.24.2",
1012
+ "@esbuild/linux-mips64el": "0.24.2",
1013
+ "@esbuild/linux-ppc64": "0.24.2",
1014
+ "@esbuild/linux-riscv64": "0.24.2",
1015
+ "@esbuild/linux-s390x": "0.24.2",
1016
+ "@esbuild/linux-x64": "0.24.2",
1017
+ "@esbuild/netbsd-arm64": "0.24.2",
1018
+ "@esbuild/netbsd-x64": "0.24.2",
1019
+ "@esbuild/openbsd-arm64": "0.24.2",
1020
+ "@esbuild/openbsd-x64": "0.24.2",
1021
+ "@esbuild/sunos-x64": "0.24.2",
1022
+ "@esbuild/win32-arm64": "0.24.2",
1023
+ "@esbuild/win32-ia32": "0.24.2",
1024
+ "@esbuild/win32-x64": "0.24.2"
1025
+ }
1026
+ },
1027
+ "node_modules/escalade": {
1028
+ "version": "3.2.0",
1029
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
1030
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
1031
+ "dev": true,
1032
+ "license": "MIT",
1033
+ "engines": {
1034
+ "node": ">=6"
1035
+ }
1036
+ },
1037
+ "node_modules/fill-range": {
1038
+ "version": "7.1.1",
1039
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
1040
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
1041
+ "dev": true,
1042
+ "license": "MIT",
1043
+ "dependencies": {
1044
+ "to-regex-range": "^5.0.1"
1045
+ },
1046
+ "engines": {
1047
+ "node": ">=8"
1048
+ }
1049
+ },
1050
+ "node_modules/find-up": {
1051
+ "version": "5.0.0",
1052
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
1053
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
1054
+ "dev": true,
1055
+ "license": "MIT",
1056
+ "dependencies": {
1057
+ "locate-path": "^6.0.0",
1058
+ "path-exists": "^4.0.0"
1059
+ },
1060
+ "engines": {
1061
+ "node": ">=10"
1062
+ },
1063
+ "funding": {
1064
+ "url": "https://github.com/sponsors/sindresorhus"
1065
+ }
1066
+ },
1067
+ "node_modules/flat": {
1068
+ "version": "5.0.2",
1069
+ "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
1070
+ "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
1071
+ "dev": true,
1072
+ "license": "BSD-3-Clause",
1073
+ "bin": {
1074
+ "flat": "cli.js"
1075
+ }
1076
+ },
1077
+ "node_modules/form-data": {
1078
+ "version": "4.0.3",
1079
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.3.tgz",
1080
+ "integrity": "sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==",
1081
+ "dev": true,
1082
+ "license": "MIT",
1083
+ "dependencies": {
1084
+ "asynckit": "^0.4.0",
1085
+ "combined-stream": "^1.0.8",
1086
+ "es-set-tostringtag": "^2.1.0",
1087
+ "hasown": "^2.0.2",
1088
+ "mime-types": "^2.1.12"
1089
+ },
1090
+ "engines": {
1091
+ "node": ">= 6"
1092
+ }
1093
+ },
1094
+ "node_modules/fs.realpath": {
1095
+ "version": "1.0.0",
1096
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1097
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
1098
+ "dev": true,
1099
+ "license": "ISC"
1100
+ },
1101
+ "node_modules/fsevents": {
1102
+ "version": "2.3.3",
1103
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
1104
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
1105
+ "dev": true,
1106
+ "hasInstallScript": true,
1107
+ "license": "MIT",
1108
+ "optional": true,
1109
+ "os": [
1110
+ "darwin"
1111
+ ],
1112
+ "engines": {
1113
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
1114
+ }
1115
+ },
1116
+ "node_modules/function-bind": {
1117
+ "version": "1.1.2",
1118
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
1119
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
1120
+ "dev": true,
1121
+ "license": "MIT",
1122
+ "funding": {
1123
+ "url": "https://github.com/sponsors/ljharb"
1124
+ }
1125
+ },
1126
+ "node_modules/get-caller-file": {
1127
+ "version": "2.0.5",
1128
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
1129
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
1130
+ "dev": true,
1131
+ "license": "ISC",
1132
+ "engines": {
1133
+ "node": "6.* || 8.* || >= 10.*"
1134
+ }
1135
+ },
1136
+ "node_modules/get-intrinsic": {
1137
+ "version": "1.3.0",
1138
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
1139
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
1140
+ "dev": true,
1141
+ "license": "MIT",
1142
+ "dependencies": {
1143
+ "call-bind-apply-helpers": "^1.0.2",
1144
+ "es-define-property": "^1.0.1",
1145
+ "es-errors": "^1.3.0",
1146
+ "es-object-atoms": "^1.1.1",
1147
+ "function-bind": "^1.1.2",
1148
+ "get-proto": "^1.0.1",
1149
+ "gopd": "^1.2.0",
1150
+ "has-symbols": "^1.1.0",
1151
+ "hasown": "^2.0.2",
1152
+ "math-intrinsics": "^1.1.0"
1153
+ },
1154
+ "engines": {
1155
+ "node": ">= 0.4"
1156
+ },
1157
+ "funding": {
1158
+ "url": "https://github.com/sponsors/ljharb"
1159
+ }
1160
+ },
1161
+ "node_modules/get-proto": {
1162
+ "version": "1.0.1",
1163
+ "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
1164
+ "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
1165
+ "dev": true,
1166
+ "license": "MIT",
1167
+ "dependencies": {
1168
+ "dunder-proto": "^1.0.1",
1169
+ "es-object-atoms": "^1.0.0"
1170
+ },
1171
+ "engines": {
1172
+ "node": ">= 0.4"
1173
+ }
1174
+ },
1175
+ "node_modules/glob": {
1176
+ "version": "8.1.0",
1177
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
1178
+ "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
1179
+ "deprecated": "Glob versions prior to v9 are no longer supported",
1180
+ "dev": true,
1181
+ "license": "ISC",
1182
+ "dependencies": {
1183
+ "fs.realpath": "^1.0.0",
1184
+ "inflight": "^1.0.4",
1185
+ "inherits": "2",
1186
+ "minimatch": "^5.0.1",
1187
+ "once": "^1.3.0"
1188
+ },
1189
+ "engines": {
1190
+ "node": ">=12"
1191
+ },
1192
+ "funding": {
1193
+ "url": "https://github.com/sponsors/isaacs"
1194
+ }
1195
+ },
1196
+ "node_modules/glob-parent": {
1197
+ "version": "5.1.2",
1198
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
1199
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
1200
+ "dev": true,
1201
+ "license": "ISC",
1202
+ "dependencies": {
1203
+ "is-glob": "^4.0.1"
1204
+ },
1205
+ "engines": {
1206
+ "node": ">= 6"
1207
+ }
1208
+ },
1209
+ "node_modules/gopd": {
1210
+ "version": "1.2.0",
1211
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
1212
+ "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
1213
+ "dev": true,
1214
+ "license": "MIT",
1215
+ "engines": {
1216
+ "node": ">= 0.4"
1217
+ },
1218
+ "funding": {
1219
+ "url": "https://github.com/sponsors/ljharb"
1220
+ }
1221
+ },
1222
+ "node_modules/has-flag": {
1223
+ "version": "4.0.0",
1224
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
1225
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
1226
+ "dev": true,
1227
+ "license": "MIT",
1228
+ "engines": {
1229
+ "node": ">=8"
1230
+ }
1231
+ },
1232
+ "node_modules/has-symbols": {
1233
+ "version": "1.1.0",
1234
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
1235
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
1236
+ "dev": true,
1237
+ "license": "MIT",
1238
+ "engines": {
1239
+ "node": ">= 0.4"
1240
+ },
1241
+ "funding": {
1242
+ "url": "https://github.com/sponsors/ljharb"
1243
+ }
1244
+ },
1245
+ "node_modules/has-tostringtag": {
1246
+ "version": "1.0.2",
1247
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
1248
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
1249
+ "dev": true,
1250
+ "license": "MIT",
1251
+ "dependencies": {
1252
+ "has-symbols": "^1.0.3"
1253
+ },
1254
+ "engines": {
1255
+ "node": ">= 0.4"
1256
+ },
1257
+ "funding": {
1258
+ "url": "https://github.com/sponsors/ljharb"
1259
+ }
1260
+ },
1261
+ "node_modules/hasown": {
1262
+ "version": "2.0.2",
1263
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
1264
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
1265
+ "dev": true,
1266
+ "license": "MIT",
1267
+ "dependencies": {
1268
+ "function-bind": "^1.1.2"
1269
+ },
1270
+ "engines": {
1271
+ "node": ">= 0.4"
1272
+ }
1273
+ },
1274
+ "node_modules/he": {
1275
+ "version": "1.2.0",
1276
+ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
1277
+ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
1278
+ "dev": true,
1279
+ "license": "MIT",
1280
+ "bin": {
1281
+ "he": "bin/he"
1282
+ }
1283
+ },
1284
+ "node_modules/html-encoding-sniffer": {
1285
+ "version": "4.0.0",
1286
+ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz",
1287
+ "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==",
1288
+ "dev": true,
1289
+ "license": "MIT",
1290
+ "dependencies": {
1291
+ "whatwg-encoding": "^3.1.1"
1292
+ },
1293
+ "engines": {
1294
+ "node": ">=18"
1295
+ }
1296
+ },
1297
+ "node_modules/http-proxy-agent": {
1298
+ "version": "7.0.2",
1299
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
1300
+ "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
1301
+ "dev": true,
1302
+ "license": "MIT",
1303
+ "dependencies": {
1304
+ "agent-base": "^7.1.0",
1305
+ "debug": "^4.3.4"
1306
+ },
1307
+ "engines": {
1308
+ "node": ">= 14"
1309
+ }
1310
+ },
1311
+ "node_modules/https-proxy-agent": {
1312
+ "version": "7.0.6",
1313
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
1314
+ "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
1315
+ "dev": true,
1316
+ "license": "MIT",
1317
+ "dependencies": {
1318
+ "agent-base": "^7.1.2",
1319
+ "debug": "4"
1320
+ },
1321
+ "engines": {
1322
+ "node": ">= 14"
1323
+ }
1324
+ },
1325
+ "node_modules/iconv-lite": {
1326
+ "version": "0.6.3",
1327
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
1328
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
1329
+ "dev": true,
1330
+ "license": "MIT",
1331
+ "dependencies": {
1332
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
1333
+ },
1334
+ "engines": {
1335
+ "node": ">=0.10.0"
1336
+ }
1337
+ },
1338
+ "node_modules/inflight": {
1339
+ "version": "1.0.6",
1340
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1341
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
1342
+ "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.",
1343
+ "dev": true,
1344
+ "license": "ISC",
1345
+ "dependencies": {
1346
+ "once": "^1.3.0",
1347
+ "wrappy": "1"
1348
+ }
1349
+ },
1350
+ "node_modules/inherits": {
1351
+ "version": "2.0.4",
1352
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1353
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
1354
+ "dev": true,
1355
+ "license": "ISC"
1356
+ },
1357
+ "node_modules/is-binary-path": {
1358
+ "version": "2.1.0",
1359
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
1360
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
1361
+ "dev": true,
1362
+ "license": "MIT",
1363
+ "dependencies": {
1364
+ "binary-extensions": "^2.0.0"
1365
+ },
1366
+ "engines": {
1367
+ "node": ">=8"
1368
+ }
1369
+ },
1370
+ "node_modules/is-extglob": {
1371
+ "version": "2.1.1",
1372
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
1373
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
1374
+ "dev": true,
1375
+ "license": "MIT",
1376
+ "engines": {
1377
+ "node": ">=0.10.0"
1378
+ }
1379
+ },
1380
+ "node_modules/is-fullwidth-code-point": {
1381
+ "version": "3.0.0",
1382
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
1383
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
1384
+ "dev": true,
1385
+ "license": "MIT",
1386
+ "engines": {
1387
+ "node": ">=8"
1388
+ }
1389
+ },
1390
+ "node_modules/is-glob": {
1391
+ "version": "4.0.3",
1392
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
1393
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
1394
+ "dev": true,
1395
+ "license": "MIT",
1396
+ "dependencies": {
1397
+ "is-extglob": "^2.1.1"
1398
+ },
1399
+ "engines": {
1400
+ "node": ">=0.10.0"
1401
+ }
1402
+ },
1403
+ "node_modules/is-number": {
1404
+ "version": "7.0.0",
1405
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
1406
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
1407
+ "dev": true,
1408
+ "license": "MIT",
1409
+ "engines": {
1410
+ "node": ">=0.12.0"
1411
+ }
1412
+ },
1413
+ "node_modules/is-plain-obj": {
1414
+ "version": "2.1.0",
1415
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
1416
+ "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
1417
+ "dev": true,
1418
+ "license": "MIT",
1419
+ "engines": {
1420
+ "node": ">=8"
1421
+ }
1422
+ },
1423
+ "node_modules/is-potential-custom-element-name": {
1424
+ "version": "1.0.1",
1425
+ "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
1426
+ "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==",
1427
+ "dev": true,
1428
+ "license": "MIT"
1429
+ },
1430
+ "node_modules/is-unicode-supported": {
1431
+ "version": "0.1.0",
1432
+ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
1433
+ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
1434
+ "dev": true,
1435
+ "license": "MIT",
1436
+ "engines": {
1437
+ "node": ">=10"
1438
+ },
1439
+ "funding": {
1440
+ "url": "https://github.com/sponsors/sindresorhus"
1441
+ }
1442
+ },
1443
+ "node_modules/js-yaml": {
1444
+ "version": "4.1.0",
1445
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
1446
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
1447
+ "dev": true,
1448
+ "license": "MIT",
1449
+ "dependencies": {
1450
+ "argparse": "^2.0.1"
1451
+ },
1452
+ "bin": {
1453
+ "js-yaml": "bin/js-yaml.js"
1454
+ }
1455
+ },
1456
+ "node_modules/jsdom": {
1457
+ "version": "25.0.1",
1458
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-25.0.1.tgz",
1459
+ "integrity": "sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==",
1460
+ "dev": true,
1461
+ "license": "MIT",
1462
+ "dependencies": {
1463
+ "cssstyle": "^4.1.0",
1464
+ "data-urls": "^5.0.0",
1465
+ "decimal.js": "^10.4.3",
1466
+ "form-data": "^4.0.0",
1467
+ "html-encoding-sniffer": "^4.0.0",
1468
+ "http-proxy-agent": "^7.0.2",
1469
+ "https-proxy-agent": "^7.0.5",
1470
+ "is-potential-custom-element-name": "^1.0.1",
1471
+ "nwsapi": "^2.2.12",
1472
+ "parse5": "^7.1.2",
1473
+ "rrweb-cssom": "^0.7.1",
1474
+ "saxes": "^6.0.0",
1475
+ "symbol-tree": "^3.2.4",
1476
+ "tough-cookie": "^5.0.0",
1477
+ "w3c-xmlserializer": "^5.0.0",
1478
+ "webidl-conversions": "^7.0.0",
1479
+ "whatwg-encoding": "^3.1.1",
1480
+ "whatwg-mimetype": "^4.0.0",
1481
+ "whatwg-url": "^14.0.0",
1482
+ "ws": "^8.18.0",
1483
+ "xml-name-validator": "^5.0.0"
1484
+ },
1485
+ "engines": {
1486
+ "node": ">=18"
1487
+ },
1488
+ "peerDependencies": {
1489
+ "canvas": "^2.11.2"
1490
+ },
1491
+ "peerDependenciesMeta": {
1492
+ "canvas": {
1493
+ "optional": true
1494
+ }
1495
+ }
1496
+ },
1497
+ "node_modules/locate-path": {
1498
+ "version": "6.0.0",
1499
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
1500
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
1501
+ "dev": true,
1502
+ "license": "MIT",
1503
+ "dependencies": {
1504
+ "p-locate": "^5.0.0"
1505
+ },
1506
+ "engines": {
1507
+ "node": ">=10"
1508
+ },
1509
+ "funding": {
1510
+ "url": "https://github.com/sponsors/sindresorhus"
1511
+ }
1512
+ },
1513
+ "node_modules/log-symbols": {
1514
+ "version": "4.1.0",
1515
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
1516
+ "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
1517
+ "dev": true,
1518
+ "license": "MIT",
1519
+ "dependencies": {
1520
+ "chalk": "^4.1.0",
1521
+ "is-unicode-supported": "^0.1.0"
1522
+ },
1523
+ "engines": {
1524
+ "node": ">=10"
1525
+ },
1526
+ "funding": {
1527
+ "url": "https://github.com/sponsors/sindresorhus"
1528
+ }
1529
+ },
1530
+ "node_modules/lru-cache": {
1531
+ "version": "10.4.3",
1532
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
1533
+ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
1534
+ "dev": true,
1535
+ "license": "ISC"
1536
+ },
1537
+ "node_modules/math-intrinsics": {
1538
+ "version": "1.1.0",
1539
+ "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
1540
+ "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
1541
+ "dev": true,
1542
+ "license": "MIT",
1543
+ "engines": {
1544
+ "node": ">= 0.4"
1545
+ }
1546
+ },
1547
+ "node_modules/mime-db": {
1548
+ "version": "1.52.0",
1549
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
1550
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
1551
+ "dev": true,
1552
+ "license": "MIT",
1553
+ "engines": {
1554
+ "node": ">= 0.6"
1555
+ }
1556
+ },
1557
+ "node_modules/mime-types": {
1558
+ "version": "2.1.35",
1559
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
1560
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
1561
+ "dev": true,
1562
+ "license": "MIT",
1563
+ "dependencies": {
1564
+ "mime-db": "1.52.0"
1565
+ },
1566
+ "engines": {
1567
+ "node": ">= 0.6"
1568
+ }
1569
+ },
1570
+ "node_modules/minimatch": {
1571
+ "version": "5.1.6",
1572
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
1573
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
1574
+ "dev": true,
1575
+ "license": "ISC",
1576
+ "dependencies": {
1577
+ "brace-expansion": "^2.0.1"
1578
+ },
1579
+ "engines": {
1580
+ "node": ">=10"
1581
+ }
1582
+ },
1583
+ "node_modules/mocha": {
1584
+ "version": "10.8.2",
1585
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.8.2.tgz",
1586
+ "integrity": "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==",
1587
+ "dev": true,
1588
+ "license": "MIT",
1589
+ "dependencies": {
1590
+ "ansi-colors": "^4.1.3",
1591
+ "browser-stdout": "^1.3.1",
1592
+ "chokidar": "^3.5.3",
1593
+ "debug": "^4.3.5",
1594
+ "diff": "^5.2.0",
1595
+ "escape-string-regexp": "^4.0.0",
1596
+ "find-up": "^5.0.0",
1597
+ "glob": "^8.1.0",
1598
+ "he": "^1.2.0",
1599
+ "js-yaml": "^4.1.0",
1600
+ "log-symbols": "^4.1.0",
1601
+ "minimatch": "^5.1.6",
1602
+ "ms": "^2.1.3",
1603
+ "serialize-javascript": "^6.0.2",
1604
+ "strip-json-comments": "^3.1.1",
1605
+ "supports-color": "^8.1.1",
1606
+ "workerpool": "^6.5.1",
1607
+ "yargs": "^16.2.0",
1608
+ "yargs-parser": "^20.2.9",
1609
+ "yargs-unparser": "^2.0.0"
1610
+ },
1611
+ "bin": {
1612
+ "_mocha": "bin/_mocha",
1613
+ "mocha": "bin/mocha.js"
1614
+ },
1615
+ "engines": {
1616
+ "node": ">= 14.0.0"
1617
+ }
1618
+ },
1619
+ "node_modules/mocha/node_modules/escape-string-regexp": {
1620
+ "version": "4.0.0",
1621
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
1622
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
1623
+ "dev": true,
1624
+ "license": "MIT",
1625
+ "engines": {
1626
+ "node": ">=10"
1627
+ },
1628
+ "funding": {
1629
+ "url": "https://github.com/sponsors/sindresorhus"
1630
+ }
1631
+ },
1632
+ "node_modules/ms": {
1633
+ "version": "2.1.3",
1634
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
1635
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
1636
+ "dev": true,
1637
+ "license": "MIT"
1638
+ },
1639
+ "node_modules/normalize-path": {
1640
+ "version": "3.0.0",
1641
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
1642
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
1643
+ "dev": true,
1644
+ "license": "MIT",
1645
+ "engines": {
1646
+ "node": ">=0.10.0"
1647
+ }
1648
+ },
1649
+ "node_modules/nwsapi": {
1650
+ "version": "2.2.20",
1651
+ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.20.tgz",
1652
+ "integrity": "sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==",
1653
+ "dev": true,
1654
+ "license": "MIT"
1655
+ },
1656
+ "node_modules/once": {
1657
+ "version": "1.4.0",
1658
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
1659
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
1660
+ "dev": true,
1661
+ "license": "ISC",
1662
+ "dependencies": {
1663
+ "wrappy": "1"
1664
+ }
1665
+ },
1666
+ "node_modules/p-limit": {
1667
+ "version": "3.1.0",
1668
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
1669
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
1670
+ "dev": true,
1671
+ "license": "MIT",
1672
+ "dependencies": {
1673
+ "yocto-queue": "^0.1.0"
1674
+ },
1675
+ "engines": {
1676
+ "node": ">=10"
1677
+ },
1678
+ "funding": {
1679
+ "url": "https://github.com/sponsors/sindresorhus"
1680
+ }
1681
+ },
1682
+ "node_modules/p-locate": {
1683
+ "version": "5.0.0",
1684
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
1685
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
1686
+ "dev": true,
1687
+ "license": "MIT",
1688
+ "dependencies": {
1689
+ "p-limit": "^3.0.2"
1690
+ },
1691
+ "engines": {
1692
+ "node": ">=10"
1693
+ },
1694
+ "funding": {
1695
+ "url": "https://github.com/sponsors/sindresorhus"
1696
+ }
1697
+ },
1698
+ "node_modules/parse5": {
1699
+ "version": "7.3.0",
1700
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz",
1701
+ "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==",
1702
+ "dev": true,
1703
+ "license": "MIT",
1704
+ "dependencies": {
1705
+ "entities": "^6.0.0"
1706
+ },
1707
+ "funding": {
1708
+ "url": "https://github.com/inikulin/parse5?sponsor=1"
1709
+ }
1710
+ },
1711
+ "node_modules/parse5/node_modules/entities": {
1712
+ "version": "6.0.1",
1713
+ "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
1714
+ "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
1715
+ "dev": true,
1716
+ "license": "BSD-2-Clause",
1717
+ "engines": {
1718
+ "node": ">=0.12"
1719
+ },
1720
+ "funding": {
1721
+ "url": "https://github.com/fb55/entities?sponsor=1"
1722
+ }
1723
+ },
1724
+ "node_modules/path-exists": {
1725
+ "version": "4.0.0",
1726
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
1727
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
1728
+ "dev": true,
1729
+ "license": "MIT",
1730
+ "engines": {
1731
+ "node": ">=8"
1732
+ }
1733
+ },
1734
+ "node_modules/picomatch": {
1735
+ "version": "2.3.1",
1736
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
1737
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
1738
+ "dev": true,
1739
+ "license": "MIT",
1740
+ "engines": {
1741
+ "node": ">=8.6"
1742
+ },
1743
+ "funding": {
1744
+ "url": "https://github.com/sponsors/jonschlinkert"
1745
+ }
1746
+ },
1747
+ "node_modules/punycode": {
1748
+ "version": "2.3.1",
1749
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
1750
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
1751
+ "dev": true,
1752
+ "license": "MIT",
1753
+ "engines": {
1754
+ "node": ">=6"
1755
+ }
1756
+ },
1757
+ "node_modules/randombytes": {
1758
+ "version": "2.1.0",
1759
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
1760
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
1761
+ "dev": true,
1762
+ "license": "MIT",
1763
+ "dependencies": {
1764
+ "safe-buffer": "^5.1.0"
1765
+ }
1766
+ },
1767
+ "node_modules/readdirp": {
1768
+ "version": "3.6.0",
1769
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
1770
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
1771
+ "dev": true,
1772
+ "license": "MIT",
1773
+ "dependencies": {
1774
+ "picomatch": "^2.2.1"
1775
+ },
1776
+ "engines": {
1777
+ "node": ">=8.10.0"
1778
+ }
1779
+ },
1780
+ "node_modules/require-directory": {
1781
+ "version": "2.1.1",
1782
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
1783
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
1784
+ "dev": true,
1785
+ "license": "MIT",
1786
+ "engines": {
1787
+ "node": ">=0.10.0"
1788
+ }
1789
+ },
1790
+ "node_modules/rrweb-cssom": {
1791
+ "version": "0.7.1",
1792
+ "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz",
1793
+ "integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==",
1794
+ "dev": true,
1795
+ "license": "MIT"
1796
+ },
1797
+ "node_modules/safe-buffer": {
1798
+ "version": "5.2.1",
1799
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
1800
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
1801
+ "dev": true,
1802
+ "funding": [
1803
+ {
1804
+ "type": "github",
1805
+ "url": "https://github.com/sponsors/feross"
1806
+ },
1807
+ {
1808
+ "type": "patreon",
1809
+ "url": "https://www.patreon.com/feross"
1810
+ },
1811
+ {
1812
+ "type": "consulting",
1813
+ "url": "https://feross.org/support"
1814
+ }
1815
+ ],
1816
+ "license": "MIT"
1817
+ },
1818
+ "node_modules/safer-buffer": {
1819
+ "version": "2.1.2",
1820
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1821
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
1822
+ "dev": true,
1823
+ "license": "MIT"
1824
+ },
1825
+ "node_modules/saxes": {
1826
+ "version": "6.0.0",
1827
+ "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz",
1828
+ "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==",
1829
+ "dev": true,
1830
+ "license": "ISC",
1831
+ "dependencies": {
1832
+ "xmlchars": "^2.2.0"
1833
+ },
1834
+ "engines": {
1835
+ "node": ">=v12.22.7"
1836
+ }
1837
+ },
1838
+ "node_modules/serialize-javascript": {
1839
+ "version": "6.0.2",
1840
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
1841
+ "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
1842
+ "dev": true,
1843
+ "license": "BSD-3-Clause",
1844
+ "dependencies": {
1845
+ "randombytes": "^2.1.0"
1846
+ }
1847
+ },
1848
+ "node_modules/string-width": {
1849
+ "version": "4.2.3",
1850
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
1851
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
1852
+ "dev": true,
1853
+ "license": "MIT",
1854
+ "dependencies": {
1855
+ "emoji-regex": "^8.0.0",
1856
+ "is-fullwidth-code-point": "^3.0.0",
1857
+ "strip-ansi": "^6.0.1"
1858
+ },
1859
+ "engines": {
1860
+ "node": ">=8"
1861
+ }
1862
+ },
1863
+ "node_modules/strip-ansi": {
1864
+ "version": "6.0.1",
1865
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
1866
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
1867
+ "dev": true,
1868
+ "license": "MIT",
1869
+ "dependencies": {
1870
+ "ansi-regex": "^5.0.1"
1871
+ },
1872
+ "engines": {
1873
+ "node": ">=8"
1874
+ }
1875
+ },
1876
+ "node_modules/strip-json-comments": {
1877
+ "version": "3.1.1",
1878
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
1879
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
1880
+ "dev": true,
1881
+ "license": "MIT",
1882
+ "engines": {
1883
+ "node": ">=8"
1884
+ },
1885
+ "funding": {
1886
+ "url": "https://github.com/sponsors/sindresorhus"
1887
+ }
1888
+ },
1889
+ "node_modules/supports-color": {
1890
+ "version": "8.1.1",
1891
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
1892
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
1893
+ "dev": true,
1894
+ "license": "MIT",
1895
+ "dependencies": {
1896
+ "has-flag": "^4.0.0"
1897
+ },
1898
+ "engines": {
1899
+ "node": ">=10"
1900
+ },
1901
+ "funding": {
1902
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
1903
+ }
1904
+ },
1905
+ "node_modules/symbol-tree": {
1906
+ "version": "3.2.4",
1907
+ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
1908
+ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
1909
+ "dev": true,
1910
+ "license": "MIT"
1911
+ },
1912
+ "node_modules/tldts": {
1913
+ "version": "6.1.86",
1914
+ "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz",
1915
+ "integrity": "sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==",
1916
+ "dev": true,
1917
+ "license": "MIT",
1918
+ "dependencies": {
1919
+ "tldts-core": "^6.1.86"
1920
+ },
1921
+ "bin": {
1922
+ "tldts": "bin/cli.js"
1923
+ }
1924
+ },
1925
+ "node_modules/tldts-core": {
1926
+ "version": "6.1.86",
1927
+ "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz",
1928
+ "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==",
1929
+ "dev": true,
1930
+ "license": "MIT"
1931
+ },
1932
+ "node_modules/to-regex-range": {
1933
+ "version": "5.0.1",
1934
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
1935
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
1936
+ "dev": true,
1937
+ "license": "MIT",
1938
+ "dependencies": {
1939
+ "is-number": "^7.0.0"
1940
+ },
1941
+ "engines": {
1942
+ "node": ">=8.0"
1943
+ }
1944
+ },
1945
+ "node_modules/tough-cookie": {
1946
+ "version": "5.1.2",
1947
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz",
1948
+ "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==",
1949
+ "dev": true,
1950
+ "license": "BSD-3-Clause",
1951
+ "dependencies": {
1952
+ "tldts": "^6.1.32"
1953
+ },
1954
+ "engines": {
1955
+ "node": ">=16"
1956
+ }
1957
+ },
1958
+ "node_modules/tr46": {
1959
+ "version": "5.1.1",
1960
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz",
1961
+ "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==",
1962
+ "dev": true,
1963
+ "license": "MIT",
1964
+ "dependencies": {
1965
+ "punycode": "^2.3.1"
1966
+ },
1967
+ "engines": {
1968
+ "node": ">=18"
1969
+ }
1970
+ },
1971
+ "node_modules/w3c-xmlserializer": {
1972
+ "version": "5.0.0",
1973
+ "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz",
1974
+ "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==",
1975
+ "dev": true,
1976
+ "license": "MIT",
1977
+ "dependencies": {
1978
+ "xml-name-validator": "^5.0.0"
1979
+ },
1980
+ "engines": {
1981
+ "node": ">=18"
1982
+ }
1983
+ },
1984
+ "node_modules/webidl-conversions": {
1985
+ "version": "7.0.0",
1986
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
1987
+ "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
1988
+ "dev": true,
1989
+ "license": "BSD-2-Clause",
1990
+ "engines": {
1991
+ "node": ">=12"
1992
+ }
1993
+ },
1994
+ "node_modules/whatwg-encoding": {
1995
+ "version": "3.1.1",
1996
+ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz",
1997
+ "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==",
1998
+ "dev": true,
1999
+ "license": "MIT",
2000
+ "dependencies": {
2001
+ "iconv-lite": "0.6.3"
2002
+ },
2003
+ "engines": {
2004
+ "node": ">=18"
2005
+ }
2006
+ },
2007
+ "node_modules/whatwg-mimetype": {
2008
+ "version": "4.0.0",
2009
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz",
2010
+ "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==",
2011
+ "dev": true,
2012
+ "license": "MIT",
2013
+ "engines": {
2014
+ "node": ">=18"
2015
+ }
2016
+ },
2017
+ "node_modules/whatwg-url": {
2018
+ "version": "14.2.0",
2019
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz",
2020
+ "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==",
2021
+ "dev": true,
2022
+ "license": "MIT",
2023
+ "dependencies": {
2024
+ "tr46": "^5.1.0",
2025
+ "webidl-conversions": "^7.0.0"
2026
+ },
2027
+ "engines": {
2028
+ "node": ">=18"
2029
+ }
2030
+ },
2031
+ "node_modules/workerpool": {
2032
+ "version": "6.5.1",
2033
+ "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz",
2034
+ "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==",
2035
+ "dev": true,
2036
+ "license": "Apache-2.0"
2037
+ },
2038
+ "node_modules/wrap-ansi": {
2039
+ "version": "7.0.0",
2040
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
2041
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
2042
+ "dev": true,
2043
+ "license": "MIT",
2044
+ "dependencies": {
2045
+ "ansi-styles": "^4.0.0",
2046
+ "string-width": "^4.1.0",
2047
+ "strip-ansi": "^6.0.0"
2048
+ },
2049
+ "engines": {
2050
+ "node": ">=10"
2051
+ },
2052
+ "funding": {
2053
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
2054
+ }
2055
+ },
2056
+ "node_modules/wrappy": {
2057
+ "version": "1.0.2",
2058
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
2059
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
2060
+ "dev": true,
2061
+ "license": "ISC"
2062
+ },
2063
+ "node_modules/ws": {
2064
+ "version": "8.18.2",
2065
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz",
2066
+ "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==",
2067
+ "dev": true,
2068
+ "license": "MIT",
2069
+ "engines": {
2070
+ "node": ">=10.0.0"
2071
+ },
2072
+ "peerDependencies": {
2073
+ "bufferutil": "^4.0.1",
2074
+ "utf-8-validate": ">=5.0.2"
2075
+ },
2076
+ "peerDependenciesMeta": {
2077
+ "bufferutil": {
2078
+ "optional": true
2079
+ },
2080
+ "utf-8-validate": {
2081
+ "optional": true
2082
+ }
2083
+ }
2084
+ },
2085
+ "node_modules/xml-name-validator": {
2086
+ "version": "5.0.0",
2087
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz",
2088
+ "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==",
2089
+ "dev": true,
2090
+ "license": "Apache-2.0",
2091
+ "engines": {
2092
+ "node": ">=18"
2093
+ }
2094
+ },
2095
+ "node_modules/xmlchars": {
2096
+ "version": "2.2.0",
2097
+ "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
2098
+ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
2099
+ "dev": true,
2100
+ "license": "MIT"
2101
+ },
2102
+ "node_modules/y18n": {
2103
+ "version": "5.0.8",
2104
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
2105
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
2106
+ "dev": true,
2107
+ "license": "ISC",
2108
+ "engines": {
2109
+ "node": ">=10"
2110
+ }
2111
+ },
2112
+ "node_modules/yargs": {
2113
+ "version": "16.2.0",
2114
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
2115
+ "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
2116
+ "dev": true,
2117
+ "license": "MIT",
2118
+ "dependencies": {
2119
+ "cliui": "^7.0.2",
2120
+ "escalade": "^3.1.1",
2121
+ "get-caller-file": "^2.0.5",
2122
+ "require-directory": "^2.1.1",
2123
+ "string-width": "^4.2.0",
2124
+ "y18n": "^5.0.5",
2125
+ "yargs-parser": "^20.2.2"
2126
+ },
2127
+ "engines": {
2128
+ "node": ">=10"
2129
+ }
2130
+ },
2131
+ "node_modules/yargs-parser": {
2132
+ "version": "20.2.9",
2133
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
2134
+ "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
2135
+ "dev": true,
2136
+ "license": "ISC",
2137
+ "engines": {
2138
+ "node": ">=10"
2139
+ }
2140
+ },
2141
+ "node_modules/yargs-unparser": {
2142
+ "version": "2.0.0",
2143
+ "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
2144
+ "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
2145
+ "dev": true,
2146
+ "license": "MIT",
2147
+ "dependencies": {
2148
+ "camelcase": "^6.0.0",
2149
+ "decamelize": "^4.0.0",
2150
+ "flat": "^5.0.2",
2151
+ "is-plain-obj": "^2.1.0"
2152
+ },
2153
+ "engines": {
2154
+ "node": ">=10"
2155
+ }
2156
+ },
2157
+ "node_modules/yocto-queue": {
2158
+ "version": "0.1.0",
2159
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
2160
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
2161
+ "dev": true,
2162
+ "license": "MIT",
2163
+ "engines": {
2164
+ "node": ">=10"
2165
+ },
2166
+ "funding": {
2167
+ "url": "https://github.com/sponsors/sindresorhus"
2168
+ }
2169
+ }
2170
+ }
2171
+ }