From 1a662b222ba220202180ab6fa34dd60e72fd0068 Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Tue, 16 Apr 2024 14:13:44 +0200 Subject: [PATCH 01/28] feat(lilium) #7220 VnTitle example --- cypress/support/commands.js | 25 ++++++++++++++++++++ cypress/support/component-index.html | 12 ++++++++++ cypress/support/component.js | 27 ++++++++++++++++++++++ test/cypress/integration/common/VnTitle.js | 15 ++++++++++++ 4 files changed, 79 insertions(+) create mode 100644 cypress/support/commands.js create mode 100644 cypress/support/component-index.html create mode 100644 cypress/support/component.js create mode 100644 test/cypress/integration/common/VnTitle.js diff --git a/cypress/support/commands.js b/cypress/support/commands.js new file mode 100644 index 000000000..66ea16ef0 --- /dev/null +++ b/cypress/support/commands.js @@ -0,0 +1,25 @@ +// *********************************************** +// This example commands.js shows you how to +// create various custom commands and overwrite +// existing commands. +// +// For more comprehensive examples of custom +// commands please read more here: +// https://on.cypress.io/custom-commands +// *********************************************** +// +// +// -- This is a parent command -- +// Cypress.Commands.add('login', (email, password) => { ... }) +// +// +// -- This is a child command -- +// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) +// +// +// -- This is a dual command -- +// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) +// +// +// -- This will overwrite an existing command -- +// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) \ No newline at end of file diff --git a/cypress/support/component-index.html b/cypress/support/component-index.html new file mode 100644 index 000000000..ac6e79fd8 --- /dev/null +++ b/cypress/support/component-index.html @@ -0,0 +1,12 @@ + + + + + + + Components App + + +
+ + \ No newline at end of file diff --git a/cypress/support/component.js b/cypress/support/component.js new file mode 100644 index 000000000..b091808fa --- /dev/null +++ b/cypress/support/component.js @@ -0,0 +1,27 @@ +// *********************************************************** +// This example support/component.js is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import './commands' + +// Alternatively you can use CommonJS syntax: +// require('./commands') + +import { mount } from 'cypress/vue' + +Cypress.Commands.add('mount', mount) + +// Example use: +// cy.mount(MyComponent) \ No newline at end of file diff --git a/test/cypress/integration/common/VnTitle.js b/test/cypress/integration/common/VnTitle.js new file mode 100644 index 000000000..45a49a698 --- /dev/null +++ b/test/cypress/integration/common/VnTitle.js @@ -0,0 +1,15 @@ +import VnTitle from '@/components/common/VnTitle.vue'; + +describe('', () => { + it('renders', () => { + // see: https://on.cypress.io/mounting-vue + cy.mount(VnTitle,{ + props:{ + url:'url', + title: 'title', + + } + }); + console.log(VnTitle); + }); +}); -- 2.40.1 From 4d9fcbe23ff488d480254d0b4800df2c5d8ea47b Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Tue, 16 Apr 2024 14:12:02 +0200 Subject: [PATCH 02/28] feat(lilium) #7220 config --- cypress.config.js | 7 +++++++ vite.config.js | 14 ++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 vite.config.js diff --git a/cypress.config.js b/cypress.config.js index e2046d6c4..2388d293a 100644 --- a/cypress.config.js +++ b/cypress.config.js @@ -20,4 +20,11 @@ module.exports = defineConfig({ // implement node event listeners here }, }, + + component: { + devServer: { + framework: 'vue', + bundler: 'vite', + }, + }, }); diff --git a/vite.config.js b/vite.config.js new file mode 100644 index 000000000..69726edd9 --- /dev/null +++ b/vite.config.js @@ -0,0 +1,14 @@ +import { fileURLToPath, URL } from 'url'; + +import { defineConfig } from 'vite'; +import vue from '@vitejs/plugin-vue'; + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [vue()], + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)), + }, + }, +}); -- 2.40.1 From 112f33fb1b55a674eac479fe5187fb3fa0a2eda4 Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Tue, 28 May 2024 11:38:09 +0200 Subject: [PATCH 03/28] updates --- cypress.config.js | 1 + src/components/CreateBankEntityForm.vue | 4 ++-- src/components/FormModel.vue | 4 ++-- src/components/FormModelPopup.vue | 2 +- test/cypress/components/CreateBankEntityForm.spec.js | 8 ++++++++ test/cypress/components/VnSelect.spec.js | 8 ++++++++ .../common/VnTitle.js => components/VnTitle.spec.js} | 11 +++++------ vite.config.js | 2 +- 8 files changed, 28 insertions(+), 12 deletions(-) create mode 100644 test/cypress/components/CreateBankEntityForm.spec.js create mode 100644 test/cypress/components/VnSelect.spec.js rename test/cypress/{integration/common/VnTitle.js => components/VnTitle.spec.js} (56%) diff --git a/cypress.config.js b/cypress.config.js index 2388d293a..251b18758 100644 --- a/cypress.config.js +++ b/cypress.config.js @@ -22,6 +22,7 @@ module.exports = defineConfig({ }, component: { + specPattern: 'test/cypress/components/*.spec.js', devServer: { framework: 'vue', bundler: 'vite', diff --git a/src/components/CreateBankEntityForm.vue b/src/components/CreateBankEntityForm.vue index b2c5226e6..038a8f2df 100644 --- a/src/components/CreateBankEntityForm.vue +++ b/src/components/CreateBankEntityForm.vue @@ -4,8 +4,8 @@ import { useI18n } from 'vue-i18n'; import VnInput from 'src/components/common/VnInput.vue'; import VnSelect from 'src/components/common/VnSelect.vue'; -import FetchData from 'components/FetchData.vue'; -import VnRow from 'components/ui/VnRow.vue'; +import FetchData from 'src/components/FetchData.vue'; +import VnRow from 'src/components/ui/VnRow.vue'; import FormModelPopup from './FormModelPopup.vue'; defineProps({ showEntityField: { type: Boolean, default: true } }); diff --git a/src/components/FormModel.vue b/src/components/FormModel.vue index 2c2acb61c..b8e97bf36 100644 --- a/src/components/FormModel.vue +++ b/src/components/FormModel.vue @@ -5,10 +5,10 @@ import { onBeforeRouteLeave } from 'vue-router'; import { useI18n } from 'vue-i18n'; import { useQuasar } from 'quasar'; import { useState } from 'src/composables/useState'; -import { useStateStore } from 'stores/useStateStore'; +import { useStateStore } from 'src/stores/useStateStore'; import { useValidator } from 'src/composables/useValidator'; import useNotify from 'src/composables/useNotify.js'; -import SkeletonForm from 'components/ui/SkeletonForm.vue'; +import SkeletonForm from 'src/components/ui/SkeletonForm.vue'; import VnConfirm from './ui/VnConfirm.vue'; import { tMobile } from 'src/composables/tMobile'; diff --git a/src/components/FormModelPopup.vue b/src/components/FormModelPopup.vue index 25213a8b7..0ce702ff7 100644 --- a/src/components/FormModelPopup.vue +++ b/src/components/FormModelPopup.vue @@ -2,7 +2,7 @@ import { ref, computed } from 'vue'; import { useI18n } from 'vue-i18n'; -import FormModel from 'components/FormModel.vue'; +import FormModel from 'src/components/FormModel.vue'; const emit = defineEmits(['onDataSaved']); diff --git a/test/cypress/components/CreateBankEntityForm.spec.js b/test/cypress/components/CreateBankEntityForm.spec.js new file mode 100644 index 000000000..0248c9546 --- /dev/null +++ b/test/cypress/components/CreateBankEntityForm.spec.js @@ -0,0 +1,8 @@ +import CreateBankEntityForm from 'src/components/CreateBankEntityForm.vue'; + +describe('', () => { + it('renders', () => { + // see: https://on.cypress.io/mounting-vue + cy.mount(CreateBankEntityForm); + }); +}); diff --git a/test/cypress/components/VnSelect.spec.js b/test/cypress/components/VnSelect.spec.js new file mode 100644 index 000000000..ec0eebec9 --- /dev/null +++ b/test/cypress/components/VnSelect.spec.js @@ -0,0 +1,8 @@ +import VnSelect from 'src/components/common/VnSelect.vue'; + +describe('', () => { + it('renders', () => { + // see: https://on.cypress.io/mounting-vue + cy.mount(VnSelect); + }); +}); diff --git a/test/cypress/integration/common/VnTitle.js b/test/cypress/components/VnTitle.spec.js similarity index 56% rename from test/cypress/integration/common/VnTitle.js rename to test/cypress/components/VnTitle.spec.js index 45a49a698..72154348e 100644 --- a/test/cypress/integration/common/VnTitle.js +++ b/test/cypress/components/VnTitle.spec.js @@ -1,14 +1,13 @@ -import VnTitle from '@/components/common/VnTitle.vue'; +import VnTitle from 'src/components/common/VnTitle.vue'; describe('', () => { it('renders', () => { // see: https://on.cypress.io/mounting-vue - cy.mount(VnTitle,{ - props:{ - url:'url', + cy.mount(VnTitle, { + props: { + url: 'url', title: 'title', - - } + }, }); console.log(VnTitle); }); diff --git a/vite.config.js b/vite.config.js index 69726edd9..be4fba284 100644 --- a/vite.config.js +++ b/vite.config.js @@ -8,7 +8,7 @@ export default defineConfig({ plugins: [vue()], resolve: { alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)), + src: fileURLToPath(new URL('./src', import.meta.url)), }, }, }); -- 2.40.1 From 14df647a37d05ce538810785e5ae3c2e0aacd70c Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Wed, 29 May 2024 11:11:48 +0200 Subject: [PATCH 04/28] update --- package.json | 5 +- pnpm-lock.yaml | 14691 +++++++++++---------------- src/components/common/VnSelect.vue | 37 +- src/composables/useArrayData.js | 8 +- src/i18n/locale/en.yml | 6 +- src/pages/Item/locale/en.yml | 2 +- src/pages/Zone/locale/en.yml | 2 +- test/cypress/support/component.js | 51 + 8 files changed, 6237 insertions(+), 8565 deletions(-) create mode 100644 test/cypress/support/component.js diff --git a/package.json b/package.json index 742fbf276..3b42c3ec0 100644 --- a/package.json +++ b/package.json @@ -10,10 +10,12 @@ "lint": "eslint --ext .js,.vue ./", "format": "prettier --write \"**/*.{js,vue,scss,html,md,json}\" --ignore-path .gitignore", "test:e2e": "cypress open", + "test:components": "cypress run --component", "test:e2e:ci": "cd ../salix && gulp docker && cd ../salix-front && cypress run", "test": "echo \"See package.json => scripts for available tests.\" && exit 0", "test:unit": "vitest", - "test:unit:ci": "vitest run" + "test:unit:ci": "vitest run", + "cypr": "cross-env CYPRESS_REMOTE_DEBUGGING_PORT=9222 cypress open" }, "dependencies": { "@quasar/cli": "^2.3.0", @@ -34,6 +36,7 @@ "@quasar/app-vite": "^1.7.3", "@quasar/quasar-app-extension-qcalendar": "4.0.0-beta.15", "@quasar/quasar-app-extension-testing-unit-vitest": "^0.4.0", + "@vitest/ui": "^1.6.0", "@vue/test-utils": "^2.4.4", "autoprefixer": "^10.4.14", "cypress": "^13.6.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index abb1e8c55..a8c4458ca 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,8612 +1,6203 @@ lockfileVersion: '6.0' settings: - autoInstallPeers: true - excludeLinksFromLockfile: false + autoInstallPeers: true + excludeLinksFromLockfile: false dependencies: - '@quasar/cli': - specifier: ^2.3.0 - version: 2.3.0 - '@quasar/extras': - specifier: ^1.16.9 - version: 1.16.9 - axios: - specifier: ^1.4.0 - version: 1.6.7 - chromium: - specifier: ^3.0.3 - version: 3.0.3 - croppie: - specifier: ^2.6.5 - version: 2.6.5 - pinia: - specifier: ^2.1.3 - version: 2.1.7(vue@3.4.19) - quasar: - specifier: ^2.14.5 - version: 2.14.5 - validator: - specifier: ^13.9.0 - version: 13.11.0 - vue: - specifier: ^3.3.4 - version: 3.4.19 - vue-i18n: - specifier: ^9.2.2 - version: 9.9.1(vue@3.4.19) - vue-router: - specifier: ^4.2.1 - version: 4.2.5(vue@3.4.19) + '@quasar/cli': + specifier: ^2.3.0 + version: 2.3.0 + '@quasar/extras': + specifier: ^1.16.9 + version: 1.16.9 + axios: + specifier: ^1.4.0 + version: 1.6.7 + chromium: + specifier: ^3.0.3 + version: 3.0.3 + croppie: + specifier: ^2.6.5 + version: 2.6.5 + pinia: + specifier: ^2.1.3 + version: 2.1.7(vue@3.4.19) + quasar: + specifier: ^2.14.5 + version: 2.14.5 + validator: + specifier: ^13.9.0 + version: 13.11.0 + vue: + specifier: ^3.3.4 + version: 3.4.19 + vue-i18n: + specifier: ^9.2.2 + version: 9.9.1(vue@3.4.19) + vue-router: + specifier: ^4.2.1 + version: 4.2.5(vue@3.4.19) devDependencies: - '@intlify/unplugin-vue-i18n': - specifier: ^0.8.1 - version: 0.8.2(vue-i18n@9.9.1) - '@pinia/testing': - specifier: ^0.1.2 - version: 0.1.3(pinia@2.1.7)(vue@3.4.19) - '@quasar/app-vite': - specifier: ^1.7.3 - version: 1.7.3(eslint@8.56.0)(pinia@2.1.7)(quasar@2.14.5)(vue-router@4.2.5)(vue@3.4.19) - '@quasar/quasar-app-extension-qcalendar': - specifier: 4.0.0-beta.15 - version: 4.0.0-beta.15 - '@quasar/quasar-app-extension-testing-unit-vitest': - specifier: ^0.4.0 - version: 0.4.0(@vue/test-utils@2.4.4)(quasar@2.14.5)(vite@5.1.4)(vitest@0.31.4)(vue@3.4.19) - '@vue/test-utils': - specifier: ^2.4.4 - version: 2.4.4(vue@3.4.19) - autoprefixer: - specifier: ^10.4.14 - version: 10.4.17(postcss@8.4.35) - cypress: - specifier: ^13.6.6 - version: 13.6.6 - eslint: - specifier: ^8.41.0 - version: 8.56.0 - eslint-config-prettier: - specifier: ^8.8.0 - version: 8.10.0(eslint@8.56.0) - eslint-plugin-cypress: - specifier: ^2.13.3 - version: 2.15.1(eslint@8.56.0) - eslint-plugin-vue: - specifier: ^9.14.1 - version: 9.21.1(eslint@8.56.0) - postcss: - specifier: ^8.4.23 - version: 8.4.35 - prettier: - specifier: ^2.8.8 - version: 2.8.8 - vitest: - specifier: ^0.31.1 - version: 0.31.4 + '@intlify/unplugin-vue-i18n': + specifier: ^0.8.1 + version: 0.8.2(vue-i18n@9.9.1) + '@pinia/testing': + specifier: ^0.1.2 + version: 0.1.3(pinia@2.1.7)(vue@3.4.19) + '@quasar/app-vite': + specifier: ^1.7.3 + version: 1.7.3(eslint@8.56.0)(pinia@2.1.7)(quasar@2.14.5)(vue-router@4.2.5)(vue@3.4.19) + '@quasar/quasar-app-extension-qcalendar': + specifier: 4.0.0-beta.15 + version: 4.0.0-beta.15 + '@quasar/quasar-app-extension-testing-unit-vitest': + specifier: ^0.4.0 + version: 0.4.0(@vitest/ui@1.6.0)(@vue/test-utils@2.4.4)(quasar@2.14.5)(vite@5.1.4)(vitest@0.31.4)(vue@3.4.19) + '@vitest/ui': + specifier: ^1.6.0 + version: 1.6.0(vitest@0.31.4) + '@vue/test-utils': + specifier: ^2.4.4 + version: 2.4.4(vue@3.4.19) + autoprefixer: + specifier: ^10.4.14 + version: 10.4.17(postcss@8.4.35) + cypress: + specifier: ^13.6.6 + version: 13.6.6 + eslint: + specifier: ^8.41.0 + version: 8.56.0 + eslint-config-prettier: + specifier: ^8.8.0 + version: 8.10.0(eslint@8.56.0) + eslint-plugin-cypress: + specifier: ^2.13.3 + version: 2.15.1(eslint@8.56.0) + eslint-plugin-vue: + specifier: ^9.14.1 + version: 9.21.1(eslint@8.56.0) + postcss: + specifier: ^8.4.23 + version: 8.4.35 + prettier: + specifier: ^2.8.8 + version: 2.8.8 + vitest: + specifier: ^0.31.1 + version: 0.31.4(@vitest/ui@1.6.0) packages: - /@aashutoshrathi/word-wrap@1.2.6: - resolution: - { - integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==, - } - engines: { node: '>=0.10.0' } - dev: true - - /@babel/helper-string-parser@7.23.4: - resolution: - { - integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==, - } - engines: { node: '>=6.9.0' } - - /@babel/helper-validator-identifier@7.22.20: - resolution: - { - integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==, - } - engines: { node: '>=6.9.0' } - - /@babel/parser@7.23.9: - resolution: - { - integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==, - } - engines: { node: '>=6.0.0' } - hasBin: true - dependencies: - '@babel/types': 7.23.9 - - /@babel/types@7.23.9: - resolution: - { - integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==, - } - engines: { node: '>=6.9.0' } - dependencies: - '@babel/helper-string-parser': 7.23.4 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 - - /@colors/colors@1.5.0: - resolution: - { - integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==, - } - engines: { node: '>=0.1.90' } - requiresBuild: true - dev: true - optional: true - - /@cush/relative@1.0.0: - resolution: - { - integrity: sha512-RpfLEtTlyIxeNPGKcokS+p3BZII/Q3bYxryFRglh5H3A3T8q9fsLYm72VYAMEOOIBLEa8o93kFLiBDUWKrwXZA==, - } - dev: true - - /@cypress/request@3.0.1: - resolution: - { - integrity: sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==, - } - engines: { node: '>= 6' } - dependencies: - aws-sign2: 0.7.0 - aws4: 1.12.0 - caseless: 0.12.0 - combined-stream: 1.0.8 - extend: 3.0.2 - forever-agent: 0.6.1 - form-data: 2.3.3 - http-signature: 1.3.6 - is-typedarray: 1.0.0 - isstream: 0.1.2 - json-stringify-safe: 5.0.1 - mime-types: 2.1.35 - performance-now: 2.1.0 - qs: 6.10.4 - safe-buffer: 5.2.1 - tough-cookie: 4.1.3 - tunnel-agent: 0.6.0 - uuid: 8.3.2 - dev: true - - /@cypress/xvfb@1.2.4(supports-color@8.1.1): - resolution: - { - integrity: sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==, - } - dependencies: - debug: 3.2.7(supports-color@8.1.1) - lodash.once: 4.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@esbuild/aix-ppc64@0.19.12: - resolution: - { - integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==, - } - engines: { node: '>=12' } - cpu: [ppc64] - os: [aix] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm64@0.18.20: - resolution: - { - integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==, - } - engines: { node: '>=12' } - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + + /@babel/parser@7.23.9: + resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.9 + + /@babel/types@7.23.9: + resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + + /@colors/colors@1.5.0: + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} + requiresBuild: true + dev: true + optional: true + + /@cush/relative@1.0.0: + resolution: {integrity: sha512-RpfLEtTlyIxeNPGKcokS+p3BZII/Q3bYxryFRglh5H3A3T8q9fsLYm72VYAMEOOIBLEa8o93kFLiBDUWKrwXZA==} + dev: true + + /@cypress/request@3.0.1: + resolution: {integrity: sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==} + engines: {node: '>= 6'} + dependencies: + aws-sign2: 0.7.0 + aws4: 1.12.0 + caseless: 0.12.0 + combined-stream: 1.0.8 + extend: 3.0.2 + forever-agent: 0.6.1 + form-data: 2.3.3 + http-signature: 1.3.6 + is-typedarray: 1.0.0 + isstream: 0.1.2 + json-stringify-safe: 5.0.1 + mime-types: 2.1.35 + performance-now: 2.1.0 + qs: 6.10.4 + safe-buffer: 5.2.1 + tough-cookie: 4.1.3 + tunnel-agent: 0.6.0 + uuid: 8.3.2 + dev: true + + /@cypress/xvfb@1.2.4(supports-color@8.1.1): + resolution: {integrity: sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==} + dependencies: + debug: 3.2.7(supports-color@8.1.1) + lodash.once: 4.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@esbuild/aix-ppc64@0.19.12: + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64@0.18.20: + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64@0.19.12: + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.18.20: + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.19.12: + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.18.20: + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.19.12: + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.18.20: + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.19.12: + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.18.20: + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.19.12: + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.18.20: + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.19.12: + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.18.20: + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.19.12: + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.18.20: + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.19.12: + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.18.20: + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.19.12: + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.18.20: + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.19.12: + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.18.20: + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.19.12: + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.18.20: + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.19.12: + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.18.20: + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.19.12: + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.18.20: + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.19.12: + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.18.20: + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.19.12: + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.18.20: + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.19.12: + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.18.20: + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.19.12: + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.18.20: + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.19.12: + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.18.20: + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.19.12: + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.18.20: + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.19.12: + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.18.20: + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.19.12: + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.18.20: + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.19.12: + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.56.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4(supports-color@8.1.1) + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.56.0: + resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.2 + debug: 4.3.4(supports-color@8.1.1) + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + dev: true + + /@intlify/bundle-utils@4.0.0(vue-i18n@9.9.1): + resolution: {integrity: sha512-klXrYT9VXyKEXsD6UY3pShg0O5MPC07n0TZ5RrSs5ry6T1eZVolIFGJi9c3qcDrh1qjJxgikRnPBmD7qGDqbjw==} + engines: {node: '>= 12'} + peerDependencies: + petite-vue-i18n: '*' + vue-i18n: '*' + peerDependenciesMeta: + petite-vue-i18n: optional: true - - /@esbuild/android-arm64@0.19.12: - resolution: - { - integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==, - } - engines: { node: '>=12' } - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true + vue-i18n: optional: true - - /@esbuild/android-arm@0.18.20: - resolution: - { - integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==, - } - engines: { node: '>=12' } - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm@0.19.12: - resolution: - { - integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==, - } - engines: { node: '>=12' } - cpu: [arm] - os: [android] - requiresBuild: true - dev: true + dependencies: + '@intlify/message-compiler': 10.0.0-beta.1 + '@intlify/shared': 10.0.0-beta.1 + jsonc-eslint-parser: 1.4.1 + source-map: 0.6.1 + vue-i18n: 9.9.1(vue@3.4.19) + yaml-eslint-parser: 0.3.2 + dev: true + + /@intlify/core-base@9.9.1: + resolution: {integrity: sha512-qsV15dg7jNX2faBRyKMgZS8UcFJViWEUPLdzZ9UR0kQZpFVeIpc0AG7ZOfeP7pX2T9SQ5jSiorq/tii9nkkafA==} + engines: {node: '>= 16'} + dependencies: + '@intlify/message-compiler': 9.9.1 + '@intlify/shared': 9.9.1 + + /@intlify/message-compiler@10.0.0-beta.1: + resolution: {integrity: sha512-rBmXBZzDgq3yPkL/3/r9uK0nrsJOYHSpaW0mtGBxxjt9pY9vaPL0UAKbVAjFPRnfEY41ixgpkpTjai6IKZ+hvg==} + engines: {node: '>= 16'} + dependencies: + '@intlify/shared': 10.0.0-beta.1 + source-map-js: 1.0.2 + dev: true + + /@intlify/message-compiler@9.9.1: + resolution: {integrity: sha512-zTvP6X6HeumHOXuAE1CMMsV6tTX+opKMOxO1OHTCg5N5Sm/F7d8o2jdT6W6L5oHUsJ/vvkGefHIs7Q3hfowmsA==} + engines: {node: '>= 16'} + dependencies: + '@intlify/shared': 9.9.1 + source-map-js: 1.0.2 + + /@intlify/shared@10.0.0-beta.1: + resolution: {integrity: sha512-61MnYhgqS/TyAto9CXOltHlhK2WflLBcKpIkRhZCUL2IkiVvh7qKevsqZ3RYZylyC3q19ajLW6mB+iJtnbAOpg==} + engines: {node: '>= 16'} + dev: true + + /@intlify/shared@9.9.1: + resolution: {integrity: sha512-b3Pta1nwkz5rGq434v0psHwEwHGy1pYCttfcM22IE//K9owbpkEvFptx9VcuRAxjQdrO2If249cmDDjBu5wMDA==} + engines: {node: '>= 16'} + + /@intlify/unplugin-vue-i18n@0.8.2(vue-i18n@9.9.1): + resolution: {integrity: sha512-cRnzPqSEZQOmTD+p4pwc3RTS9HxreLqfID0keoqZDZweCy/CGRMLLTNd15S4TUf1vSBhPF03DItEFDr1F+8MDA==} + engines: {node: '>= 14.16'} + peerDependencies: + petite-vue-i18n: '*' + vue-i18n: '*' + vue-i18n-bridge: '*' + peerDependenciesMeta: + petite-vue-i18n: optional: true - - /@esbuild/android-x64@0.18.20: - resolution: - { - integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [android] - requiresBuild: true - dev: true + vue-i18n: optional: true - - /@esbuild/android-x64@0.19.12: - resolution: - { - integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [android] - requiresBuild: true - dev: true + vue-i18n-bridge: optional: true - - /@esbuild/darwin-arm64@0.18.20: - resolution: - { - integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==, - } - engines: { node: '>=12' } - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true + dependencies: + '@intlify/bundle-utils': 4.0.0(vue-i18n@9.9.1) + '@intlify/shared': 10.0.0-beta.1 + '@rollup/pluginutils': 4.2.1 + '@vue/compiler-sfc': 3.4.19 + debug: 4.3.4(supports-color@8.1.1) + fast-glob: 3.3.2 + js-yaml: 4.1.0 + json5: 2.2.3 + pathe: 1.1.2 + picocolors: 1.0.0 + source-map: 0.6.1 + unplugin: 1.7.1 + vue-i18n: 9.9.1(vue@3.4.19) + transitivePeerDependencies: + - supports-color + dev: true + + /@isaacs/cliui@8.0.2: + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + string-width-cjs: /string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: /strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: /wrap-ansi@7.0.0 + dev: true + + /@jest/schemas@29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@sinclair/typebox': 0.27.8 + dev: true + + /@jridgewell/gen-mapping@0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.22 + dev: true + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array@1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + /@jridgewell/trace-mapping@0.3.22: + resolution: {integrity: sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + dev: true + + /@one-ini/wasm@0.1.1: + resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==} + dev: true + + /@pinia/testing@0.1.3(pinia@2.1.7)(vue@3.4.19): + resolution: {integrity: sha512-D2Ds2s69kKFaRf2KCcP1NhNZEg5+we59aRyQalwRm7ygWfLM25nDH66267U3hNvRUOTx8ofL24GzodZkOmB5xw==} + peerDependencies: + pinia: '>=2.1.5' + dependencies: + pinia: 2.1.7(vue@3.4.19) + vue-demi: 0.14.7(vue@3.4.19) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: true + + /@pkgjs/parseargs@0.11.0: + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + requiresBuild: true + dev: true + optional: true + + /@pnpm/config.env-replace@1.1.0: + resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} + engines: {node: '>=12.22.0'} + dev: false + + /@pnpm/network.ca-file@1.0.2: + resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} + engines: {node: '>=12.22.0'} + dependencies: + graceful-fs: 4.2.10 + dev: false + + /@pnpm/npm-conf@2.2.2: + resolution: {integrity: sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==} + engines: {node: '>=12'} + dependencies: + '@pnpm/config.env-replace': 1.1.0 + '@pnpm/network.ca-file': 1.0.2 + config-chain: 1.1.13 + dev: false + + /@polka/url@1.0.0-next.25: + resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} + dev: true + + /@quasar/app-vite@1.7.3(eslint@8.56.0)(pinia@2.1.7)(quasar@2.14.5)(vue-router@4.2.5)(vue@3.4.19): + resolution: {integrity: sha512-pnDInCFP9M1d7lJzS8UkiFq8bGWdekLz8Gu+NLI9UAxruIM9QVlSD4hUmWptTQXaVEvYlDnqfW3LOr57B8eVtw==} + engines: {node: ^24 || ^22 || ^20 || ^18 || ^16 || ^14.19, npm: '>= 6.14.12', yarn: '>= 1.17.3'} + hasBin: true + peerDependencies: + electron-builder: '>= 22' + electron-packager: '>= 15' + eslint: ^8.11.0 + pinia: ^2.0.0 + quasar: ^2.14.0 + vue: ^3.2.29 + vue-router: ^4.0.12 + vuex: ^4.0.0 + workbox-build: '>= 6' + peerDependenciesMeta: + electron-builder: optional: true - - /@esbuild/darwin-arm64@0.19.12: - resolution: - { - integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==, - } - engines: { node: '>=12' } - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true + electron-packager: optional: true - - /@esbuild/darwin-x64@0.18.20: - resolution: - { - integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true + eslint: optional: true - - /@esbuild/darwin-x64@0.19.12: - resolution: - { - integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true + pinia: optional: true - - /@esbuild/freebsd-arm64@0.18.20: - resolution: - { - integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==, - } - engines: { node: '>=12' } - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true + vuex: optional: true - - /@esbuild/freebsd-arm64@0.19.12: - resolution: - { - integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==, - } - engines: { node: '>=12' } - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true + workbox-build: optional: true - - /@esbuild/freebsd-x64@0.18.20: - resolution: - { - integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true + dependencies: + '@quasar/render-ssr-error': 1.0.3 + '@quasar/vite-plugin': 1.6.0(@vitejs/plugin-vue@2.3.4)(quasar@2.14.5)(vite@2.9.17)(vue@3.4.19) + '@rollup/pluginutils': 4.2.1 + '@types/chrome': 0.0.208 + '@types/compression': 1.7.5 + '@types/cordova': 0.0.34 + '@types/express': 4.17.21 + '@vitejs/plugin-vue': 2.3.4(vite@5.1.4)(vue@3.4.19) + archiver: 5.3.2 + chokidar: 3.6.0 + ci-info: 3.9.0 + compression: 1.7.4 + cross-spawn: 7.0.3 + dot-prop: 6.0.1 + elementtree: 0.1.7 + esbuild: 0.14.51 + eslint: 8.56.0 + express: 4.18.2 + fast-glob: 3.2.12 + fs-extra: 11.2.0 + html-minifier: 4.0.0 + inquirer: 8.2.6 + isbinaryfile: 5.0.2 + kolorist: 1.8.0 + lodash: 4.17.21 + minimist: 1.2.8 + open: 8.4.2 + pinia: 2.1.7(vue@3.4.19) + quasar: 2.14.5 + register-service-worker: 1.7.2 + rollup-plugin-visualizer: 5.12.0 + sass: 1.71.1 + semver: 7.6.0 + serialize-javascript: 6.0.2 + table: 6.8.1 + vite: 2.9.17(sass@1.71.1) + vue: 3.4.19 + vue-router: 4.2.5(vue@3.4.19) + webpack-merge: 5.10.0 + transitivePeerDependencies: + - less + - rollup + - stylus + - supports-color + dev: true + + /@quasar/cli@2.3.0: + resolution: {integrity: sha512-DNFDemicj3jXe5+Ib+5w9Bwj1U3yoHQkqn0bU/qysIl/p0MmGA1yqOfUF0V4fw/5or1dfCvStIA/oZxUcC+2pQ==} + engines: {node: '>= 16', npm: '>= 5.6.0', yarn: '>= 1.6.0'} + hasBin: true + dependencies: + '@quasar/ssl-certificate': 1.0.0 + ci-info: 3.9.0 + compression: 1.7.4 + connect-history-api-fallback: 2.0.0 + cors: 2.8.5 + cross-spawn: 7.0.3 + express: 4.18.2 + fs-extra: 11.2.0 + http-proxy-middleware: 2.0.6 + kolorist: 1.8.0 + minimist: 1.2.8 + open: 9.1.0 + route-cache: 0.5.0 + selfsigned: 2.4.1 + update-notifier: 6.0.2 + transitivePeerDependencies: + - '@types/express' + - debug + - supports-color + dev: false + + /@quasar/extras@1.16.9: + resolution: {integrity: sha512-SlOhwzXyPQHWgQIS2ncyDdYdksCJvUYNtgsDQqzAKEG3r3d/ejOxvThle79HTK3Q6HB+gQWFG21Ux00Osr5XSw==} + dev: false + + /@quasar/quasar-app-extension-qcalendar@4.0.0-beta.15: + resolution: {integrity: sha512-i6hQkcP70LXLfVMPZMKQjSg3681gjZmASV3vq6ULzc0LhtBiPneLdVNNtH2itkWxAmaUj+1heQDI5Pa0F7VKLQ==} + engines: {node: '>= 10.0.0', npm: '>= 5.6.0', yarn: '>= 1.6.0'} + dependencies: + '@quasar/quasar-ui-qcalendar': 4.0.0-beta.19 + dev: true + + /@quasar/quasar-app-extension-testing-unit-vitest@0.4.0(@vitest/ui@1.6.0)(@vue/test-utils@2.4.4)(quasar@2.14.5)(vite@5.1.4)(vitest@0.31.4)(vue@3.4.19): + resolution: {integrity: sha512-eyzdUdmZiCueNS+5nedjMmzdbpCetSrtdGIwW6KplW1dTzRbLiNvYUjpBOxQGmJCgEhWy9zuswJ7MZ/bTql24Q==} + engines: {node: '>= 12.22.1', npm: '>= 6.14.12', yarn: '>= 1.17.3'} + peerDependencies: + '@vitest/ui': ^0.34.0 + '@vue/test-utils': ^2.4.1 + quasar: ^2.12.7 + vitest: ^0.34.0 + vue: ^3.3.4 + peerDependenciesMeta: + '@vitest/ui': optional: true - - /@esbuild/freebsd-x64@0.19.12: - resolution: - { - integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true + dependencies: + '@vitest/ui': 1.6.0(vitest@0.31.4) + '@vue/test-utils': 2.4.4(vue@3.4.19) + happy-dom: 11.2.0 + lodash-es: 4.17.21 + quasar: 2.14.5 + vite-jsconfig-paths: 2.0.1(vite@5.1.4) + vite-tsconfig-paths: 4.3.1(vite@5.1.4) + vitest: 0.31.4(@vitest/ui@1.6.0) + vue: 3.4.19 + transitivePeerDependencies: + - supports-color + - typescript + - vite + dev: true + + /@quasar/quasar-ui-qcalendar@4.0.0-beta.19: + resolution: {integrity: sha512-BT0G2JjgKl1bqNrY5utcYeoy8gK+U9k3Pz1YDi1OB265W/jHU6nFoWMEUdY3JdvMccwkXTL2DLVyl3eqAUyLyg==} + dev: true + + /@quasar/render-ssr-error@1.0.3: + resolution: {integrity: sha512-A8RF99q6/sOSe1Ighnh5syEIbliD3qUYEJd2HyfFyBPSMF+WYGXon5dmzg4nUoK662NgOggInevkDyBDJcZugg==} + engines: {node: '>= 16'} + dependencies: + stack-trace: 1.0.0-pre2 + dev: true + + /@quasar/ssl-certificate@1.0.0: + resolution: {integrity: sha512-RhZF7rO76T7Ywer1/5lCe7xl3CIiXxSAH1xgwOj0wcHTityDxJqIN/5YIj6BxMvlFw8XkJDoB1udEQafoVFA4g==} + engines: {node: '>= 16'} + dependencies: + fs-extra: 11.2.0 + selfsigned: 2.4.1 + dev: false + + /@quasar/vite-plugin@1.6.0(@vitejs/plugin-vue@2.3.4)(quasar@2.14.5)(vite@2.9.17)(vue@3.4.19): + resolution: {integrity: sha512-LmbV76G1CwWZbrEQhqyZpkRQTJyO3xpW55aXY1zWN+JhyUeG77CcMCEWteBVnJ6I6ehUPFDC9ONd2+WlwH6rNQ==} + engines: {node: '>=12'} + peerDependencies: + '@vitejs/plugin-vue': ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-beta.0 + quasar: ^2.8.0 + vite: ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-beta.0 + vue: ^3.0.0 + dependencies: + '@vitejs/plugin-vue': 2.3.4(vite@5.1.4)(vue@3.4.19) + quasar: 2.14.5 + vite: 2.9.17(sass@1.71.1) + vue: 3.4.19 + dev: true + + /@rollup/pluginutils@4.2.1: + resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} + engines: {node: '>= 8.0.0'} + dependencies: + estree-walker: 2.0.2 + picomatch: 2.3.1 + dev: true + + /@rollup/rollup-android-arm-eabi@4.12.0: + resolution: {integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.12.0: + resolution: {integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.12.0: + resolution: {integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.12.0: + resolution: {integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.12.0: + resolution: {integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.12.0: + resolution: {integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.12.0: + resolution: {integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.12.0: + resolution: {integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.12.0: + resolution: {integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.12.0: + resolution: {integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.12.0: + resolution: {integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.12.0: + resolution: {integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.12.0: + resolution: {integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true + + /@sindresorhus/is@4.6.0: + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + dev: false + + /@sindresorhus/is@5.6.0: + resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} + engines: {node: '>=14.16'} + dev: false + + /@szmarczak/http-timer@4.0.6: + resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} + engines: {node: '>=10'} + dependencies: + defer-to-connect: 2.0.1 + dev: false + + /@szmarczak/http-timer@5.0.1: + resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} + engines: {node: '>=14.16'} + dependencies: + defer-to-connect: 2.0.1 + dev: false + + /@types/body-parser@1.19.5: + resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + dependencies: + '@types/connect': 3.4.38 + '@types/node': 20.11.19 + dev: true + + /@types/cacheable-request@6.0.3: + resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} + dependencies: + '@types/http-cache-semantics': 4.0.4 + '@types/keyv': 3.1.4 + '@types/node': 20.11.19 + '@types/responselike': 1.0.3 + dev: false + + /@types/chai-subset@1.3.5: + resolution: {integrity: sha512-c2mPnw+xHtXDoHmdtcCXGwyLMiauiAyxWMzhGpqHC4nqI/Y5G2XhTampslK2rb59kpcuHon03UH8W6iYUzw88A==} + dependencies: + '@types/chai': 4.3.12 + dev: true + + /@types/chai@4.3.12: + resolution: {integrity: sha512-zNKDHG/1yxm8Il6uCCVsm+dRdEsJlFoDu73X17y09bId6UwoYww+vFBsAcRzl8knM1sab3Dp1VRikFQwDOtDDw==} + dev: true + + /@types/chrome@0.0.208: + resolution: {integrity: sha512-VDU/JnXkF5qaI7WBz14Azpa2VseZTgML0ia/g/B1sr9OfdOnHiH/zZ7P7qCDqxSlkqJh76/bPc8jLFcx8rHJmw==} + dependencies: + '@types/filesystem': 0.0.35 + '@types/har-format': 1.2.15 + dev: true + + /@types/compression@1.7.5: + resolution: {integrity: sha512-AAQvK5pxMpaT+nDvhHrsBhLSYG5yQdtkaJE1WYieSNY2mVFKAgmU4ks65rkZD5oqnGCFLyQpUr1CqI4DmUMyDg==} + dependencies: + '@types/express': 4.17.21 + dev: true + + /@types/connect@3.4.38: + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + dependencies: + '@types/node': 20.11.19 + dev: true + + /@types/cordova@0.0.34: + resolution: {integrity: sha512-rkiiTuf/z2wTd4RxFOb+clE7PF4AEJU0hsczbUdkHHBtkUmpWQpEddynNfJYKYtZFJKbq4F+brfekt1kx85IZA==} + dev: true + + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true + + /@types/express-serve-static-core@4.17.43: + resolution: {integrity: sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==} + dependencies: + '@types/node': 20.11.19 + '@types/qs': 6.9.11 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.4 + dev: true + + /@types/express@4.17.21: + resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} + dependencies: + '@types/body-parser': 1.19.5 + '@types/express-serve-static-core': 4.17.43 + '@types/qs': 6.9.11 + '@types/serve-static': 1.15.5 + dev: true + + /@types/filesystem@0.0.35: + resolution: {integrity: sha512-1eKvCaIBdrD2mmMgy5dwh564rVvfEhZTWVQQGRNn0Nt4ZEnJ0C8oSUCzvMKRA4lGde5oEVo+q2MrTTbV/GHDCQ==} + dependencies: + '@types/filewriter': 0.0.33 + dev: true + + /@types/filewriter@0.0.33: + resolution: {integrity: sha512-xFU8ZXTw4gd358lb2jw25nxY9QAgqn2+bKKjKOYfNCzN4DKCFetK7sPtrlpg66Ywe3vWY9FNxprZawAh9wfJ3g==} + dev: true + + /@types/har-format@1.2.15: + resolution: {integrity: sha512-RpQH4rXLuvTXKR0zqHq3go0RVXYv/YVqv4TnPH95VbwUxZdQlK1EtcMvQvMpDngHbt13Csh9Z4qT9AbkiQH5BA==} + dev: true + + /@types/http-cache-semantics@4.0.4: + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} + dev: false + + /@types/http-errors@2.0.4: + resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + dev: true + + /@types/http-proxy@1.17.14: + resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} + dependencies: + '@types/node': 20.11.19 + dev: false + + /@types/json5@0.0.29: + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + dev: true + + /@types/keyv@3.1.4: + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + dependencies: + '@types/node': 20.11.19 + dev: false + + /@types/mime@1.3.5: + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + dev: true + + /@types/mime@3.0.4: + resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==} + dev: true + + /@types/node-forge@1.3.11: + resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} + dependencies: + '@types/node': 20.11.19 + dev: false + + /@types/node@20.11.19: + resolution: {integrity: sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==} + dependencies: + undici-types: 5.26.5 + + /@types/qs@6.9.11: + resolution: {integrity: sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==} + dev: true + + /@types/range-parser@1.2.7: + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + dev: true + + /@types/responselike@1.0.3: + resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} + dependencies: + '@types/node': 20.11.19 + dev: false + + /@types/send@0.17.4: + resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + dependencies: + '@types/mime': 1.3.5 + '@types/node': 20.11.19 + dev: true + + /@types/serve-static@1.15.5: + resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==} + dependencies: + '@types/http-errors': 2.0.4 + '@types/mime': 3.0.4 + '@types/node': 20.11.19 + dev: true + + /@types/sinonjs__fake-timers@8.1.1: + resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==} + dev: true + + /@types/sizzle@2.3.8: + resolution: {integrity: sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==} + dev: true + + /@types/yauzl@2.10.3: + resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} + requiresBuild: true + dependencies: + '@types/node': 20.11.19 + dev: true + optional: true + + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + + /@vitejs/plugin-vue@2.3.4(vite@5.1.4)(vue@3.4.19): + resolution: {integrity: sha512-IfFNbtkbIm36O9KB8QodlwwYvTEsJb4Lll4c2IwB3VHc2gie2mSPtSzL0eYay7X2jd/2WX02FjSGTWR6OPr/zg==} + engines: {node: '>=12.0.0'} + peerDependencies: + vite: ^2.5.10 + vue: ^3.2.25 + dependencies: + vite: 5.1.4 + vue: 3.4.19 + dev: true + + /@vitest/expect@0.31.4: + resolution: {integrity: sha512-tibyx8o7GUyGHZGyPgzwiaPaLDQ9MMuCOrc03BYT0nryUuhLbL7NV2r/q98iv5STlwMgaKuFJkgBW/8iPKwlSg==} + dependencies: + '@vitest/spy': 0.31.4 + '@vitest/utils': 0.31.4 + chai: 4.4.1 + dev: true + + /@vitest/runner@0.31.4: + resolution: {integrity: sha512-Wgm6UER+gwq6zkyrm5/wbpXGF+g+UBB78asJlFkIOwyse0pz8lZoiC6SW5i4gPnls/zUcPLWS7Zog0LVepXnpg==} + dependencies: + '@vitest/utils': 0.31.4 + concordance: 5.0.4 + p-limit: 4.0.0 + pathe: 1.1.2 + dev: true + + /@vitest/snapshot@0.31.4: + resolution: {integrity: sha512-LemvNumL3NdWSmfVAMpXILGyaXPkZbG5tyl6+RQSdcHnTj6hvA49UAI8jzez9oQyE/FWLKRSNqTGzsHuk89LRA==} + dependencies: + magic-string: 0.30.7 + pathe: 1.1.2 + pretty-format: 27.5.1 + dev: true + + /@vitest/spy@0.31.4: + resolution: {integrity: sha512-3ei5ZH1s3aqbEyftPAzSuunGICRuhE+IXOmpURFdkm5ybUADk+viyQfejNk6q8M5QGX8/EVKw+QWMEP3DTJDag==} + dependencies: + tinyspy: 2.2.1 + dev: true + + /@vitest/ui@1.6.0(vitest@0.31.4): + resolution: {integrity: sha512-k3Lyo+ONLOgylctiGovRKy7V4+dIN2yxstX3eY5cWFXH6WP+ooVX79YSyi0GagdTQzLmT43BF27T0s6dOIPBXA==} + peerDependencies: + vitest: 1.6.0 + dependencies: + '@vitest/utils': 1.6.0 + fast-glob: 3.3.2 + fflate: 0.8.2 + flatted: 3.3.1 + pathe: 1.1.2 + picocolors: 1.0.0 + sirv: 2.0.4 + vitest: 0.31.4(@vitest/ui@1.6.0) + dev: true + + /@vitest/utils@0.31.4: + resolution: {integrity: sha512-DobZbHacWznoGUfYU8XDPY78UubJxXfMNY1+SUdOp1NsI34eopSA6aZMeaGu10waSOeYwE8lxrd/pLfT0RMxjQ==} + dependencies: + concordance: 5.0.4 + loupe: 2.3.7 + pretty-format: 27.5.1 + dev: true + + /@vitest/utils@1.6.0: + resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} + dependencies: + diff-sequences: 29.6.3 + estree-walker: 3.0.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + dev: true + + /@vue/compiler-core@3.4.19: + resolution: {integrity: sha512-gj81785z0JNzRcU0Mq98E56e4ltO1yf8k5PQ+tV/7YHnbZkrM0fyFyuttnN8ngJZjbpofWE/m4qjKBiLl8Ju4w==} + dependencies: + '@babel/parser': 7.23.9 + '@vue/shared': 3.4.19 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + + /@vue/compiler-dom@3.4.19: + resolution: {integrity: sha512-vm6+cogWrshjqEHTzIDCp72DKtea8Ry/QVpQRYoyTIg9k7QZDX6D8+HGURjtmatfgM8xgCFtJJaOlCaRYRK3QA==} + dependencies: + '@vue/compiler-core': 3.4.19 + '@vue/shared': 3.4.19 + + /@vue/compiler-sfc@3.4.19: + resolution: {integrity: sha512-LQ3U4SN0DlvV0xhr1lUsgLCYlwQfUfetyPxkKYu7dkfvx7g3ojrGAkw0AERLOKYXuAGnqFsEuytkdcComei3Yg==} + dependencies: + '@babel/parser': 7.23.9 + '@vue/compiler-core': 3.4.19 + '@vue/compiler-dom': 3.4.19 + '@vue/compiler-ssr': 3.4.19 + '@vue/shared': 3.4.19 + estree-walker: 2.0.2 + magic-string: 0.30.7 + postcss: 8.4.35 + source-map-js: 1.0.2 + + /@vue/compiler-ssr@3.4.19: + resolution: {integrity: sha512-P0PLKC4+u4OMJ8sinba/5Z/iDT84uMRRlrWzadgLA69opCpI1gG4N55qDSC+dedwq2fJtzmGald05LWR5TFfLw==} + dependencies: + '@vue/compiler-dom': 3.4.19 + '@vue/shared': 3.4.19 + + /@vue/devtools-api@6.6.1: + resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==} + + /@vue/reactivity@3.4.19: + resolution: {integrity: sha512-+VcwrQvLZgEclGZRHx4O2XhyEEcKaBi50WbxdVItEezUf4fqRh838Ix6amWTdX0CNb/b6t3Gkz3eOebfcSt+UA==} + dependencies: + '@vue/shared': 3.4.19 + + /@vue/runtime-core@3.4.19: + resolution: {integrity: sha512-/Z3tFwOrerJB/oyutmJGoYbuoadphDcJAd5jOuJE86THNZji9pYjZroQ2NFsZkTxOq0GJbb+s2kxTYToDiyZzw==} + dependencies: + '@vue/reactivity': 3.4.19 + '@vue/shared': 3.4.19 + + /@vue/runtime-dom@3.4.19: + resolution: {integrity: sha512-IyZzIDqfNCF0OyZOauL+F4yzjMPN2rPd8nhqPP2N1lBn3kYqJpPHHru+83Rkvo2lHz5mW+rEeIMEF9qY3PB94g==} + dependencies: + '@vue/runtime-core': 3.4.19 + '@vue/shared': 3.4.19 + csstype: 3.1.3 + + /@vue/server-renderer@3.4.19(vue@3.4.19): + resolution: {integrity: sha512-eAj2p0c429RZyyhtMRnttjcSToch+kTWxFPHlzGMkR28ZbF1PDlTcmGmlDxccBuqNd9iOQ7xPRPAGgPVj+YpQw==} + peerDependencies: + vue: 3.4.19 + dependencies: + '@vue/compiler-ssr': 3.4.19 + '@vue/shared': 3.4.19 + vue: 3.4.19 + + /@vue/shared@3.4.19: + resolution: {integrity: sha512-/KliRRHMF6LoiThEy+4c1Z4KB/gbPrGjWwJR+crg2otgrf/egKzRaCPvJ51S5oetgsgXLfc4Rm5ZgrKHZrtMSw==} + + /@vue/test-utils@2.4.4(vue@3.4.19): + resolution: {integrity: sha512-8jkRxz8pNhClAf4Co4ZrpAoFISdvT3nuSkUlY6Ys6rmTpw3DMWG/X3mw3gQ7QJzgCZO9f+zuE2kW57fi09MW7Q==} + peerDependencies: + '@vue/server-renderer': ^3.0.1 + vue: ^3.0.1 + peerDependenciesMeta: + '@vue/server-renderer': optional: true - - /@esbuild/linux-arm64@0.18.20: - resolution: - { - integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==, - } - engines: { node: '>=12' } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + dependencies: + js-beautify: 1.15.1 + vue: 3.4.19 + vue-component-type-helpers: 1.8.27 + dev: true + + /abbrev@2.0.0: + resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + + /accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + + /acorn-jsx@5.3.2(acorn@7.4.1): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 7.4.1 + dev: true + + /acorn-jsx@5.3.2(acorn@8.11.3): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.3 + dev: true + + /acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn@7.4.1: + resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + dev: true + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: true + + /ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + dependencies: + string-width: 4.2.3 + dev: false + + /ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + dev: true + + /ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.21.3 + dev: true + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + /ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + + /ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: true + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /arch@2.2.0: + resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} + dev: true + + /archiver-utils@2.1.0: + resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==} + engines: {node: '>= 6'} + dependencies: + glob: 7.2.3 + graceful-fs: 4.2.11 + lazystream: 1.0.1 + lodash.defaults: 4.2.0 + lodash.difference: 4.5.0 + lodash.flatten: 4.4.0 + lodash.isplainobject: 4.0.6 + lodash.union: 4.6.0 + normalize-path: 3.0.0 + readable-stream: 2.3.8 + dev: true + + /archiver-utils@3.0.4: + resolution: {integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==} + engines: {node: '>= 10'} + dependencies: + glob: 7.2.3 + graceful-fs: 4.2.11 + lazystream: 1.0.1 + lodash.defaults: 4.2.0 + lodash.difference: 4.5.0 + lodash.flatten: 4.4.0 + lodash.isplainobject: 4.0.6 + lodash.union: 4.6.0 + normalize-path: 3.0.0 + readable-stream: 3.6.2 + dev: true + + /archiver@5.3.2: + resolution: {integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==} + engines: {node: '>= 10'} + dependencies: + archiver-utils: 2.1.0 + async: 3.2.5 + buffer-crc32: 0.2.13 + readable-stream: 3.6.2 + readdir-glob: 1.1.3 + tar-stream: 2.2.0 + zip-stream: 4.1.1 + dev: true + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + + /asn1@0.2.6: + resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /assert-plus@1.0.0: + resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} + engines: {node: '>=0.8'} + dev: true + + /assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + dev: true + + /astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + dev: true + + /async@3.2.5: + resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} + dev: true + + /asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + /at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + dev: true + + /autoprefixer@10.4.17(postcss@8.4.35): + resolution: {integrity: sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.23.0 + caniuse-lite: 1.0.30001588 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.35 + postcss-value-parser: 4.2.0 + dev: true + + /aws-sign2@0.7.0: + resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} + dev: true + + /aws4@1.12.0: + resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} + dev: true + + /axios@1.6.7: + resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==} + dependencies: + follow-redirects: 1.15.5 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + dev: false + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + dev: true + + /bcrypt-pbkdf@1.0.2: + resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} + dependencies: + tweetnacl: 0.14.5 + dev: true + + /big-integer@1.6.52: + resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} + engines: {node: '>=0.6'} + dev: false + + /binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: true + + /bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: true + + /blob-util@2.0.2: + resolution: {integrity: sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==} + dev: true + + /bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + dev: true + + /blueimp-md5@2.19.0: + resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==} + dev: true + + /body-parser@1.20.1: + resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.11.0 + raw-body: 2.5.1 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + /boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: true + + /boxen@7.1.1: + resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} + engines: {node: '>=14.16'} + dependencies: + ansi-align: 3.0.1 + camelcase: 7.0.1 + chalk: 5.3.0 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + dev: false + + /bplist-parser@0.2.0: + resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} + engines: {node: '>= 5.10.0'} + dependencies: + big-integer: 1.6.52 + dev: false + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + + /browserslist@4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001588 + electron-to-chromium: 1.4.677 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.23.0) + dev: true + + /buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + dev: false + + /buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: true + + /bundle-name@3.0.0: + resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==} + engines: {node: '>=12'} + dependencies: + run-applescript: 5.0.0 + dev: false + + /bytes@3.0.0: + resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} + engines: {node: '>= 0.8'} + + /bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + /cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: true + + /cacheable-lookup@5.0.4: + resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} + engines: {node: '>=10.6.0'} + dev: false + + /cacheable-lookup@7.0.0: + resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} + engines: {node: '>=14.16'} + dev: false + + /cacheable-request@10.2.14: + resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} + engines: {node: '>=14.16'} + dependencies: + '@types/http-cache-semantics': 4.0.4 + get-stream: 6.0.1 + http-cache-semantics: 4.1.1 + keyv: 4.5.4 + mimic-response: 4.0.0 + normalize-url: 8.0.0 + responselike: 3.0.0 + dev: false + + /cacheable-request@7.0.4: + resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} + engines: {node: '>=8'} + dependencies: + clone-response: 1.0.3 + get-stream: 5.2.0 + http-cache-semantics: 4.1.1 + keyv: 4.5.4 + lowercase-keys: 2.0.0 + normalize-url: 6.1.0 + responselike: 2.0.1 + dev: false + + /cachedir@2.4.0: + resolution: {integrity: sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==} + engines: {node: '>=6'} + + /call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.1 + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /camel-case@3.0.0: + resolution: {integrity: sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==} + dependencies: + no-case: 2.3.2 + upper-case: 1.1.3 + dev: true + + /camelcase@7.0.1: + resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} + engines: {node: '>=14.16'} + dev: false + + /caniuse-lite@1.0.30001588: + resolution: {integrity: sha512-+hVY9jE44uKLkH0SrUTqxjxqNTOWHsbnQDIKjwkZ3lNTzUUVdBLBGXtj/q5Mp5u98r3droaZAewQuEDzjQdZlQ==} + dev: true + + /caseless@0.12.0: + resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} + dev: true + + /chai@4.4.1: + resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} + engines: {node: '>=4'} + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.3 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: false + + /chardet@0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + dev: true + + /check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + dependencies: + get-func-name: 2.0.2 + dev: true + + /check-more-types@2.24.0: + resolution: {integrity: sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==} + engines: {node: '>= 0.8.0'} + dev: true + + /chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /chromium@3.0.3: + resolution: {integrity: sha512-TfbzP/3t38Us5xrbb9x87M/y5I/j3jx0zeJhhQ72gjp6dwJuhVP6hBZnBH4wEg7512VVXk9zCfTuPFOdw7bQqg==} + os: [darwin, linux, win32] + requiresBuild: true + dependencies: + cachedir: 2.4.0 + debug: 4.3.4(supports-color@8.1.1) + extract-zip: 1.7.0 + got: 11.8.6 + progress: 2.0.3 + rimraf: 2.7.1 + tmp: 0.0.33 + tunnel: 0.0.6 + transitivePeerDependencies: + - supports-color + dev: false + + /ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + /clean-css@4.2.4: + resolution: {integrity: sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==} + engines: {node: '>= 4.0'} + dependencies: + source-map: 0.6.1 + dev: true + + /clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + dev: true + + /cli-boxes@3.0.0: + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} + dev: false + + /cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + dependencies: + restore-cursor: 3.1.0 + dev: true + + /cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + dev: true + + /cli-table3@0.6.3: + resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==} + engines: {node: 10.* || >= 12.*} + dependencies: + string-width: 4.2.3 + optionalDependencies: + '@colors/colors': 1.5.0 + dev: true + + /cli-truncate@2.1.0: + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} + dependencies: + slice-ansi: 3.0.0 + string-width: 4.2.3 + dev: true + + /cli-width@3.0.0: + resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} + engines: {node: '>= 10'} + dev: true + + /cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /clone-deep@4.0.1: + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} + dependencies: + is-plain-object: 2.0.4 + kind-of: 6.0.3 + shallow-clone: 3.0.1 + dev: true + + /clone-response@1.0.3: + resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} + dependencies: + mimic-response: 1.0.1 + dev: false + + /clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + dev: true + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + dev: true + + /combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + + /commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + dev: true + + /commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + dev: true + + /commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + dev: true + + /commander@6.2.1: + resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} + engines: {node: '>= 6'} + dev: true + + /common-tags@1.8.2: + resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} + engines: {node: '>=4.0.0'} + dev: true + + /compress-commons@4.1.2: + resolution: {integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==} + engines: {node: '>= 10'} + dependencies: + buffer-crc32: 0.2.13 + crc32-stream: 4.0.3 + normalize-path: 3.0.0 + readable-stream: 3.6.2 + dev: true + + /compressible@2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + + /compression@1.7.4: + resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} + engines: {node: '>= 0.8.0'} + dependencies: + accepts: 1.3.8 + bytes: 3.0.0 + compressible: 2.0.18 + debug: 2.6.9 + on-headers: 1.0.2 + safe-buffer: 5.1.2 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + /concat-stream@1.6.2: + resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} + engines: {'0': node >= 0.8} + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 2.3.8 + typedarray: 0.0.6 + dev: false + + /concordance@5.0.4: + resolution: {integrity: sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==} + engines: {node: '>=10.18.0 <11 || >=12.14.0 <13 || >=14'} + dependencies: + date-time: 3.1.0 + esutils: 2.0.3 + fast-diff: 1.3.0 + js-string-escape: 1.0.1 + lodash: 4.17.21 + md5-hex: 3.0.1 + semver: 7.6.0 + well-known-symbols: 2.0.0 + dev: true + + /config-chain@1.1.13: + resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + dependencies: + ini: 1.3.8 + proto-list: 1.2.4 + + /configstore@6.0.0: + resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==} + engines: {node: '>=12'} + dependencies: + dot-prop: 6.0.1 + graceful-fs: 4.2.11 + unique-string: 3.0.0 + write-file-atomic: 3.0.3 + xdg-basedir: 5.1.0 + dev: false + + /connect-history-api-fallback@2.0.0: + resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} + engines: {node: '>=0.8'} + dev: false + + /content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + dependencies: + safe-buffer: 5.2.1 + + /content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + /cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + + /cookie@0.5.0: + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + engines: {node: '>= 0.6'} + + /core-util-is@1.0.2: + resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} + dev: true + + /core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + /cors@2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + dev: false + + /crc-32@1.2.2: + resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} + engines: {node: '>=0.8'} + hasBin: true + dev: true + + /crc32-stream@4.0.3: + resolution: {integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==} + engines: {node: '>= 10'} + dependencies: + crc-32: 1.2.2 + readable-stream: 3.6.2 + dev: true + + /croppie@2.6.5: + resolution: {integrity: sha512-IlChnVUGG5T3w2gRZIaQgBtlvyuYnlUWs2YZIXXR3H9KrlO1PtBT3j+ykxvy9eZIWhk+V5SpBmhCQz5UXKrEKQ==} + dev: false + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + /crypto-random-string@4.0.0: + resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} + engines: {node: '>=12'} + dependencies: + type-fest: 1.4.0 + dev: false + + /css.escape@1.5.1: + resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} + dev: true + + /cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + /cypress@13.6.6: + resolution: {integrity: sha512-S+2S9S94611hXimH9a3EAYt81QM913ZVA03pUmGDfLTFa5gyp85NJ8dJGSlEAEmyRsYkioS1TtnWtbv/Fzt11A==} + engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} + hasBin: true + requiresBuild: true + dependencies: + '@cypress/request': 3.0.1 + '@cypress/xvfb': 1.2.4(supports-color@8.1.1) + '@types/sinonjs__fake-timers': 8.1.1 + '@types/sizzle': 2.3.8 + arch: 2.2.0 + blob-util: 2.0.2 + bluebird: 3.7.2 + buffer: 5.7.1 + cachedir: 2.4.0 + chalk: 4.1.2 + check-more-types: 2.24.0 + cli-cursor: 3.1.0 + cli-table3: 0.6.3 + commander: 6.2.1 + common-tags: 1.8.2 + dayjs: 1.11.10 + debug: 4.3.4(supports-color@8.1.1) + enquirer: 2.4.1 + eventemitter2: 6.4.7 + execa: 4.1.0 + executable: 4.1.1 + extract-zip: 2.0.1(supports-color@8.1.1) + figures: 3.2.0 + fs-extra: 9.1.0 + getos: 3.2.1 + is-ci: 3.0.1 + is-installed-globally: 0.4.0 + lazy-ass: 1.6.0 + listr2: 3.14.0(enquirer@2.4.1) + lodash: 4.17.21 + log-symbols: 4.1.0 + minimist: 1.2.8 + ospath: 1.2.2 + pretty-bytes: 5.6.0 + process: 0.11.10 + proxy-from-env: 1.0.0 + request-progress: 3.0.0 + semver: 7.6.0 + supports-color: 8.1.1 + tmp: 0.2.1 + untildify: 4.0.0 + yauzl: 2.10.0 + dev: true + + /dashdash@1.14.1: + resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} + engines: {node: '>=0.10'} + dependencies: + assert-plus: 1.0.0 + dev: true + + /date-time@3.1.0: + resolution: {integrity: sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==} + engines: {node: '>=6'} + dependencies: + time-zone: 1.0.0 + dev: true + + /dayjs@1.11.10: + resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} + dev: true + + /debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: optional: true - - /@esbuild/linux-arm64@0.19.12: - resolution: - { - integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==, - } - engines: { node: '>=12' } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + dependencies: + ms: 2.0.0 + + /debug@3.1.0: + resolution: {integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: optional: true - - /@esbuild/linux-arm@0.18.20: - resolution: - { - integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==, - } - engines: { node: '>=12' } - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true + dependencies: + ms: 2.0.0 + dev: false + + /debug@3.2.7(supports-color@8.1.1): + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: optional: true - - /@esbuild/linux-arm@0.19.12: - resolution: - { - integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==, - } - engines: { node: '>=12' } - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true + dependencies: + ms: 2.1.3 + supports-color: 8.1.1 + dev: true + + /debug@4.3.4(supports-color@8.1.1): + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: optional: true - - /@esbuild/linux-ia32@0.18.20: - resolution: - { - integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==, - } - engines: { node: '>=12' } - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true + dependencies: + ms: 2.1.2 + supports-color: 8.1.1 + + /decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + dependencies: + mimic-response: 3.1.0 + dev: false + + /deep-eql@4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} + dependencies: + type-detect: 4.0.8 + dev: true + + /deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + dev: false + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /default-browser-id@3.0.0: + resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} + engines: {node: '>=12'} + dependencies: + bplist-parser: 0.2.0 + untildify: 4.0.0 + dev: false + + /default-browser@4.0.0: + resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==} + engines: {node: '>=14.16'} + dependencies: + bundle-name: 3.0.0 + default-browser-id: 3.0.0 + execa: 7.2.0 + titleize: 3.0.0 + dev: false + + /defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + dependencies: + clone: 1.0.4 + dev: true + + /defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} + dev: false + + /define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + + /define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + dev: true + + /define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + dev: false + + /delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + /depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + /destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /dot-prop@6.0.1: + resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} + engines: {node: '>=10'} + dependencies: + is-obj: 2.0.0 + + /eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + /ecc-jsbn@0.1.2: + resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} + dependencies: + jsbn: 0.1.1 + safer-buffer: 2.1.2 + dev: true + + /editorconfig@1.0.4: + resolution: {integrity: sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==} + engines: {node: '>=14'} + hasBin: true + dependencies: + '@one-ini/wasm': 0.1.1 + commander: 10.0.1 + minimatch: 9.0.1 + semver: 7.6.0 + dev: true + + /ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + /electron-to-chromium@1.4.677: + resolution: {integrity: sha512-erDa3CaDzwJOpyvfKhOiJjBVNnMM0qxHq47RheVVwsSQrgBA9ZSGV9kdaOfZDPXcHzhG7lBxhj6A7KvfLJBd6Q==} + dev: true + + /elementtree@0.1.7: + resolution: {integrity: sha512-wkgGT6kugeQk/P6VZ/f4T+4HB41BVgNBq5CDIZVbQ02nvTVqAiVTbskxxu3eA/X96lMlfYOwnLQpN2v5E1zDEg==} + engines: {node: '>= 0.4.0'} + dependencies: + sax: 1.1.4 + dev: true + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + /emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + /encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + + /enquirer@2.4.1: + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} + dependencies: + ansi-colors: 4.1.3 + strip-ansi: 6.0.1 + dev: true + + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + /es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.4 + + /es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + /esbuild-android-64@0.14.51: + resolution: {integrity: sha512-6FOuKTHnC86dtrKDmdSj2CkcKF8PnqkaIXqvgydqfJmqBazCPdw+relrMlhGjkvVdiiGV70rpdnyFmA65ekBCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-android-arm64@0.14.51: + resolution: {integrity: sha512-vBtp//5VVkZWmYYvHsqBRCMMi1MzKuMIn5XDScmnykMTu9+TD9v0NMEDqQxvtFToeYmojdo5UCV2vzMQWJcJ4A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-64@0.14.51: + resolution: {integrity: sha512-YFmXPIOvuagDcwCejMRtCDjgPfnDu+bNeh5FU2Ryi68ADDVlWEpbtpAbrtf/lvFTWPexbgyKgzppNgsmLPr8PA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-arm64@0.14.51: + resolution: {integrity: sha512-juYD0QnSKwAMfzwKdIF6YbueXzS6N7y4GXPDeDkApz/1RzlT42mvX9jgNmyOlWKN7YzQAYbcUEJmZJYQGdf2ow==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-64@0.14.51: + resolution: {integrity: sha512-cLEI/aXjb6vo5O2Y8rvVSQ7smgLldwYY5xMxqh/dQGfWO+R1NJOFsiax3IS4Ng300SVp7Gz3czxT6d6qf2cw0g==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-arm64@0.14.51: + resolution: {integrity: sha512-TcWVw/rCL2F+jUgRkgLa3qltd5gzKjIMGhkVybkjk6PJadYInPtgtUBp1/hG+mxyigaT7ib+od1Xb84b+L+1Mg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-32@0.14.51: + resolution: {integrity: sha512-RFqpyC5ChyWrjx8Xj2K0EC1aN0A37H6OJfmUXIASEqJoHcntuV3j2Efr9RNmUhMfNE6yEj2VpYuDteZLGDMr0w==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-64@0.14.51: + resolution: {integrity: sha512-dxjhrqo5i7Rq6DXwz5v+MEHVs9VNFItJmHBe1CxROWNf4miOGoQhqSG8StStbDkQ1Mtobg6ng+4fwByOhoQoeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm64@0.14.51: + resolution: {integrity: sha512-D9rFxGutoqQX3xJPxqd6o+kvYKeIbM0ifW2y0bgKk5HPgQQOo2k9/2Vpto3ybGYaFPCE5qTGtqQta9PoP6ZEzw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm@0.14.51: + resolution: {integrity: sha512-LsJynDxYF6Neg7ZC7748yweCDD+N8ByCv22/7IAZglIEniEkqdF4HCaa49JNDLw1UQGlYuhOB8ZT/MmcSWzcWg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-mips64le@0.14.51: + resolution: {integrity: sha512-vS54wQjy4IinLSlb5EIlLoln8buh1yDgliP4CuEHumrPk4PvvP4kTRIG4SzMXm6t19N0rIfT4bNdAxzJLg2k6A==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-ppc64le@0.14.51: + resolution: {integrity: sha512-xcdd62Y3VfGoyphNP/aIV9LP+RzFw5M5Z7ja+zdpQHHvokJM7d0rlDRMN+iSSwvUymQkqZO+G/xjb4/75du8BQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-riscv64@0.14.51: + resolution: {integrity: sha512-syXHGak9wkAnFz0gMmRBoy44JV0rp4kVCEA36P5MCeZcxFq8+fllBC2t6sKI23w3qd8Vwo9pTADCgjTSf3L3rA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-s390x@0.14.51: + resolution: {integrity: sha512-kFAJY3dv+Wq8o28K/C7xkZk/X34rgTwhknSsElIqoEo8armCOjMJ6NsMxm48KaWY2h2RUYGtQmr+RGuUPKBhyw==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-netbsd-64@0.14.51: + resolution: {integrity: sha512-ZZBI7qrR1FevdPBVHz/1GSk1x5GDL/iy42Zy8+neEm/HA7ma+hH/bwPEjeHXKWUDvM36CZpSL/fn1/y9/Hb+1A==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-openbsd-64@0.14.51: + resolution: {integrity: sha512-7R1/p39M+LSVQVgDVlcY1KKm6kFKjERSX1lipMG51NPcspJD1tmiZSmmBXoY5jhHIu6JL1QkFDTx94gMYK6vfA==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-sunos-64@0.14.51: + resolution: {integrity: sha512-HoHaCswHxLEYN8eBTtyO0bFEWvA3Kdb++hSQ/lLG7TyKF69TeSG0RNoBRAs45x/oCeWaTDntEZlYwAfQlhEtJA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-32@0.14.51: + resolution: {integrity: sha512-4rtwSAM35A07CBt1/X8RWieDj3ZUHQqUOaEo5ZBs69rt5WAFjP4aqCIobdqOy4FdhYw1yF8Z0xFBTyc9lgPtEg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-64@0.14.51: + resolution: {integrity: sha512-HoN/5HGRXJpWODprGCgKbdMvrC3A2gqvzewu2eECRw2sYxOUoh2TV1tS+G7bHNapPGI79woQJGV6pFH7GH7qnA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-arm64@0.14.51: + resolution: {integrity: sha512-JQDqPjuOH7o+BsKMSddMfmVJXrnYZxXDHsoLHc0xgmAZkOOCflRmC43q31pk79F9xuyWY45jDBPolb5ZgGOf9g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild@0.14.51: + resolution: {integrity: sha512-+CvnDitD7Q5sT7F+FM65sWkF8wJRf+j9fPcprxYV4j+ohmzVj2W7caUqH2s5kCaCJAfcAICjSlKhDCcvDpU7nw==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + esbuild-android-64: 0.14.51 + esbuild-android-arm64: 0.14.51 + esbuild-darwin-64: 0.14.51 + esbuild-darwin-arm64: 0.14.51 + esbuild-freebsd-64: 0.14.51 + esbuild-freebsd-arm64: 0.14.51 + esbuild-linux-32: 0.14.51 + esbuild-linux-64: 0.14.51 + esbuild-linux-arm: 0.14.51 + esbuild-linux-arm64: 0.14.51 + esbuild-linux-mips64le: 0.14.51 + esbuild-linux-ppc64le: 0.14.51 + esbuild-linux-riscv64: 0.14.51 + esbuild-linux-s390x: 0.14.51 + esbuild-netbsd-64: 0.14.51 + esbuild-openbsd-64: 0.14.51 + esbuild-sunos-64: 0.14.51 + esbuild-windows-32: 0.14.51 + esbuild-windows-64: 0.14.51 + esbuild-windows-arm64: 0.14.51 + dev: true + + /esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 + dev: true + + /esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 + dev: true + + /escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + dev: true + + /escape-goat@4.0.0: + resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==} + engines: {node: '>=12'} + dev: false + + /escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /eslint-config-prettier@8.10.0(eslint@8.56.0): + resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.56.0 + dev: true + + /eslint-plugin-cypress@2.15.1(eslint@8.56.0): + resolution: {integrity: sha512-eLHLWP5Q+I4j2AWepYq0PgFEei9/s5LvjuSqWrxurkg1YZ8ltxdvMNmdSf0drnsNo57CTgYY/NIHHLRSWejR7w==} + peerDependencies: + eslint: '>= 3.2.1' + dependencies: + eslint: 8.56.0 + globals: 13.24.0 + dev: true + + /eslint-plugin-vue@9.21.1(eslint@8.56.0): + resolution: {integrity: sha512-XVtI7z39yOVBFJyi8Ljbn7kY9yHzznKXL02qQYn+ta63Iy4A9JFBw6o4OSB9hyD2++tVT+su9kQqetUyCCwhjw==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + eslint: 8.56.0 + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 6.0.15 + semver: 7.6.0 + vue-eslint-parser: 9.4.2(eslint@8.56.0) + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-utils@2.1.0: + resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} + engines: {node: '>=6'} + dependencies: + eslint-visitor-keys: 1.3.0 + dev: true + + /eslint-visitor-keys@1.3.0: + resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} + engines: {node: '>=4'} + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint@8.56.0: + resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.56.0 + '@humanwhocodes/config-array': 0.11.14 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4(supports-color@8.1.1) + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.3 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@6.2.1: + resolution: {integrity: sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==} + engines: {node: '>=6.0.0'} + dependencies: + acorn: 7.4.1 + acorn-jsx: 5.3.2(acorn@7.4.1) + eslint-visitor-keys: 1.3.0 + dev: true + + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 + dev: true + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + /estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + dependencies: + '@types/estree': 1.0.5 + dev: true + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + /eventemitter2@6.4.7: + resolution: {integrity: sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==} + dev: true + + /eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + dev: false + + /execa@4.1.0: + resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + + /execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: false + + /execa@7.2.0: + resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} + engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 4.3.1 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.2.0 + onetime: 6.0.0 + signal-exit: 3.0.7 + strip-final-newline: 3.0.0 + dev: false + + /executable@4.1.1: + resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==} + engines: {node: '>=4'} + dependencies: + pify: 2.3.0 + dev: true + + /express@4.18.2: + resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} + engines: {node: '>= 0.10.0'} + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.1 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.5.0 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.2.0 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.1 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.7 + proxy-addr: 2.0.7 + qs: 6.11.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.18.0 + serve-static: 1.15.0 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + /extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + dev: true + + /external-editor@3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + dev: true + + /extract-zip@1.7.0: + resolution: {integrity: sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==} + hasBin: true + dependencies: + concat-stream: 1.6.2 + debug: 2.6.9 + mkdirp: 0.5.6 + yauzl: 2.10.0 + transitivePeerDependencies: + - supports-color + dev: false + + /extract-zip@2.0.1(supports-color@8.1.1): + resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} + engines: {node: '>= 10.17.0'} + hasBin: true + dependencies: + debug: 4.3.4(supports-color@8.1.1) + get-stream: 5.2.0 + yauzl: 2.10.0 + optionalDependencies: + '@types/yauzl': 2.10.3 + transitivePeerDependencies: + - supports-color + dev: true + + /extsprintf@1.3.0: + resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} + engines: {'0': node >=0.6.0} + dev: true + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true + + /fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + dev: true + + /fast-glob@3.2.12: + resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + dependencies: + reusify: 1.0.4 + dev: true + + /fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + dependencies: + pend: 1.2.0 + + /fflate@0.8.2: + resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} + dev: true + + /figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.2.0 + dev: true + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + + /finalhandler@1.2.0: + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + engines: {node: '>= 0.8'} + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + + /flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + dev: true + + /flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + dev: true + + /follow-redirects@1.15.5: + resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: optional: true - - /@esbuild/linux-ia32@0.19.12: - resolution: - { - integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==, - } - engines: { node: '>=12' } - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true + dev: false + + /foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + dev: true + + /forever-agent@0.6.1: + resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} + dev: true + + /form-data-encoder@2.1.4: + resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} + engines: {node: '>= 14.17'} + dev: false + + /form-data@2.3.3: + resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} + engines: {node: '>= 0.12'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: true + + /form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: false + + /forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + /fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + dev: true + + /fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + /fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + dev: true + + /fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + /fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + /get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + + /get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + dev: true + + /get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.1 + + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.0 + + /get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: false + + /getos@3.2.1: + resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==} + dependencies: + async: 3.2.5 + dev: true + + /getpass@0.1.7: + resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} + dependencies: + assert-plus: 1.0.0 + dev: true + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob-regex@0.3.2: + resolution: {integrity: sha512-m5blUd3/OqDTWwzBBtWBPrGlAzatRywHameHeekAZyZrskYouOGdNB8T/q6JucucvJXtOuyHIn0/Yia7iDasDw==} + dev: true + + /glob@10.3.10: + resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.3.6 + minimatch: 9.0.3 + minipass: 7.0.4 + path-scurry: 1.10.1 + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + /global-dirs@3.0.1: + resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} + engines: {node: '>=10'} + dependencies: + ini: 2.0.0 + + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /globrex@0.1.2: + resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} + dev: true + + /gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.4 + + /got@11.8.6: + resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} + engines: {node: '>=10.19.0'} + dependencies: + '@sindresorhus/is': 4.6.0 + '@szmarczak/http-timer': 4.0.6 + '@types/cacheable-request': 6.0.3 + '@types/responselike': 1.0.3 + cacheable-lookup: 5.0.4 + cacheable-request: 7.0.4 + decompress-response: 6.0.0 + http2-wrapper: 1.0.3 + lowercase-keys: 2.0.0 + p-cancelable: 2.1.1 + responselike: 2.0.1 + dev: false + + /got@12.6.1: + resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} + engines: {node: '>=14.16'} + dependencies: + '@sindresorhus/is': 5.6.0 + '@szmarczak/http-timer': 5.0.1 + cacheable-lookup: 7.0.0 + cacheable-request: 10.2.14 + decompress-response: 6.0.0 + form-data-encoder: 2.1.4 + get-stream: 6.0.1 + http2-wrapper: 2.2.1 + lowercase-keys: 3.0.0 + p-cancelable: 3.0.0 + responselike: 3.0.0 + dev: false + + /graceful-fs@4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + dev: false + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + + /happy-dom@11.2.0: + resolution: {integrity: sha512-z4PshcYIIH6SkymSNRcDFwYUJOENe+FOQDx5BbHgg/wQUgxF5p9I9/BN45Jff34bbhXV8yJgkC5N99eyOzXK3w==} + dependencies: + css.escape: 1.5.1 + entities: 4.5.0 + iconv-lite: 0.6.3 + webidl-conversions: 7.0.0 + whatwg-encoding: 2.0.0 + whatwg-mimetype: 3.0.0 + dev: true + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + /has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + dependencies: + es-define-property: 1.0.0 + + /has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + + /has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + /has-yarn@3.0.0: + resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: false + + /hasown@2.0.1: + resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + + /he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + dev: true + + /html-minifier@4.0.0: + resolution: {integrity: sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==} + engines: {node: '>=6'} + hasBin: true + dependencies: + camel-case: 3.0.0 + clean-css: 4.2.4 + commander: 2.20.3 + he: 1.2.0 + param-case: 2.1.1 + relateurl: 0.2.7 + uglify-js: 3.17.4 + dev: true + + /http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + dev: false + + /http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + + /http-proxy-middleware@2.0.6: + resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/express': ^4.17.13 + peerDependenciesMeta: + '@types/express': optional: true - - /@esbuild/linux-loong64@0.18.20: - resolution: - { - integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==, - } - engines: { node: '>=12' } - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true + dependencies: + '@types/http-proxy': 1.17.14 + http-proxy: 1.18.1 + is-glob: 4.0.3 + is-plain-obj: 3.0.0 + micromatch: 4.0.5 + transitivePeerDependencies: + - debug + dev: false + + /http-proxy@1.18.1: + resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} + engines: {node: '>=8.0.0'} + dependencies: + eventemitter3: 4.0.7 + follow-redirects: 1.15.5 + requires-port: 1.0.0 + transitivePeerDependencies: + - debug + dev: false + + /http-signature@1.3.6: + resolution: {integrity: sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==} + engines: {node: '>=0.10'} + dependencies: + assert-plus: 1.0.0 + jsprim: 2.0.2 + sshpk: 1.18.0 + dev: true + + /http2-wrapper@1.0.3: + resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} + engines: {node: '>=10.19.0'} + dependencies: + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 + dev: false + + /http2-wrapper@2.2.1: + resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} + engines: {node: '>=10.19.0'} + dependencies: + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 + dev: false + + /human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + dev: true + + /human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: false + + /human-signals@4.3.1: + resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} + engines: {node: '>=14.18.0'} + dev: false + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + + /iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + dev: true + + /ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + dev: true + + /immutable@4.3.5: + resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==} + dev: true + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + dev: false + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + /indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + dev: true + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + /ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + /ini@2.0.0: + resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} + engines: {node: '>=10'} + + /inquirer@8.2.6: + resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} + engines: {node: '>=12.0.0'} + dependencies: + ansi-escapes: 4.3.2 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-width: 3.0.0 + external-editor: 3.1.0 + figures: 3.2.0 + lodash: 4.17.21 + mute-stream: 0.0.8 + ora: 5.4.1 + run-async: 2.4.1 + rxjs: 7.8.1 + string-width: 4.2.3 + strip-ansi: 6.0.1 + through: 2.3.8 + wrap-ansi: 6.2.0 + dev: true + + /ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: true + + /is-ci@3.0.1: + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + hasBin: true + dependencies: + ci-info: 3.9.0 + + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.1 + dev: true + + /is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + + /is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + dev: false + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + + /is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + dependencies: + is-docker: 3.0.0 + dev: false + + /is-installed-globally@0.4.0: + resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} + engines: {node: '>=10'} + dependencies: + global-dirs: 3.0.1 + is-path-inside: 3.0.3 + + /is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + dev: true + + /is-npm@6.0.0: + resolution: {integrity: sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: false + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + /is-obj@2.0.0: + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + /is-plain-obj@3.0.0: + resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} + engines: {node: '>=10'} + dev: false + + /is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: false + + /is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + + /is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + dev: true + + /is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + + /is-yarn-global@0.4.1: + resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==} + engines: {node: '>=12'} + dev: false + + /isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + /isbinaryfile@5.0.2: + resolution: {integrity: sha512-GvcjojwonMjWbTkfMpnVHVqXW/wKMYDfEpY94/8zy8HFMOqb/VL6oeONq9v87q4ttVlaTLnGXnJD4B5B1OTGIg==} + engines: {node: '>= 18.0.0'} + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + /isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + dev: true + + /isstream@0.1.2: + resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} + dev: true + + /jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + dev: true + + /js-beautify@1.15.1: + resolution: {integrity: sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA==} + engines: {node: '>=14'} + hasBin: true + dependencies: + config-chain: 1.1.13 + editorconfig: 1.0.4 + glob: 10.3.10 + js-cookie: 3.0.5 + nopt: 7.2.0 + dev: true + + /js-cookie@3.0.5: + resolution: {integrity: sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==} + engines: {node: '>=14'} + dev: true + + /js-string-escape@1.0.1: + resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==} + engines: {node: '>= 0.8'} + dev: true + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /jsbn@0.1.1: + resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} + dev: true + + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: true + + /json-schema@0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + dev: true + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + + /json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + dev: true + + /json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /jsonc-eslint-parser@1.4.1: + resolution: {integrity: sha512-hXBrvsR1rdjmB2kQmUjf1rEIa+TqHBGMge8pwi++C+Si1ad7EjZrJcpgwym+QGK/pqTx+K7keFAtLlVNdLRJOg==} + engines: {node: '>=8.10.0'} + dependencies: + acorn: 7.4.1 + eslint-utils: 2.1.0 + eslint-visitor-keys: 1.3.0 + espree: 6.2.1 + semver: 6.3.1 + dev: true + + /jsonc-parser@3.2.1: + resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + dev: true + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + /jsprim@2.0.2: + resolution: {integrity: sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==} + engines: {'0': node >=0.6.0} + dependencies: + assert-plus: 1.0.0 + extsprintf: 1.3.0 + json-schema: 0.4.0 + verror: 1.10.0 + dev: true + + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + + /kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + dev: true + + /kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + + /latest-version@7.0.0: + resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} + engines: {node: '>=14.16'} + dependencies: + package-json: 8.1.1 + dev: false + + /lazy-ass@1.6.0: + resolution: {integrity: sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==} + engines: {node: '> 0.8'} + dev: true + + /lazystream@1.0.1: + resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} + engines: {node: '>= 0.6.3'} + dependencies: + readable-stream: 2.3.8 + dev: true + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true + + /listr2@3.14.0(enquirer@2.4.1): + resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==} + engines: {node: '>=10.0.0'} + peerDependencies: + enquirer: '>= 2.3.0 < 3' + peerDependenciesMeta: + enquirer: optional: true - - /@esbuild/linux-loong64@0.19.12: - resolution: - { - integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==, - } - engines: { node: '>=12' } - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true + dependencies: + cli-truncate: 2.1.0 + colorette: 2.0.20 + enquirer: 2.4.1 + log-update: 4.0.0 + p-map: 4.0.0 + rfdc: 1.3.1 + rxjs: 7.8.1 + through: 2.3.8 + wrap-ansi: 7.0.0 + dev: true + + /local-pkg@0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + engines: {node: '>=14'} + dev: true + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + dev: true + + /lodash.defaults@4.2.0: + resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} + dev: true + + /lodash.difference@4.5.0: + resolution: {integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==} + dev: true + + /lodash.flatten@4.4.0: + resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} + dev: true + + /lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + dev: true + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /lodash.once@4.1.1: + resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} + dev: true + + /lodash.truncate@4.4.2: + resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} + dev: true + + /lodash.union@4.6.0: + resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==} + dev: true + + /lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + dev: true + + /log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + dev: true + + /log-update@4.0.0: + resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} + engines: {node: '>=10'} + dependencies: + ansi-escapes: 4.3.2 + cli-cursor: 3.1.0 + slice-ansi: 4.0.0 + wrap-ansi: 6.2.0 + dev: true + + /loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + dependencies: + get-func-name: 2.0.2 + dev: true + + /lower-case@1.1.4: + resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==} + dev: true + + /lowercase-keys@2.0.0: + resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} + engines: {node: '>=8'} + dev: false + + /lowercase-keys@3.0.0: + resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: false + + /lru-cache@10.2.0: + resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} + engines: {node: 14 || >=16.14} + dev: true + + /lru-cache@4.0.1: + resolution: {integrity: sha512-MX0ZnRoVTWXBiNe9dysqKXjvhmQgHsOirh/2rerIVJ8sbQeMxc5OPj0HDpVV3bYjdE6GTHrPf8BEHJqWHFkjHA==} + dependencies: + pseudomap: 1.0.2 + yallist: 2.1.2 + dev: false + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + + /magic-string@0.30.7: + resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + + /md5-hex@3.0.1: + resolution: {integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==} + engines: {node: '>=8'} + dependencies: + blueimp-md5: 2.19.0 + dev: true + + /media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + /merge-descriptors@1.0.1: + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + + /mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: false + + /mimic-response@1.0.1: + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} + engines: {node: '>=4'} + dev: false + + /mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + dev: false + + /mimic-response@4.0.0: + resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: false + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + + /minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimatch@9.0.1: + resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + /minipass@7.0.4: + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + engines: {node: '>=16 || 14 >=14.17'} + dev: true + + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: false + + /mlly@1.5.0: + resolution: {integrity: sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==} + dependencies: + acorn: 8.11.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + ufo: 1.4.0 + dev: true + + /mrmime@2.0.0: + resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} + engines: {node: '>=10'} + dev: true + + /ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + /mute-stream@0.0.8: + resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + dev: true + + /mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + dev: true + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + /no-case@2.3.2: + resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==} + dependencies: + lower-case: 1.1.4 + dev: true + + /node-forge@1.3.1: + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} + dev: false + + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + dev: true + + /nopt@7.2.0: + resolution: {integrity: sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + dependencies: + abbrev: 2.0.0 + dev: true + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + dev: true + + /normalize-url@6.1.0: + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} + dev: false + + /normalize-url@8.0.0: + resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==} + engines: {node: '>=14.16'} + dev: false + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + + /npm-run-path@5.2.0: + resolution: {integrity: sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: false + + /nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + dependencies: + boolbase: 1.0.0 + dev: true + + /object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + /object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + + /on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + dependencies: + ee-first: 1.1.1 + + /on-headers@1.0.2: + resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} + engines: {node: '>= 0.8'} + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: false + + /open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + dev: true + + /open@9.1.0: + resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==} + engines: {node: '>=14.16'} + dependencies: + default-browser: 4.0.0 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 2.2.0 + dev: false + + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.9.2 + is-interactive: 1.0.0 + is-unicode-supported: 0.1.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + dev: true + + /os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + + /ospath@1.2.2: + resolution: {integrity: sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==} + dev: true + + /p-cancelable@2.1.1: + resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} + engines: {node: '>=8'} + dev: false + + /p-cancelable@3.0.0: + resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} + engines: {node: '>=12.20'} + dev: false + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + yocto-queue: 1.0.0 + dev: true + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + dependencies: + aggregate-error: 3.1.0 + dev: true + + /package-json@8.1.1: + resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==} + engines: {node: '>=14.16'} + dependencies: + got: 12.6.1 + registry-auth-token: 5.0.2 + registry-url: 6.0.1 + semver: 7.6.0 + dev: false + + /param-case@2.1.1: + resolution: {integrity: sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==} + dependencies: + no-case: 2.3.2 + dev: true + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: false + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /path-scurry@1.10.1: + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + lru-cache: 10.2.0 + minipass: 7.0.4 + dev: true + + /path-to-regexp@0.1.7: + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + + /pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + dev: true + + /pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + dev: true + + /pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + + /performance-now@2.1.0: + resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} + dev: true + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + /pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + dev: true + + /pinia@2.1.7(vue@3.4.19): + resolution: {integrity: sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==} + peerDependencies: + '@vue/composition-api': ^1.4.0 + typescript: '>=4.4.4' + vue: ^2.6.14 || ^3.3.0 + peerDependenciesMeta: + '@vue/composition-api': optional: true - - /@esbuild/linux-mips64el@0.18.20: - resolution: - { - integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==, - } - engines: { node: '>=12' } - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true + typescript: optional: true - - /@esbuild/linux-mips64el@0.19.12: - resolution: - { - integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==, - } - engines: { node: '>=12' } - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true + dependencies: + '@vue/devtools-api': 6.6.1 + vue: 3.4.19 + vue-demi: 0.14.7(vue@3.4.19) + + /pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + dev: true + + /pkg-types@1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + dependencies: + jsonc-parser: 3.2.1 + mlly: 1.5.0 + pathe: 1.1.2 + dev: true + + /postcss-selector-parser@6.0.15: + resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + + /postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + dev: true + + /postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: true + + /pretty-bytes@5.6.0: + resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} + engines: {node: '>=6'} + dev: true + + /pretty-format@27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 + dev: true + + /pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + dev: true + + /process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + /process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + dev: true + + /progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + dev: false + + /proto-list@1.2.4: + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + + /proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + + /proxy-from-env@1.0.0: + resolution: {integrity: sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==} + dev: true + + /proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: false + + /pseudomap@1.0.2: + resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} + dev: false + + /psl@1.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + dev: true + + /pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + dev: true + + /pupa@3.1.0: + resolution: {integrity: sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==} + engines: {node: '>=12.20'} + dependencies: + escape-goat: 4.0.0 + dev: false + + /qs@6.10.4: + resolution: {integrity: sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==} + engines: {node: '>=0.6'} + dependencies: + side-channel: 1.0.5 + dev: true + + /qs@6.11.0: + resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} + engines: {node: '>=0.6'} + dependencies: + side-channel: 1.0.5 + + /quasar@2.14.5: + resolution: {integrity: sha512-N+iRYoby09P9l+R5nKfA0tCPXdXJJHCPifjP8CkL/JASX5yHEjuwh7KoNiWzYLZPbsYXVuQKqwtDy0qXuXTv2g==} + engines: {node: '>= 10.18.1', npm: '>= 6.13.4', yarn: '>= 1.21.1'} + + /querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + dev: true + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + dev: false + + /randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + /raw-body@2.5.1: + resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + + /rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + dev: false + + /react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + dev: true + + /react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + dev: true + + /readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + dev: true + + /readdir-glob@1.1.3: + resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} + dependencies: + minimatch: 5.1.6 + dev: true + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /recrawl-sync@2.2.3: + resolution: {integrity: sha512-vSaTR9t+cpxlskkdUFrsEpnf67kSmPk66yAGT1fZPrDudxQjoMzPgQhSMImQ0pAw5k0NPirefQfhopSjhdUtpQ==} + dependencies: + '@cush/relative': 1.0.0 + glob-regex: 0.3.2 + slash: 3.0.0 + sucrase: 3.35.0 + tslib: 1.14.1 + dev: true + + /register-service-worker@1.7.2: + resolution: {integrity: sha512-CiD3ZSanZqcMPRhtfct5K9f7i3OLCcBBWsJjLh1gW9RO/nS94sVzY59iS+fgYBOBqaBpf4EzfqUF3j9IG+xo8A==} + dev: true + + /registry-auth-token@5.0.2: + resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==} + engines: {node: '>=14'} + dependencies: + '@pnpm/npm-conf': 2.2.2 + dev: false + + /registry-url@6.0.1: + resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} + engines: {node: '>=12'} + dependencies: + rc: 1.2.8 + dev: false + + /relateurl@0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} + engines: {node: '>= 0.10'} + dev: true + + /request-progress@3.0.0: + resolution: {integrity: sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==} + dependencies: + throttleit: 1.0.1 + dev: true + + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true + + /require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: true + + /requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + + /resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + dev: false + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /responselike@2.0.1: + resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} + dependencies: + lowercase-keys: 2.0.0 + dev: false + + /responselike@3.0.0: + resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} + engines: {node: '>=14.16'} + dependencies: + lowercase-keys: 3.0.0 + dev: false + + /restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + dev: true + + /rimraf@2.7.1: + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: false + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /rollup-plugin-visualizer@5.12.0: + resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} + engines: {node: '>=14'} + hasBin: true + peerDependencies: + rollup: 2.x || 3.x || 4.x + peerDependenciesMeta: + rollup: optional: true - - /@esbuild/linux-ppc64@0.18.20: - resolution: - { - integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==, - } - engines: { node: '>=12' } - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true + dependencies: + open: 8.4.2 + picomatch: 2.3.1 + source-map: 0.7.4 + yargs: 17.7.2 + dev: true + + /rollup@2.77.3: + resolution: {integrity: sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g==} + engines: {node: '>=10.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /rollup@3.29.4: + resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /rollup@4.12.0: + resolution: {integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.12.0 + '@rollup/rollup-android-arm64': 4.12.0 + '@rollup/rollup-darwin-arm64': 4.12.0 + '@rollup/rollup-darwin-x64': 4.12.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.12.0 + '@rollup/rollup-linux-arm64-gnu': 4.12.0 + '@rollup/rollup-linux-arm64-musl': 4.12.0 + '@rollup/rollup-linux-riscv64-gnu': 4.12.0 + '@rollup/rollup-linux-x64-gnu': 4.12.0 + '@rollup/rollup-linux-x64-musl': 4.12.0 + '@rollup/rollup-win32-arm64-msvc': 4.12.0 + '@rollup/rollup-win32-ia32-msvc': 4.12.0 + '@rollup/rollup-win32-x64-msvc': 4.12.0 + fsevents: 2.3.3 + dev: true + + /route-cache@0.5.0: + resolution: {integrity: sha512-7FzV+1O4q7XeerbyG8aEeDH+1bk/Vxp2sDJdEZE0KcbTP0C6IucKSQUCTwB3F0IkhpF4rYluLLENEfUQ6LH/ng==} + dependencies: + debug: 3.1.0 + lru-cache: 4.0.1 + transitivePeerDependencies: + - supports-color + dev: false + + /run-applescript@5.0.0: + resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} + engines: {node: '>=12'} + dependencies: + execa: 5.1.1 + dev: false + + /run-async@2.4.1: + resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} + engines: {node: '>=0.12.0'} + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + dependencies: + tslib: 2.6.2 + dev: true + + /safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + /sass@1.71.1: + resolution: {integrity: sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + chokidar: 3.6.0 + immutable: 4.3.5 + source-map-js: 1.0.2 + dev: true + + /sax@1.1.4: + resolution: {integrity: sha512-5f3k2PbGGp+YtKJjOItpg3P99IMD84E4HOvcfleTb5joCHNXYLsR9yWFPOYGgaeMPDubQILTCMdsFb2OMeOjtg==} + dev: true + + /selfsigned@2.4.1: + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} + engines: {node: '>=10'} + dependencies: + '@types/node-forge': 1.3.11 + node-forge: 1.3.1 + dev: false + + /semver-diff@4.0.0: + resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} + engines: {node: '>=12'} + dependencies: + semver: 7.6.0 + dev: false + + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + dev: true + + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + + /send@0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + + /serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + dependencies: + randombytes: 2.1.0 + dev: true + + /serve-static@1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} + dependencies: + encodeurl: 1.0.2 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.18.0 + transitivePeerDependencies: + - supports-color + + /set-function-length@1.2.1: + resolution: {integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + + /setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + /shallow-clone@3.0.1: + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} + dependencies: + kind-of: 6.0.3 + dev: true + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + /side-channel@1.0.5: + resolution: {integrity: sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.1 + + /siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + dev: true + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + + /sirv@2.0.4: + resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} + engines: {node: '>= 10'} + dependencies: + '@polka/url': 1.0.0-next.25 + mrmime: 2.0.0 + totalist: 3.0.1 + dev: true + + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /slice-ansi@3.0.0: + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: true + + /slice-ansi@4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: true + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + dev: true + + /sshpk@1.18.0: + resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} + engines: {node: '>=0.10.0'} + hasBin: true + dependencies: + asn1: 0.2.6 + assert-plus: 1.0.0 + bcrypt-pbkdf: 1.0.2 + dashdash: 1.14.1 + ecc-jsbn: 0.1.2 + getpass: 0.1.7 + jsbn: 0.1.1 + safer-buffer: 2.1.2 + tweetnacl: 0.14.5 + dev: true + + /stack-trace@1.0.0-pre2: + resolution: {integrity: sha512-2ztBJRek8IVofG9DBJqdy2N5kulaacX30Nz7xmkYF6ale9WBVmIy6mFBchvGX7Vx/MyjBhx+Rcxqrj+dbOnQ6A==} + engines: {node: '>=16'} + dev: true + + /stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + dev: true + + /statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + + /std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + dev: true + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + /string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + /string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + dependencies: + safe-buffer: 5.1.2 + + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + + /strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 + + /strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + dev: true + + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: false + + /strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + dev: false + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /strip-literal@1.3.0: + resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} + dependencies: + acorn: 8.11.3 + dev: true + + /sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + commander: 4.1.1 + glob: 10.3.10 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + dev: true + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + dependencies: + has-flag: 4.0.0 + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /table@6.8.1: + resolution: {integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==} + engines: {node: '>=10.0.0'} + dependencies: + ajv: 8.12.0 + lodash.truncate: 4.4.2 + slice-ansi: 4.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: true + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + dependencies: + thenify: 3.3.1 + dev: true + + /thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + dependencies: + any-promise: 1.3.0 + dev: true + + /throttleit@1.0.1: + resolution: {integrity: sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==} + dev: true + + /through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + dev: true + + /time-zone@1.0.0: + resolution: {integrity: sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==} + engines: {node: '>=4'} + dev: true + + /tinybench@2.6.0: + resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} + dev: true + + /tinypool@0.5.0: + resolution: {integrity: sha512-paHQtnrlS1QZYKF/GnLoOM/DN9fqaGOFbCbxzAhwniySnzl9Ebk8w73/dd34DAhe/obUbPAOldTyYXQZxnPBPQ==} + engines: {node: '>=14.0.0'} + dev: true + + /tinyspy@2.2.1: + resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} + engines: {node: '>=14.0.0'} + dev: true + + /titleize@3.0.0: + resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} + engines: {node: '>=12'} + dev: false + + /tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + dependencies: + os-tmpdir: 1.0.2 + + /tmp@0.2.1: + resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} + engines: {node: '>=8.17.0'} + dependencies: + rimraf: 3.0.2 + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + + /toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + /totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + dev: true + + /tough-cookie@4.1.3: + resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==} + engines: {node: '>=6'} + dependencies: + psl: 1.9.0 + punycode: 2.3.1 + universalify: 0.2.0 + url-parse: 1.5.10 + dev: true + + /ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + dev: true + + /tsconfck@3.0.2: + resolution: {integrity: sha512-6lWtFjwuhS3XI4HsX4Zg0izOI3FU/AI9EGVlPEUMDIhvLPMD4wkiof0WCoDgW7qY+Dy198g4d9miAqUHWHFH6Q==} + engines: {node: ^18 || >=20} + hasBin: true + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: optional: true - - /@esbuild/linux-ppc64@0.19.12: - resolution: - { - integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==, - } - engines: { node: '>=12' } - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true + dev: true + + /tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + dev: true + + /tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + dev: true + + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + dev: true + + /tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /tunnel@0.0.6: + resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} + engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} + dev: false + + /tweetnacl@0.14.5: + resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} + dev: true + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true + + /type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + dev: true + + /type-fest@1.4.0: + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} + dev: false + + /type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + dev: false + + /type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + + /typedarray-to-buffer@3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + dependencies: + is-typedarray: 1.0.0 + dev: false + + /typedarray@0.0.6: + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + dev: false + + /ufo@1.4.0: + resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} + dev: true + + /uglify-js@3.17.4: + resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} + engines: {node: '>=0.8.0'} + hasBin: true + dev: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + /unique-string@3.0.0: + resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} + engines: {node: '>=12'} + dependencies: + crypto-random-string: 4.0.0 + dev: false + + /universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + dev: true + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + /unplugin@1.7.1: + resolution: {integrity: sha512-JqzORDAPxxs8ErLV4x+LL7bk5pk3YlcWqpSNsIkAZj972KzFZLClc/ekppahKkOczGkwIG6ElFgdOgOlK4tXZw==} + dependencies: + acorn: 8.11.3 + chokidar: 3.6.0 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.6.1 + dev: true + + /untildify@4.0.0: + resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} + engines: {node: '>=8'} + + /update-browserslist-db@1.0.13(browserslist@4.23.0): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.23.0 + escalade: 3.1.2 + picocolors: 1.0.0 + dev: true + + /update-notifier@6.0.2: + resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==} + engines: {node: '>=14.16'} + dependencies: + boxen: 7.1.1 + chalk: 5.3.0 + configstore: 6.0.0 + has-yarn: 3.0.0 + import-lazy: 4.0.0 + is-ci: 3.0.1 + is-installed-globally: 0.4.0 + is-npm: 6.0.0 + is-yarn-global: 0.4.1 + latest-version: 7.0.0 + pupa: 3.1.0 + semver: 7.6.0 + semver-diff: 4.0.0 + xdg-basedir: 5.1.0 + dev: false + + /upper-case@1.1.3: + resolution: {integrity: sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==} + dev: true + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.1 + dev: true + + /url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + dev: true + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + /utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + + /uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + dev: true + + /validator@13.11.0: + resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} + engines: {node: '>= 0.10'} + dev: false + + /vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + /verror@1.10.0: + resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} + engines: {'0': node >=0.6.0} + dependencies: + assert-plus: 1.0.0 + core-util-is: 1.0.2 + extsprintf: 1.3.0 + dev: true + + /vite-jsconfig-paths@2.0.1(vite@5.1.4): + resolution: {integrity: sha512-rabcTTfKs0MdAsQWcZjbIMo5fcp6jthZce7uFEPgVPgpSY+RNOwjzIJOPES6cB/GJZLSoLGfHM9kt5HNmJvp7A==} + peerDependencies: + vite: '>2.0.0-0' + dependencies: + debug: 4.3.4(supports-color@8.1.1) + globrex: 0.1.2 + recrawl-sync: 2.2.3 + tsconfig-paths: 3.15.0 + vite: 5.1.4 + transitivePeerDependencies: + - supports-color + dev: true + + /vite-node@0.31.4(@types/node@20.11.19): + resolution: {integrity: sha512-uzL377GjJtTbuc5KQxVbDu2xfU/x0wVjUtXQR2ihS21q/NK6ROr4oG0rsSkBBddZUVCwzfx22in76/0ZZHXgkQ==} + engines: {node: '>=v14.18.0'} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4(supports-color@8.1.1) + mlly: 1.5.0 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 4.5.2(@types/node@20.11.19) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite-tsconfig-paths@4.3.1(vite@5.1.4): + resolution: {integrity: sha512-cfgJwcGOsIxXOLU/nELPny2/LUD/lcf1IbfyeKTv2bsupVbTH/xpFtdQlBmIP1GEK2CjjLxYhFfB+QODFAx5aw==} + peerDependencies: + vite: '*' + peerDependenciesMeta: + vite: optional: true - - /@esbuild/linux-riscv64@0.18.20: - resolution: - { - integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==, - } - engines: { node: '>=12' } - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true + dependencies: + debug: 4.3.4(supports-color@8.1.1) + globrex: 0.1.2 + tsconfck: 3.0.2 + vite: 5.1.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /vite@2.9.17(sass@1.71.1): + resolution: {integrity: sha512-XxcRzra6d7xrKXH66jZUgb+srThoPu+TLJc06GifUyKq9JmjHkc1Numc8ra0h56rju2jfVWw3B3fs5l3OFMvUw==} + engines: {node: '>=12.2.0'} + hasBin: true + peerDependencies: + less: '*' + sass: '*' + stylus: '*' + peerDependenciesMeta: + less: optional: true - - /@esbuild/linux-riscv64@0.19.12: - resolution: - { - integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==, - } - engines: { node: '>=12' } - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true + sass: optional: true - - /@esbuild/linux-s390x@0.18.20: - resolution: - { - integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==, - } - engines: { node: '>=12' } - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true + stylus: optional: true - - /@esbuild/linux-s390x@0.19.12: - resolution: - { - integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==, - } - engines: { node: '>=12' } - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true + dependencies: + esbuild: 0.14.51 + postcss: 8.4.35 + resolve: 1.22.8 + rollup: 2.77.3 + sass: 1.71.1 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vite@4.5.2(@types/node@20.11.19): + resolution: {integrity: sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': optional: true - - /@esbuild/linux-x64@0.18.20: - resolution: - { - integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + less: optional: true - - /@esbuild/linux-x64@0.19.12: - resolution: - { - integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + lightningcss: optional: true - - /@esbuild/netbsd-x64@0.18.20: - resolution: - { - integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true + sass: optional: true - - /@esbuild/netbsd-x64@0.19.12: - resolution: - { - integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true + stylus: optional: true - - /@esbuild/openbsd-x64@0.18.20: - resolution: - { - integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true + sugarss: optional: true - - /@esbuild/openbsd-x64@0.19.12: - resolution: - { - integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true + terser: optional: true - - /@esbuild/sunos-x64@0.18.20: - resolution: - { - integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true + dependencies: + '@types/node': 20.11.19 + esbuild: 0.18.20 + postcss: 8.4.35 + rollup: 3.29.4 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vite@5.1.4: + resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': optional: true - - /@esbuild/sunos-x64@0.19.12: - resolution: - { - integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true + less: optional: true - - /@esbuild/win32-arm64@0.18.20: - resolution: - { - integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==, - } - engines: { node: '>=12' } - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + lightningcss: optional: true - - /@esbuild/win32-arm64@0.19.12: - resolution: - { - integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==, - } - engines: { node: '>=12' } - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + sass: optional: true - - /@esbuild/win32-ia32@0.18.20: - resolution: - { - integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==, - } - engines: { node: '>=12' } - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true + stylus: optional: true - - /@esbuild/win32-ia32@0.19.12: - resolution: - { - integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==, - } - engines: { node: '>=12' } - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true + sugarss: optional: true - - /@esbuild/win32-x64@0.18.20: - resolution: - { - integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + terser: optional: true - - /@esbuild/win32-x64@0.19.12: - resolution: - { - integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + dependencies: + esbuild: 0.19.12 + postcss: 8.4.35 + rollup: 4.12.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitest@0.31.4(@vitest/ui@1.6.0): + resolution: {integrity: sha512-GoV0VQPmWrUFOZSg3RpQAPN+LPmHg2/gxlMNJlyxJihkz6qReHDV6b0pPDcqFLNEPya4tWJ1pgwUNP9MLmUfvQ==} + engines: {node: '>=v14.18.0'} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@vitest/browser': '*' + '@vitest/ui': '*' + happy-dom: '*' + jsdom: '*' + playwright: '*' + safaridriver: '*' + webdriverio: '*' + peerDependenciesMeta: + '@edge-runtime/vm': optional: true - - /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): - resolution: - { - integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.56.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@eslint-community/regexpp@4.10.0: - resolution: - { - integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==, - } - engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } - dev: true - - /@eslint/eslintrc@2.1.4: - resolution: - { - integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - ajv: 6.12.6 - debug: 4.3.4(supports-color@8.1.1) - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@eslint/js@8.56.0: - resolution: - { - integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dev: true - - /@humanwhocodes/config-array@0.11.14: - resolution: - { - integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==, - } - engines: { node: '>=10.10.0' } - dependencies: - '@humanwhocodes/object-schema': 2.0.2 - debug: 4.3.4(supports-color@8.1.1) - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@humanwhocodes/module-importer@1.0.1: - resolution: - { - integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, - } - engines: { node: '>=12.22' } - dev: true - - /@humanwhocodes/object-schema@2.0.2: - resolution: - { - integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==, - } - dev: true - - /@intlify/bundle-utils@4.0.0(vue-i18n@9.9.1): - resolution: - { - integrity: sha512-klXrYT9VXyKEXsD6UY3pShg0O5MPC07n0TZ5RrSs5ry6T1eZVolIFGJi9c3qcDrh1qjJxgikRnPBmD7qGDqbjw==, - } - engines: { node: '>= 12' } - peerDependencies: - petite-vue-i18n: '*' - vue-i18n: '*' - peerDependenciesMeta: - petite-vue-i18n: - optional: true - vue-i18n: - optional: true - dependencies: - '@intlify/message-compiler': 9.4.1 - '@intlify/shared': 9.4.1 - jsonc-eslint-parser: 1.4.1 - source-map: 0.6.1 - vue-i18n: 9.9.1(vue@3.4.19) - yaml-eslint-parser: 0.3.2 - dev: true - - /@intlify/core-base@9.9.1: - resolution: - { - integrity: sha512-qsV15dg7jNX2faBRyKMgZS8UcFJViWEUPLdzZ9UR0kQZpFVeIpc0AG7ZOfeP7pX2T9SQ5jSiorq/tii9nkkafA==, - } - engines: { node: '>= 16' } - dependencies: - '@intlify/message-compiler': 9.9.1 - '@intlify/shared': 9.9.1 - - /@intlify/message-compiler@9.4.1: - resolution: - { - integrity: sha512-aN2N+dUx320108QhH51Ycd2LEpZ+NKbzyQ2kjjhqMcxhHdxtOnkgdx+MDBhOy/CObwBmhC3Nygzc6hNlfKvPNw==, - } - engines: { node: '>= 16' } - dependencies: - '@intlify/shared': 9.4.1 - source-map-js: 1.0.2 - dev: true - - /@intlify/message-compiler@9.9.1: - resolution: - { - integrity: sha512-zTvP6X6HeumHOXuAE1CMMsV6tTX+opKMOxO1OHTCg5N5Sm/F7d8o2jdT6W6L5oHUsJ/vvkGefHIs7Q3hfowmsA==, - } - engines: { node: '>= 16' } - dependencies: - '@intlify/shared': 9.9.1 - source-map-js: 1.0.2 - - /@intlify/shared@9.4.1: - resolution: - { - integrity: sha512-A51elBmZWf1FS80inf/32diO9DeXoqg9GR9aUDHFcfHoNDuT46Q+fpPOdj8jiJnSHSBh8E1E+6qWRhAZXdK3Ng==, - } - engines: { node: '>= 16' } - dev: true - - /@intlify/shared@9.9.1: - resolution: - { - integrity: sha512-b3Pta1nwkz5rGq434v0psHwEwHGy1pYCttfcM22IE//K9owbpkEvFptx9VcuRAxjQdrO2If249cmDDjBu5wMDA==, - } - engines: { node: '>= 16' } - - /@intlify/unplugin-vue-i18n@0.8.2(vue-i18n@9.9.1): - resolution: - { - integrity: sha512-cRnzPqSEZQOmTD+p4pwc3RTS9HxreLqfID0keoqZDZweCy/CGRMLLTNd15S4TUf1vSBhPF03DItEFDr1F+8MDA==, - } - engines: { node: '>= 14.16' } - peerDependencies: - petite-vue-i18n: '*' - vue-i18n: '*' - vue-i18n-bridge: '*' - peerDependenciesMeta: - petite-vue-i18n: - optional: true - vue-i18n: - optional: true - vue-i18n-bridge: - optional: true - dependencies: - '@intlify/bundle-utils': 4.0.0(vue-i18n@9.9.1) - '@intlify/shared': 9.4.1 - '@rollup/pluginutils': 4.2.1 - '@vue/compiler-sfc': 3.4.19 - debug: 4.3.4(supports-color@8.1.1) - fast-glob: 3.3.2 - js-yaml: 4.1.0 - json5: 2.2.3 - pathe: 1.1.2 - picocolors: 1.0.0 - source-map: 0.6.1 - unplugin: 1.7.1 - vue-i18n: 9.9.1(vue@3.4.19) - transitivePeerDependencies: - - supports-color - dev: true - - /@isaacs/cliui@8.0.2: - resolution: - { - integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==, - } - engines: { node: '>=12' } - dependencies: - string-width: 5.1.2 - string-width-cjs: /string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: /strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: /wrap-ansi@7.0.0 - dev: true - - /@jridgewell/gen-mapping@0.3.3: - resolution: - { - integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==, - } - engines: { node: '>=6.0.0' } - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.22 - dev: true - - /@jridgewell/resolve-uri@3.1.2: - resolution: - { - integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, - } - engines: { node: '>=6.0.0' } - dev: true - - /@jridgewell/set-array@1.1.2: - resolution: - { - integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==, - } - engines: { node: '>=6.0.0' } - dev: true - - /@jridgewell/sourcemap-codec@1.4.15: - resolution: - { - integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, - } - - /@jridgewell/trace-mapping@0.3.22: - resolution: - { - integrity: sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==, - } - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - - /@nodelib/fs.scandir@2.1.5: - resolution: - { - integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, - } - engines: { node: '>= 8' } - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - dev: true - - /@nodelib/fs.stat@2.0.5: - resolution: - { - integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, - } - engines: { node: '>= 8' } - dev: true - - /@nodelib/fs.walk@1.2.8: - resolution: - { - integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, - } - engines: { node: '>= 8' } - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.17.1 - dev: true - - /@one-ini/wasm@0.1.1: - resolution: - { - integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==, - } - dev: true - - /@pinia/testing@0.1.3(pinia@2.1.7)(vue@3.4.19): - resolution: - { - integrity: sha512-D2Ds2s69kKFaRf2KCcP1NhNZEg5+we59aRyQalwRm7ygWfLM25nDH66267U3hNvRUOTx8ofL24GzodZkOmB5xw==, - } - peerDependencies: - pinia: '>=2.1.5' - dependencies: - pinia: 2.1.7(vue@3.4.19) - vue-demi: 0.14.7(vue@3.4.19) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - dev: true - - /@pkgjs/parseargs@0.11.0: - resolution: - { - integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==, - } - engines: { node: '>=14' } - requiresBuild: true - dev: true + '@vitest/browser': optional: true - - /@pnpm/config.env-replace@1.1.0: - resolution: - { - integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==, - } - engines: { node: '>=12.22.0' } - dev: false - - /@pnpm/network.ca-file@1.0.2: - resolution: - { - integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==, - } - engines: { node: '>=12.22.0' } - dependencies: - graceful-fs: 4.2.10 - dev: false - - /@pnpm/npm-conf@2.2.2: - resolution: - { - integrity: sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==, - } - engines: { node: '>=12' } - dependencies: - '@pnpm/config.env-replace': 1.1.0 - '@pnpm/network.ca-file': 1.0.2 - config-chain: 1.1.13 - dev: false - - /@quasar/app-vite@1.7.3(eslint@8.56.0)(pinia@2.1.7)(quasar@2.14.5)(vue-router@4.2.5)(vue@3.4.19): - resolution: - { - integrity: sha512-pnDInCFP9M1d7lJzS8UkiFq8bGWdekLz8Gu+NLI9UAxruIM9QVlSD4hUmWptTQXaVEvYlDnqfW3LOr57B8eVtw==, - } - engines: - { - node: ^24 || ^22 || ^20 || ^18 || ^16 || ^14.19, - npm: '>= 6.14.12', - yarn: '>= 1.17.3', - } - hasBin: true - peerDependencies: - electron-builder: '>= 22' - electron-packager: '>= 15' - eslint: ^8.11.0 - pinia: ^2.0.0 - quasar: ^2.14.0 - vue: ^3.2.29 - vue-router: ^4.0.12 - vuex: ^4.0.0 - workbox-build: '>= 6' - peerDependenciesMeta: - electron-builder: - optional: true - electron-packager: - optional: true - eslint: - optional: true - pinia: - optional: true - vuex: - optional: true - workbox-build: - optional: true - dependencies: - '@quasar/render-ssr-error': 1.0.3 - '@quasar/vite-plugin': 1.6.0(@vitejs/plugin-vue@2.3.4)(quasar@2.14.5)(vite@2.9.17)(vue@3.4.19) - '@rollup/pluginutils': 4.2.1 - '@types/chrome': 0.0.208 - '@types/compression': 1.7.5 - '@types/cordova': 0.0.34 - '@types/express': 4.17.21 - '@vitejs/plugin-vue': 2.3.4(vite@5.1.4)(vue@3.4.19) - archiver: 5.3.2 - chokidar: 3.6.0 - ci-info: 3.9.0 - compression: 1.7.4 - cross-spawn: 7.0.3 - dot-prop: 6.0.1 - elementtree: 0.1.7 - esbuild: 0.14.51 - eslint: 8.56.0 - express: 4.18.2 - fast-glob: 3.2.12 - fs-extra: 11.2.0 - html-minifier: 4.0.0 - inquirer: 8.2.6 - isbinaryfile: 5.0.2 - kolorist: 1.8.0 - lodash: 4.17.21 - minimist: 1.2.8 - open: 8.4.2 - pinia: 2.1.7(vue@3.4.19) - quasar: 2.14.5 - register-service-worker: 1.7.2 - rollup-plugin-visualizer: 5.12.0 - sass: 1.71.1 - semver: 7.6.0 - serialize-javascript: 6.0.2 - table: 6.8.1 - vite: 2.9.17(sass@1.71.1) - vue: 3.4.19 - vue-router: 4.2.5(vue@3.4.19) - webpack-merge: 5.10.0 - transitivePeerDependencies: - - less - - rollup - - stylus - - supports-color - dev: true - - /@quasar/cli@2.3.0: - resolution: - { - integrity: sha512-DNFDemicj3jXe5+Ib+5w9Bwj1U3yoHQkqn0bU/qysIl/p0MmGA1yqOfUF0V4fw/5or1dfCvStIA/oZxUcC+2pQ==, - } - engines: { node: '>= 16', npm: '>= 5.6.0', yarn: '>= 1.6.0' } - hasBin: true - dependencies: - '@quasar/ssl-certificate': 1.0.0 - ci-info: 3.9.0 - compression: 1.7.4 - connect-history-api-fallback: 2.0.0 - cors: 2.8.5 - cross-spawn: 7.0.3 - express: 4.18.2 - fs-extra: 11.2.0 - http-proxy-middleware: 2.0.6 - kolorist: 1.8.0 - minimist: 1.2.8 - open: 9.1.0 - route-cache: 0.5.0 - selfsigned: 2.4.1 - update-notifier: 6.0.2 - transitivePeerDependencies: - - '@types/express' - - debug - - supports-color - dev: false - - /@quasar/extras@1.16.9: - resolution: - { - integrity: sha512-SlOhwzXyPQHWgQIS2ncyDdYdksCJvUYNtgsDQqzAKEG3r3d/ejOxvThle79HTK3Q6HB+gQWFG21Ux00Osr5XSw==, - } - dev: false - - /@quasar/quasar-app-extension-qcalendar@4.0.0-beta.15: - resolution: - { - integrity: sha512-i6hQkcP70LXLfVMPZMKQjSg3681gjZmASV3vq6ULzc0LhtBiPneLdVNNtH2itkWxAmaUj+1heQDI5Pa0F7VKLQ==, - } - engines: { node: '>= 10.0.0', npm: '>= 5.6.0', yarn: '>= 1.6.0' } - dependencies: - '@quasar/quasar-ui-qcalendar': 4.0.0-beta.19 - dev: true - - /@quasar/quasar-app-extension-testing-unit-vitest@0.4.0(@vue/test-utils@2.4.4)(quasar@2.14.5)(vite@5.1.4)(vitest@0.31.4)(vue@3.4.19): - resolution: - { - integrity: sha512-eyzdUdmZiCueNS+5nedjMmzdbpCetSrtdGIwW6KplW1dTzRbLiNvYUjpBOxQGmJCgEhWy9zuswJ7MZ/bTql24Q==, - } - engines: { node: '>= 12.22.1', npm: '>= 6.14.12', yarn: '>= 1.17.3' } - peerDependencies: - '@vitest/ui': ^0.34.0 - '@vue/test-utils': ^2.4.1 - quasar: ^2.12.7 - vitest: ^0.34.0 - vue: ^3.3.4 - peerDependenciesMeta: - '@vitest/ui': - optional: true - dependencies: - '@vue/test-utils': 2.4.4(vue@3.4.19) - happy-dom: 11.2.0 - lodash-es: 4.17.21 - quasar: 2.14.5 - vite-jsconfig-paths: 2.0.1(vite@5.1.4) - vite-tsconfig-paths: 4.3.1(vite@5.1.4) - vitest: 0.31.4 - vue: 3.4.19 - transitivePeerDependencies: - - supports-color - - typescript - - vite - dev: true - - /@quasar/quasar-ui-qcalendar@4.0.0-beta.19: - resolution: - { - integrity: sha512-BT0G2JjgKl1bqNrY5utcYeoy8gK+U9k3Pz1YDi1OB265W/jHU6nFoWMEUdY3JdvMccwkXTL2DLVyl3eqAUyLyg==, - } - dev: true - - /@quasar/render-ssr-error@1.0.3: - resolution: - { - integrity: sha512-A8RF99q6/sOSe1Ighnh5syEIbliD3qUYEJd2HyfFyBPSMF+WYGXon5dmzg4nUoK662NgOggInevkDyBDJcZugg==, - } - engines: { node: '>= 16' } - dependencies: - stack-trace: 1.0.0-pre2 - dev: true - - /@quasar/ssl-certificate@1.0.0: - resolution: - { - integrity: sha512-RhZF7rO76T7Ywer1/5lCe7xl3CIiXxSAH1xgwOj0wcHTityDxJqIN/5YIj6BxMvlFw8XkJDoB1udEQafoVFA4g==, - } - engines: { node: '>= 16' } - dependencies: - fs-extra: 11.2.0 - selfsigned: 2.4.1 - dev: false - - /@quasar/vite-plugin@1.6.0(@vitejs/plugin-vue@2.3.4)(quasar@2.14.5)(vite@2.9.17)(vue@3.4.19): - resolution: - { - integrity: sha512-LmbV76G1CwWZbrEQhqyZpkRQTJyO3xpW55aXY1zWN+JhyUeG77CcMCEWteBVnJ6I6ehUPFDC9ONd2+WlwH6rNQ==, - } - engines: { node: '>=12' } - peerDependencies: - '@vitejs/plugin-vue': ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-beta.0 - quasar: ^2.8.0 - vite: ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-beta.0 - vue: ^3.0.0 - dependencies: - '@vitejs/plugin-vue': 2.3.4(vite@5.1.4)(vue@3.4.19) - quasar: 2.14.5 - vite: 2.9.17(sass@1.71.1) - vue: 3.4.19 - dev: true - - /@rollup/pluginutils@4.2.1: - resolution: - { - integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==, - } - engines: { node: '>= 8.0.0' } - dependencies: - estree-walker: 2.0.2 - picomatch: 2.3.1 - dev: true - - /@rollup/rollup-android-arm-eabi@4.12.0: - resolution: - { - integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==, - } - cpu: [arm] - os: [android] - requiresBuild: true - dev: true + '@vitest/ui': optional: true - - /@rollup/rollup-android-arm64@4.12.0: - resolution: - { - integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==, - } - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true + happy-dom: optional: true - - /@rollup/rollup-darwin-arm64@4.12.0: - resolution: - { - integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==, - } - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true + jsdom: optional: true - - /@rollup/rollup-darwin-x64@4.12.0: - resolution: - { - integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==, - } - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true + playwright: optional: true - - /@rollup/rollup-linux-arm-gnueabihf@4.12.0: - resolution: - { - integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==, - } - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true + safaridriver: optional: true - - /@rollup/rollup-linux-arm64-gnu@4.12.0: - resolution: - { - integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==, - } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + webdriverio: optional: true - - /@rollup/rollup-linux-arm64-musl@4.12.0: - resolution: - { - integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==, - } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + dependencies: + '@types/chai': 4.3.12 + '@types/chai-subset': 1.3.5 + '@types/node': 20.11.19 + '@vitest/expect': 0.31.4 + '@vitest/runner': 0.31.4 + '@vitest/snapshot': 0.31.4 + '@vitest/spy': 0.31.4 + '@vitest/ui': 1.6.0(vitest@0.31.4) + '@vitest/utils': 0.31.4 + acorn: 8.11.3 + acorn-walk: 8.3.2 + cac: 6.7.14 + chai: 4.4.1 + concordance: 5.0.4 + debug: 4.3.4(supports-color@8.1.1) + local-pkg: 0.4.3 + magic-string: 0.30.7 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 1.3.0 + tinybench: 2.6.0 + tinypool: 0.5.0 + vite: 4.5.2(@types/node@20.11.19) + vite-node: 0.31.4(@types/node@20.11.19) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vue-component-type-helpers@1.8.27: + resolution: {integrity: sha512-0vOfAtI67UjeO1G6UiX5Kd76CqaQ67wrRZiOe7UAb9Jm6GzlUr/fC7CV90XfwapJRjpCMaZFhv1V0ajWRmE9Dg==} + dev: true + + /vue-demi@0.14.7(vue@3.4.19): + resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': optional: true - - /@rollup/rollup-linux-riscv64-gnu@4.12.0: - resolution: - { - integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==, - } - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true + dependencies: + vue: 3.4.19 + + /vue-eslint-parser@9.4.2(eslint@8.56.0): + resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.56.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + lodash: 4.17.21 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + dev: true + + /vue-i18n@9.9.1(vue@3.4.19): + resolution: {integrity: sha512-xyQ4VspLdNSPTKBFBPWa1tvtj+9HuockZwgFeD2OhxxXuC2CWeNvV4seu2o9+vbQOyQbhAM5Ez56oxUrrnTWdw==} + engines: {node: '>= 16'} + peerDependencies: + vue: ^3.0.0 + dependencies: + '@intlify/core-base': 9.9.1 + '@intlify/shared': 9.9.1 + '@vue/devtools-api': 6.6.1 + vue: 3.4.19 + + /vue-router@4.2.5(vue@3.4.19): + resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==} + peerDependencies: + vue: ^3.2.0 + dependencies: + '@vue/devtools-api': 6.6.1 + vue: 3.4.19 + + /vue@3.4.19: + resolution: {integrity: sha512-W/7Fc9KUkajFU8dBeDluM4sRGc/aa4YJnOYck8dkjgZoXtVsn3OeTGni66FV1l3+nvPA7VBFYtPioaGKUmEADw==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: optional: true - - /@rollup/rollup-linux-x64-gnu@4.12.0: - resolution: - { - integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==, - } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-musl@4.12.0: - resolution: - { - integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==, - } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-arm64-msvc@4.12.0: - resolution: - { - integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==, - } - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-ia32-msvc@4.12.0: - resolution: - { - integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==, - } - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-x64-msvc@4.12.0: - resolution: - { - integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==, - } - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@sindresorhus/is@4.6.0: - resolution: - { - integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==, - } - engines: { node: '>=10' } - dev: false - - /@sindresorhus/is@5.6.0: - resolution: - { - integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==, - } - engines: { node: '>=14.16' } - dev: false - - /@szmarczak/http-timer@4.0.6: - resolution: - { - integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==, - } - engines: { node: '>=10' } - dependencies: - defer-to-connect: 2.0.1 - dev: false - - /@szmarczak/http-timer@5.0.1: - resolution: - { - integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==, - } - engines: { node: '>=14.16' } - dependencies: - defer-to-connect: 2.0.1 - dev: false - - /@types/body-parser@1.19.5: - resolution: - { - integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==, - } - dependencies: - '@types/connect': 3.4.38 - '@types/node': 20.11.19 - dev: true - - /@types/cacheable-request@6.0.3: - resolution: - { - integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==, - } - dependencies: - '@types/http-cache-semantics': 4.0.4 - '@types/keyv': 3.1.4 - '@types/node': 20.11.19 - '@types/responselike': 1.0.3 - dev: false - - /@types/chai-subset@1.3.5: - resolution: - { - integrity: sha512-c2mPnw+xHtXDoHmdtcCXGwyLMiauiAyxWMzhGpqHC4nqI/Y5G2XhTampslK2rb59kpcuHon03UH8W6iYUzw88A==, - } - dependencies: - '@types/chai': 4.3.12 - dev: true - - /@types/chai@4.3.12: - resolution: - { - integrity: sha512-zNKDHG/1yxm8Il6uCCVsm+dRdEsJlFoDu73X17y09bId6UwoYww+vFBsAcRzl8knM1sab3Dp1VRikFQwDOtDDw==, - } - dev: true - - /@types/chrome@0.0.208: - resolution: - { - integrity: sha512-VDU/JnXkF5qaI7WBz14Azpa2VseZTgML0ia/g/B1sr9OfdOnHiH/zZ7P7qCDqxSlkqJh76/bPc8jLFcx8rHJmw==, - } - dependencies: - '@types/filesystem': 0.0.35 - '@types/har-format': 1.2.15 - dev: true - - /@types/compression@1.7.5: - resolution: - { - integrity: sha512-AAQvK5pxMpaT+nDvhHrsBhLSYG5yQdtkaJE1WYieSNY2mVFKAgmU4ks65rkZD5oqnGCFLyQpUr1CqI4DmUMyDg==, - } - dependencies: - '@types/express': 4.17.21 - dev: true - - /@types/connect@3.4.38: - resolution: - { - integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==, - } - dependencies: - '@types/node': 20.11.19 - dev: true - - /@types/cordova@0.0.34: - resolution: - { - integrity: sha512-rkiiTuf/z2wTd4RxFOb+clE7PF4AEJU0hsczbUdkHHBtkUmpWQpEddynNfJYKYtZFJKbq4F+brfekt1kx85IZA==, - } - dev: true - - /@types/estree@1.0.5: - resolution: - { - integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==, - } - dev: true - - /@types/express-serve-static-core@4.17.43: - resolution: - { - integrity: sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==, - } - dependencies: - '@types/node': 20.11.19 - '@types/qs': 6.9.11 - '@types/range-parser': 1.2.7 - '@types/send': 0.17.4 - dev: true - - /@types/express@4.17.21: - resolution: - { - integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==, - } - dependencies: - '@types/body-parser': 1.19.5 - '@types/express-serve-static-core': 4.17.43 - '@types/qs': 6.9.11 - '@types/serve-static': 1.15.5 - dev: true - - /@types/filesystem@0.0.35: - resolution: - { - integrity: sha512-1eKvCaIBdrD2mmMgy5dwh564rVvfEhZTWVQQGRNn0Nt4ZEnJ0C8oSUCzvMKRA4lGde5oEVo+q2MrTTbV/GHDCQ==, - } - dependencies: - '@types/filewriter': 0.0.33 - dev: true - - /@types/filewriter@0.0.33: - resolution: - { - integrity: sha512-xFU8ZXTw4gd358lb2jw25nxY9QAgqn2+bKKjKOYfNCzN4DKCFetK7sPtrlpg66Ywe3vWY9FNxprZawAh9wfJ3g==, - } - dev: true - - /@types/har-format@1.2.15: - resolution: - { - integrity: sha512-RpQH4rXLuvTXKR0zqHq3go0RVXYv/YVqv4TnPH95VbwUxZdQlK1EtcMvQvMpDngHbt13Csh9Z4qT9AbkiQH5BA==, - } - dev: true - - /@types/http-cache-semantics@4.0.4: - resolution: - { - integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==, - } - dev: false - - /@types/http-errors@2.0.4: - resolution: - { - integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==, - } - dev: true - - /@types/http-proxy@1.17.14: - resolution: - { - integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==, - } - dependencies: - '@types/node': 20.11.19 - dev: false - - /@types/json5@0.0.29: - resolution: - { - integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==, - } - dev: true - - /@types/keyv@3.1.4: - resolution: - { - integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==, - } - dependencies: - '@types/node': 20.11.19 - dev: false - - /@types/mime@1.3.5: - resolution: - { - integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==, - } - dev: true - - /@types/mime@3.0.4: - resolution: - { - integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==, - } - dev: true - - /@types/node-forge@1.3.11: - resolution: - { - integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==, - } - dependencies: - '@types/node': 20.11.19 - dev: false - - /@types/node@20.11.19: - resolution: - { - integrity: sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==, - } - dependencies: - undici-types: 5.26.5 - - /@types/qs@6.9.11: - resolution: - { - integrity: sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==, - } - dev: true - - /@types/range-parser@1.2.7: - resolution: - { - integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==, - } - dev: true - - /@types/responselike@1.0.3: - resolution: - { - integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==, - } - dependencies: - '@types/node': 20.11.19 - dev: false - - /@types/send@0.17.4: - resolution: - { - integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==, - } - dependencies: - '@types/mime': 1.3.5 - '@types/node': 20.11.19 - dev: true - - /@types/serve-static@1.15.5: - resolution: - { - integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==, - } - dependencies: - '@types/http-errors': 2.0.4 - '@types/mime': 3.0.4 - '@types/node': 20.11.19 - dev: true - - /@types/sinonjs__fake-timers@8.1.1: - resolution: - { - integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==, - } - dev: true - - /@types/sizzle@2.3.8: - resolution: - { - integrity: sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==, - } - dev: true - - /@types/yauzl@2.10.3: - resolution: - { - integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==, - } - requiresBuild: true - dependencies: - '@types/node': 20.11.19 - dev: true - optional: true - - /@ungap/structured-clone@1.2.0: - resolution: - { - integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==, - } - dev: true - - /@vitejs/plugin-vue@2.3.4(vite@5.1.4)(vue@3.4.19): - resolution: - { - integrity: sha512-IfFNbtkbIm36O9KB8QodlwwYvTEsJb4Lll4c2IwB3VHc2gie2mSPtSzL0eYay7X2jd/2WX02FjSGTWR6OPr/zg==, - } - engines: { node: '>=12.0.0' } - peerDependencies: - vite: ^2.5.10 - vue: ^3.2.25 - dependencies: - vite: 5.1.4 - vue: 3.4.19 - dev: true - - /@vitest/expect@0.31.4: - resolution: - { - integrity: sha512-tibyx8o7GUyGHZGyPgzwiaPaLDQ9MMuCOrc03BYT0nryUuhLbL7NV2r/q98iv5STlwMgaKuFJkgBW/8iPKwlSg==, - } - dependencies: - '@vitest/spy': 0.31.4 - '@vitest/utils': 0.31.4 - chai: 4.4.1 - dev: true - - /@vitest/runner@0.31.4: - resolution: - { - integrity: sha512-Wgm6UER+gwq6zkyrm5/wbpXGF+g+UBB78asJlFkIOwyse0pz8lZoiC6SW5i4gPnls/zUcPLWS7Zog0LVepXnpg==, - } - dependencies: - '@vitest/utils': 0.31.4 - concordance: 5.0.4 - p-limit: 4.0.0 - pathe: 1.1.2 - dev: true - - /@vitest/snapshot@0.31.4: - resolution: - { - integrity: sha512-LemvNumL3NdWSmfVAMpXILGyaXPkZbG5tyl6+RQSdcHnTj6hvA49UAI8jzez9oQyE/FWLKRSNqTGzsHuk89LRA==, - } - dependencies: - magic-string: 0.30.7 - pathe: 1.1.2 - pretty-format: 27.5.1 - dev: true - - /@vitest/spy@0.31.4: - resolution: - { - integrity: sha512-3ei5ZH1s3aqbEyftPAzSuunGICRuhE+IXOmpURFdkm5ybUADk+viyQfejNk6q8M5QGX8/EVKw+QWMEP3DTJDag==, - } - dependencies: - tinyspy: 2.2.1 - dev: true - - /@vitest/utils@0.31.4: - resolution: - { - integrity: sha512-DobZbHacWznoGUfYU8XDPY78UubJxXfMNY1+SUdOp1NsI34eopSA6aZMeaGu10waSOeYwE8lxrd/pLfT0RMxjQ==, - } - dependencies: - concordance: 5.0.4 - loupe: 2.3.7 - pretty-format: 27.5.1 - dev: true - - /@vue/compiler-core@3.4.19: - resolution: - { - integrity: sha512-gj81785z0JNzRcU0Mq98E56e4ltO1yf8k5PQ+tV/7YHnbZkrM0fyFyuttnN8ngJZjbpofWE/m4qjKBiLl8Ju4w==, - } - dependencies: - '@babel/parser': 7.23.9 - '@vue/shared': 3.4.19 - entities: 4.5.0 - estree-walker: 2.0.2 - source-map-js: 1.0.2 - - /@vue/compiler-dom@3.4.19: - resolution: - { - integrity: sha512-vm6+cogWrshjqEHTzIDCp72DKtea8Ry/QVpQRYoyTIg9k7QZDX6D8+HGURjtmatfgM8xgCFtJJaOlCaRYRK3QA==, - } - dependencies: - '@vue/compiler-core': 3.4.19 - '@vue/shared': 3.4.19 - - /@vue/compiler-sfc@3.4.19: - resolution: - { - integrity: sha512-LQ3U4SN0DlvV0xhr1lUsgLCYlwQfUfetyPxkKYu7dkfvx7g3ojrGAkw0AERLOKYXuAGnqFsEuytkdcComei3Yg==, - } - dependencies: - '@babel/parser': 7.23.9 - '@vue/compiler-core': 3.4.19 - '@vue/compiler-dom': 3.4.19 - '@vue/compiler-ssr': 3.4.19 - '@vue/shared': 3.4.19 - estree-walker: 2.0.2 - magic-string: 0.30.7 - postcss: 8.4.35 - source-map-js: 1.0.2 - - /@vue/compiler-ssr@3.4.19: - resolution: - { - integrity: sha512-P0PLKC4+u4OMJ8sinba/5Z/iDT84uMRRlrWzadgLA69opCpI1gG4N55qDSC+dedwq2fJtzmGald05LWR5TFfLw==, - } - dependencies: - '@vue/compiler-dom': 3.4.19 - '@vue/shared': 3.4.19 - - /@vue/devtools-api@6.6.1: - resolution: - { - integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==, - } - - /@vue/reactivity@3.4.19: - resolution: - { - integrity: sha512-+VcwrQvLZgEclGZRHx4O2XhyEEcKaBi50WbxdVItEezUf4fqRh838Ix6amWTdX0CNb/b6t3Gkz3eOebfcSt+UA==, - } - dependencies: - '@vue/shared': 3.4.19 - - /@vue/runtime-core@3.4.19: - resolution: - { - integrity: sha512-/Z3tFwOrerJB/oyutmJGoYbuoadphDcJAd5jOuJE86THNZji9pYjZroQ2NFsZkTxOq0GJbb+s2kxTYToDiyZzw==, - } - dependencies: - '@vue/reactivity': 3.4.19 - '@vue/shared': 3.4.19 - - /@vue/runtime-dom@3.4.19: - resolution: - { - integrity: sha512-IyZzIDqfNCF0OyZOauL+F4yzjMPN2rPd8nhqPP2N1lBn3kYqJpPHHru+83Rkvo2lHz5mW+rEeIMEF9qY3PB94g==, - } - dependencies: - '@vue/runtime-core': 3.4.19 - '@vue/shared': 3.4.19 - csstype: 3.1.3 - - /@vue/server-renderer@3.4.19(vue@3.4.19): - resolution: - { - integrity: sha512-eAj2p0c429RZyyhtMRnttjcSToch+kTWxFPHlzGMkR28ZbF1PDlTcmGmlDxccBuqNd9iOQ7xPRPAGgPVj+YpQw==, - } - peerDependencies: - vue: 3.4.19 - dependencies: - '@vue/compiler-ssr': 3.4.19 - '@vue/shared': 3.4.19 - vue: 3.4.19 - - /@vue/shared@3.4.19: - resolution: - { - integrity: sha512-/KliRRHMF6LoiThEy+4c1Z4KB/gbPrGjWwJR+crg2otgrf/egKzRaCPvJ51S5oetgsgXLfc4Rm5ZgrKHZrtMSw==, - } - - /@vue/test-utils@2.4.4(vue@3.4.19): - resolution: - { - integrity: sha512-8jkRxz8pNhClAf4Co4ZrpAoFISdvT3nuSkUlY6Ys6rmTpw3DMWG/X3mw3gQ7QJzgCZO9f+zuE2kW57fi09MW7Q==, - } - peerDependencies: - '@vue/server-renderer': ^3.0.1 - vue: ^3.0.1 - peerDependenciesMeta: - '@vue/server-renderer': - optional: true - dependencies: - js-beautify: 1.15.1 - vue: 3.4.19 - vue-component-type-helpers: 1.8.27 - dev: true - - /abbrev@2.0.0: - resolution: - { - integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==, - } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } - dev: true - - /accepts@1.3.8: - resolution: - { - integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==, - } - engines: { node: '>= 0.6' } - dependencies: - mime-types: 2.1.35 - negotiator: 0.6.3 - - /acorn-jsx@5.3.2(acorn@7.4.1): - resolution: - { - integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, - } - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 7.4.1 - dev: true - - /acorn-jsx@5.3.2(acorn@8.11.3): - resolution: - { - integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, - } - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.11.3 - dev: true - - /acorn-walk@8.3.2: - resolution: - { - integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==, - } - engines: { node: '>=0.4.0' } - dev: true - - /acorn@7.4.1: - resolution: - { - integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==, - } - engines: { node: '>=0.4.0' } - hasBin: true - dev: true - - /acorn@8.11.3: - resolution: - { - integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==, - } - engines: { node: '>=0.4.0' } - hasBin: true - dev: true - - /aggregate-error@3.1.0: - resolution: - { - integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==, - } - engines: { node: '>=8' } - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - dev: true - - /ajv@6.12.6: - resolution: - { - integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, - } - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - - /ajv@8.12.0: - resolution: - { - integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==, - } - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: true - - /ansi-align@3.0.1: - resolution: - { - integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==, - } - dependencies: - string-width: 4.2.3 - dev: false - - /ansi-colors@4.1.3: - resolution: - { - integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==, - } - engines: { node: '>=6' } - dev: true - - /ansi-escapes@4.3.2: - resolution: - { - integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==, - } - engines: { node: '>=8' } - dependencies: - type-fest: 0.21.3 - dev: true - - /ansi-regex@5.0.1: - resolution: - { - integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, - } - engines: { node: '>=8' } - - /ansi-regex@6.0.1: - resolution: - { - integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==, - } - engines: { node: '>=12' } - - /ansi-styles@4.3.0: - resolution: - { - integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, - } - engines: { node: '>=8' } - dependencies: - color-convert: 2.0.1 - dev: true - - /ansi-styles@5.2.0: - resolution: - { - integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==, - } - engines: { node: '>=10' } - dev: true - - /ansi-styles@6.2.1: - resolution: - { - integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==, - } - engines: { node: '>=12' } - - /any-promise@1.3.0: - resolution: - { - integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==, - } - dev: true - - /anymatch@3.1.3: - resolution: - { - integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==, - } - engines: { node: '>= 8' } - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - dev: true - - /arch@2.2.0: - resolution: - { - integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==, - } - dev: true - - /archiver-utils@2.1.0: - resolution: - { - integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==, - } - engines: { node: '>= 6' } - dependencies: - glob: 7.2.3 - graceful-fs: 4.2.11 - lazystream: 1.0.1 - lodash.defaults: 4.2.0 - lodash.difference: 4.5.0 - lodash.flatten: 4.4.0 - lodash.isplainobject: 4.0.6 - lodash.union: 4.6.0 - normalize-path: 3.0.0 - readable-stream: 2.3.8 - dev: true - - /archiver-utils@3.0.4: - resolution: - { - integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==, - } - engines: { node: '>= 10' } - dependencies: - glob: 7.2.3 - graceful-fs: 4.2.11 - lazystream: 1.0.1 - lodash.defaults: 4.2.0 - lodash.difference: 4.5.0 - lodash.flatten: 4.4.0 - lodash.isplainobject: 4.0.6 - lodash.union: 4.6.0 - normalize-path: 3.0.0 - readable-stream: 3.6.2 - dev: true - - /archiver@5.3.2: - resolution: - { - integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==, - } - engines: { node: '>= 10' } - dependencies: - archiver-utils: 2.1.0 - async: 3.2.5 - buffer-crc32: 0.2.13 - readable-stream: 3.6.2 - readdir-glob: 1.1.3 - tar-stream: 2.2.0 - zip-stream: 4.1.1 - dev: true - - /argparse@2.0.1: - resolution: - { - integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, - } - dev: true - - /array-flatten@1.1.1: - resolution: - { - integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==, - } - - /asn1@0.2.6: - resolution: - { - integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==, - } - dependencies: - safer-buffer: 2.1.2 - dev: true - - /assert-plus@1.0.0: - resolution: - { - integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==, - } - engines: { node: '>=0.8' } - dev: true - - /assertion-error@1.1.0: - resolution: - { - integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==, - } - dev: true - - /astral-regex@2.0.0: - resolution: - { - integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==, - } - engines: { node: '>=8' } - dev: true - - /async@3.2.5: - resolution: - { - integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==, - } - dev: true - - /asynckit@0.4.0: - resolution: - { - integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==, - } - - /at-least-node@1.0.0: - resolution: - { - integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==, - } - engines: { node: '>= 4.0.0' } - dev: true - - /autoprefixer@10.4.17(postcss@8.4.35): - resolution: - { - integrity: sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==, - } - engines: { node: ^10 || ^12 || >=14 } - hasBin: true - peerDependencies: - postcss: ^8.1.0 - dependencies: - browserslist: 4.23.0 - caniuse-lite: 1.0.30001588 - fraction.js: 4.3.7 - normalize-range: 0.1.2 - picocolors: 1.0.0 - postcss: 8.4.35 - postcss-value-parser: 4.2.0 - dev: true - - /aws-sign2@0.7.0: - resolution: - { - integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==, - } - dev: true - - /aws4@1.12.0: - resolution: - { - integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==, - } - dev: true - - /axios@1.6.7: - resolution: - { - integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==, - } - dependencies: - follow-redirects: 1.15.5 - form-data: 4.0.0 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - dev: false - - /balanced-match@1.0.2: - resolution: - { - integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, - } - - /base64-js@1.5.1: - resolution: - { - integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, - } - dev: true - - /bcrypt-pbkdf@1.0.2: - resolution: - { - integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==, - } - dependencies: - tweetnacl: 0.14.5 - dev: true - - /big-integer@1.6.52: - resolution: - { - integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==, - } - engines: { node: '>=0.6' } - dev: false - - /binary-extensions@2.2.0: - resolution: - { - integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==, - } - engines: { node: '>=8' } - dev: true - - /bl@4.1.0: - resolution: - { - integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==, - } - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: true - - /blob-util@2.0.2: - resolution: - { - integrity: sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==, - } - dev: true - - /bluebird@3.7.2: - resolution: - { - integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==, - } - dev: true - - /blueimp-md5@2.19.0: - resolution: - { - integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==, - } - dev: true - - /body-parser@1.20.1: - resolution: - { - integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==, - } - engines: { node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16 } - dependencies: - bytes: 3.1.2 - content-type: 1.0.5 - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - on-finished: 2.4.1 - qs: 6.11.0 - raw-body: 2.5.1 - type-is: 1.6.18 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - - /boolbase@1.0.0: - resolution: - { - integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==, - } - dev: true - - /boxen@7.1.1: - resolution: - { - integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==, - } - engines: { node: '>=14.16' } - dependencies: - ansi-align: 3.0.1 - camelcase: 7.0.1 - chalk: 5.3.0 - cli-boxes: 3.0.0 - string-width: 5.1.2 - type-fest: 2.19.0 - widest-line: 4.0.1 - wrap-ansi: 8.1.0 - dev: false - - /bplist-parser@0.2.0: - resolution: - { - integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==, - } - engines: { node: '>= 5.10.0' } - dependencies: - big-integer: 1.6.52 - dev: false - - /brace-expansion@1.1.11: - resolution: - { - integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, - } - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - - /brace-expansion@2.0.1: - resolution: - { - integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==, - } - dependencies: - balanced-match: 1.0.2 - dev: true - - /braces@3.0.2: - resolution: - { - integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==, - } - engines: { node: '>=8' } - dependencies: - fill-range: 7.0.1 - - /browserslist@4.23.0: - resolution: - { - integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==, - } - engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } - hasBin: true - dependencies: - caniuse-lite: 1.0.30001588 - electron-to-chromium: 1.4.677 - node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.23.0) - dev: true - - /buffer-crc32@0.2.13: - resolution: - { - integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==, - } - - /buffer-from@1.1.2: - resolution: - { - integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==, - } - dev: false - - /buffer@5.7.1: - resolution: - { - integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==, - } - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: true - - /bundle-name@3.0.0: - resolution: - { - integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==, - } - engines: { node: '>=12' } - dependencies: - run-applescript: 5.0.0 - dev: false - - /bytes@3.0.0: - resolution: - { - integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==, - } - engines: { node: '>= 0.8' } - - /bytes@3.1.2: - resolution: - { - integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==, - } - engines: { node: '>= 0.8' } - - /cac@6.7.14: - resolution: - { - integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==, - } - engines: { node: '>=8' } - dev: true - - /cacheable-lookup@5.0.4: - resolution: - { - integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==, - } - engines: { node: '>=10.6.0' } - dev: false - - /cacheable-lookup@7.0.0: - resolution: - { - integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==, - } - engines: { node: '>=14.16' } - dev: false - - /cacheable-request@10.2.14: - resolution: - { - integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==, - } - engines: { node: '>=14.16' } - dependencies: - '@types/http-cache-semantics': 4.0.4 - get-stream: 6.0.1 - http-cache-semantics: 4.1.1 - keyv: 4.5.4 - mimic-response: 4.0.0 - normalize-url: 8.0.0 - responselike: 3.0.0 - dev: false - - /cacheable-request@7.0.4: - resolution: - { - integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==, - } - engines: { node: '>=8' } - dependencies: - clone-response: 1.0.3 - get-stream: 5.2.0 - http-cache-semantics: 4.1.1 - keyv: 4.5.4 - lowercase-keys: 2.0.0 - normalize-url: 6.1.0 - responselike: 2.0.1 - dev: false - - /cachedir@2.4.0: - resolution: - { - integrity: sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==, - } - engines: { node: '>=6' } - - /call-bind@1.0.7: - resolution: - { - integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==, - } - engines: { node: '>= 0.4' } - dependencies: - es-define-property: 1.0.0 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - set-function-length: 1.2.1 - - /callsites@3.1.0: - resolution: - { - integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, - } - engines: { node: '>=6' } - dev: true - - /camel-case@3.0.0: - resolution: - { - integrity: sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==, - } - dependencies: - no-case: 2.3.2 - upper-case: 1.1.3 - dev: true - - /camelcase@7.0.1: - resolution: - { - integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==, - } - engines: { node: '>=14.16' } - dev: false - - /caniuse-lite@1.0.30001588: - resolution: - { - integrity: sha512-+hVY9jE44uKLkH0SrUTqxjxqNTOWHsbnQDIKjwkZ3lNTzUUVdBLBGXtj/q5Mp5u98r3droaZAewQuEDzjQdZlQ==, - } - dev: true - - /caseless@0.12.0: - resolution: - { - integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==, - } - dev: true - - /chai@4.4.1: - resolution: - { - integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==, - } - engines: { node: '>=4' } - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.3 - deep-eql: 4.1.3 - get-func-name: 2.0.2 - loupe: 2.3.7 - pathval: 1.1.1 - type-detect: 4.0.8 - dev: true - - /chalk@4.1.2: - resolution: - { - integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, - } - engines: { node: '>=10' } - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /chalk@5.3.0: - resolution: - { - integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==, - } - engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } - dev: false - - /chardet@0.7.0: - resolution: - { - integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==, - } - dev: true - - /check-error@1.0.3: - resolution: - { - integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==, - } - dependencies: - get-func-name: 2.0.2 - dev: true - - /check-more-types@2.24.0: - resolution: - { - integrity: sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==, - } - engines: { node: '>= 0.8.0' } - dev: true - - /chokidar@3.6.0: - resolution: - { - integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==, - } - engines: { node: '>= 8.10.0' } - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /chromium@3.0.3: - resolution: - { - integrity: sha512-TfbzP/3t38Us5xrbb9x87M/y5I/j3jx0zeJhhQ72gjp6dwJuhVP6hBZnBH4wEg7512VVXk9zCfTuPFOdw7bQqg==, - } - os: [darwin, linux, win32] - requiresBuild: true - dependencies: - cachedir: 2.4.0 - debug: 4.3.4(supports-color@8.1.1) - extract-zip: 1.7.0 - got: 11.8.6 - progress: 2.0.3 - rimraf: 2.7.1 - tmp: 0.0.33 - tunnel: 0.0.6 - transitivePeerDependencies: - - supports-color - dev: false - - /ci-info@3.9.0: - resolution: - { - integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==, - } - engines: { node: '>=8' } - - /clean-css@4.2.4: - resolution: - { - integrity: sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==, - } - engines: { node: '>= 4.0' } - dependencies: - source-map: 0.6.1 - dev: true - - /clean-stack@2.2.0: - resolution: - { - integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==, - } - engines: { node: '>=6' } - dev: true - - /cli-boxes@3.0.0: - resolution: - { - integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==, - } - engines: { node: '>=10' } - dev: false - - /cli-cursor@3.1.0: - resolution: - { - integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==, - } - engines: { node: '>=8' } - dependencies: - restore-cursor: 3.1.0 - dev: true - - /cli-spinners@2.9.2: - resolution: - { - integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==, - } - engines: { node: '>=6' } - dev: true - - /cli-table3@0.6.3: - resolution: - { - integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==, - } - engines: { node: 10.* || >= 12.* } - dependencies: - string-width: 4.2.3 - optionalDependencies: - '@colors/colors': 1.5.0 - dev: true - - /cli-truncate@2.1.0: - resolution: - { - integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==, - } - engines: { node: '>=8' } - dependencies: - slice-ansi: 3.0.0 - string-width: 4.2.3 - dev: true - - /cli-width@3.0.0: - resolution: - { - integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==, - } - engines: { node: '>= 10' } - dev: true - - /cliui@8.0.1: - resolution: - { - integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==, - } - engines: { node: '>=12' } - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - dev: true - - /clone-deep@4.0.1: - resolution: - { - integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==, - } - engines: { node: '>=6' } - dependencies: - is-plain-object: 2.0.4 - kind-of: 6.0.3 - shallow-clone: 3.0.1 - dev: true - - /clone-response@1.0.3: - resolution: - { - integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==, - } - dependencies: - mimic-response: 1.0.1 - dev: false - - /clone@1.0.4: - resolution: - { - integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==, - } - engines: { node: '>=0.8' } - dev: true - - /color-convert@2.0.1: - resolution: - { - integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, - } - engines: { node: '>=7.0.0' } - dependencies: - color-name: 1.1.4 - dev: true - - /color-name@1.1.4: - resolution: - { - integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, - } - dev: true - - /colorette@2.0.20: - resolution: - { - integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==, - } - dev: true - - /combined-stream@1.0.8: - resolution: - { - integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==, - } - engines: { node: '>= 0.8' } - dependencies: - delayed-stream: 1.0.0 - - /commander@10.0.1: - resolution: - { - integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==, - } - engines: { node: '>=14' } - dev: true - - /commander@2.20.3: - resolution: - { - integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==, - } - dev: true - - /commander@4.1.1: - resolution: - { - integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==, - } - engines: { node: '>= 6' } - dev: true - - /commander@6.2.1: - resolution: - { - integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==, - } - engines: { node: '>= 6' } - dev: true - - /common-tags@1.8.2: - resolution: - { - integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==, - } - engines: { node: '>=4.0.0' } - dev: true - - /compress-commons@4.1.2: - resolution: - { - integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==, - } - engines: { node: '>= 10' } - dependencies: - buffer-crc32: 0.2.13 - crc32-stream: 4.0.3 - normalize-path: 3.0.0 - readable-stream: 3.6.2 - dev: true - - /compressible@2.0.18: - resolution: - { - integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==, - } - engines: { node: '>= 0.6' } - dependencies: - mime-db: 1.52.0 - - /compression@1.7.4: - resolution: - { - integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==, - } - engines: { node: '>= 0.8.0' } - dependencies: - accepts: 1.3.8 - bytes: 3.0.0 - compressible: 2.0.18 - debug: 2.6.9 - on-headers: 1.0.2 - safe-buffer: 5.1.2 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - - /concat-map@0.0.1: - resolution: - { - integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, - } - - /concat-stream@1.6.2: - resolution: - { - integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==, - } - engines: { '0': node >= 0.8 } - dependencies: - buffer-from: 1.1.2 - inherits: 2.0.4 - readable-stream: 2.3.8 - typedarray: 0.0.6 - dev: false - - /concordance@5.0.4: - resolution: - { - integrity: sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==, - } - engines: { node: '>=10.18.0 <11 || >=12.14.0 <13 || >=14' } - dependencies: - date-time: 3.1.0 - esutils: 2.0.3 - fast-diff: 1.3.0 - js-string-escape: 1.0.1 - lodash: 4.17.21 - md5-hex: 3.0.1 - semver: 7.6.0 - well-known-symbols: 2.0.0 - dev: true - - /config-chain@1.1.13: - resolution: - { - integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==, - } - dependencies: - ini: 1.3.8 - proto-list: 1.2.4 - - /configstore@6.0.0: - resolution: - { - integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==, - } - engines: { node: '>=12' } - dependencies: - dot-prop: 6.0.1 - graceful-fs: 4.2.11 - unique-string: 3.0.0 - write-file-atomic: 3.0.3 - xdg-basedir: 5.1.0 - dev: false - - /connect-history-api-fallback@2.0.0: - resolution: - { - integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==, - } - engines: { node: '>=0.8' } - dev: false - - /content-disposition@0.5.4: - resolution: - { - integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==, - } - engines: { node: '>= 0.6' } - dependencies: - safe-buffer: 5.2.1 - - /content-type@1.0.5: - resolution: - { - integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==, - } - engines: { node: '>= 0.6' } - - /cookie-signature@1.0.6: - resolution: - { - integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==, - } - - /cookie@0.5.0: - resolution: - { - integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==, - } - engines: { node: '>= 0.6' } - - /core-util-is@1.0.2: - resolution: - { - integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==, - } - dev: true - - /core-util-is@1.0.3: - resolution: - { - integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==, - } - - /cors@2.8.5: - resolution: - { - integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==, - } - engines: { node: '>= 0.10' } - dependencies: - object-assign: 4.1.1 - vary: 1.1.2 - dev: false - - /crc-32@1.2.2: - resolution: - { - integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==, - } - engines: { node: '>=0.8' } - hasBin: true - dev: true - - /crc32-stream@4.0.3: - resolution: - { - integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==, - } - engines: { node: '>= 10' } - dependencies: - crc-32: 1.2.2 - readable-stream: 3.6.2 - dev: true - - /croppie@2.6.5: - resolution: - { - integrity: sha512-IlChnVUGG5T3w2gRZIaQgBtlvyuYnlUWs2YZIXXR3H9KrlO1PtBT3j+ykxvy9eZIWhk+V5SpBmhCQz5UXKrEKQ==, - } - dev: false - - /cross-spawn@7.0.3: - resolution: - { - integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, - } - engines: { node: '>= 8' } - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - - /crypto-random-string@4.0.0: - resolution: - { - integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==, - } - engines: { node: '>=12' } - dependencies: - type-fest: 1.4.0 - dev: false - - /css.escape@1.5.1: - resolution: - { - integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==, - } - dev: true - - /cssesc@3.0.0: - resolution: - { - integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==, - } - engines: { node: '>=4' } - hasBin: true - dev: true - - /csstype@3.1.3: - resolution: - { - integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==, - } - - /cypress@13.6.6: - resolution: - { - integrity: sha512-S+2S9S94611hXimH9a3EAYt81QM913ZVA03pUmGDfLTFa5gyp85NJ8dJGSlEAEmyRsYkioS1TtnWtbv/Fzt11A==, - } - engines: { node: ^16.0.0 || ^18.0.0 || >=20.0.0 } - hasBin: true - requiresBuild: true - dependencies: - '@cypress/request': 3.0.1 - '@cypress/xvfb': 1.2.4(supports-color@8.1.1) - '@types/sinonjs__fake-timers': 8.1.1 - '@types/sizzle': 2.3.8 - arch: 2.2.0 - blob-util: 2.0.2 - bluebird: 3.7.2 - buffer: 5.7.1 - cachedir: 2.4.0 - chalk: 4.1.2 - check-more-types: 2.24.0 - cli-cursor: 3.1.0 - cli-table3: 0.6.3 - commander: 6.2.1 - common-tags: 1.8.2 - dayjs: 1.11.10 - debug: 4.3.4(supports-color@8.1.1) - enquirer: 2.4.1 - eventemitter2: 6.4.7 - execa: 4.1.0 - executable: 4.1.1 - extract-zip: 2.0.1(supports-color@8.1.1) - figures: 3.2.0 - fs-extra: 9.1.0 - getos: 3.2.1 - is-ci: 3.0.1 - is-installed-globally: 0.4.0 - lazy-ass: 1.6.0 - listr2: 3.14.0(enquirer@2.4.1) - lodash: 4.17.21 - log-symbols: 4.1.0 - minimist: 1.2.8 - ospath: 1.2.2 - pretty-bytes: 5.6.0 - process: 0.11.10 - proxy-from-env: 1.0.0 - request-progress: 3.0.0 - semver: 7.6.0 - supports-color: 8.1.1 - tmp: 0.2.1 - untildify: 4.0.0 - yauzl: 2.10.0 - dev: true - - /dashdash@1.14.1: - resolution: - { - integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==, - } - engines: { node: '>=0.10' } - dependencies: - assert-plus: 1.0.0 - dev: true - - /date-time@3.1.0: - resolution: - { - integrity: sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==, - } - engines: { node: '>=6' } - dependencies: - time-zone: 1.0.0 - dev: true - - /dayjs@1.11.10: - resolution: - { - integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==, - } - dev: true - - /debug@2.6.9: - resolution: - { - integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==, - } - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.0.0 - - /debug@3.1.0: - resolution: - { - integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==, - } - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.0.0 - dev: false - - /debug@3.2.7(supports-color@8.1.1): - resolution: - { - integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==, - } - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.3 - supports-color: 8.1.1 - dev: true - - /debug@4.3.4(supports-color@8.1.1): - resolution: - { - integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, - } - engines: { node: '>=6.0' } - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - supports-color: 8.1.1 - - /decompress-response@6.0.0: - resolution: - { - integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==, - } - engines: { node: '>=10' } - dependencies: - mimic-response: 3.1.0 - dev: false - - /deep-eql@4.1.3: - resolution: - { - integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==, - } - engines: { node: '>=6' } - dependencies: - type-detect: 4.0.8 - dev: true - - /deep-extend@0.6.0: - resolution: - { - integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==, - } - engines: { node: '>=4.0.0' } - dev: false - - /deep-is@0.1.4: - resolution: - { - integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, - } - dev: true - - /default-browser-id@3.0.0: - resolution: - { - integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==, - } - engines: { node: '>=12' } - dependencies: - bplist-parser: 0.2.0 - untildify: 4.0.0 - dev: false - - /default-browser@4.0.0: - resolution: - { - integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==, - } - engines: { node: '>=14.16' } - dependencies: - bundle-name: 3.0.0 - default-browser-id: 3.0.0 - execa: 7.2.0 - titleize: 3.0.0 - dev: false - - /defaults@1.0.4: - resolution: - { - integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==, - } - dependencies: - clone: 1.0.4 - dev: true - - /defer-to-connect@2.0.1: - resolution: - { - integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==, - } - engines: { node: '>=10' } - dev: false - - /define-data-property@1.1.4: - resolution: - { - integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==, - } - engines: { node: '>= 0.4' } - dependencies: - es-define-property: 1.0.0 - es-errors: 1.3.0 - gopd: 1.0.1 - - /define-lazy-prop@2.0.0: - resolution: - { - integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==, - } - engines: { node: '>=8' } - dev: true - - /define-lazy-prop@3.0.0: - resolution: - { - integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==, - } - engines: { node: '>=12' } - dev: false - - /delayed-stream@1.0.0: - resolution: - { - integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==, - } - engines: { node: '>=0.4.0' } - - /depd@2.0.0: - resolution: - { - integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==, - } - engines: { node: '>= 0.8' } - - /destroy@1.2.0: - resolution: - { - integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==, - } - engines: { node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16 } - - /doctrine@3.0.0: - resolution: - { - integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, - } - engines: { node: '>=6.0.0' } - dependencies: - esutils: 2.0.3 - dev: true - - /dot-prop@6.0.1: - resolution: - { - integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==, - } - engines: { node: '>=10' } - dependencies: - is-obj: 2.0.0 - - /eastasianwidth@0.2.0: - resolution: - { - integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==, - } - - /ecc-jsbn@0.1.2: - resolution: - { - integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==, - } - dependencies: - jsbn: 0.1.1 - safer-buffer: 2.1.2 - dev: true - - /editorconfig@1.0.4: - resolution: - { - integrity: sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==, - } - engines: { node: '>=14' } - hasBin: true - dependencies: - '@one-ini/wasm': 0.1.1 - commander: 10.0.1 - minimatch: 9.0.1 - semver: 7.6.0 - dev: true - - /ee-first@1.1.1: - resolution: - { - integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==, - } - - /electron-to-chromium@1.4.677: - resolution: - { - integrity: sha512-erDa3CaDzwJOpyvfKhOiJjBVNnMM0qxHq47RheVVwsSQrgBA9ZSGV9kdaOfZDPXcHzhG7lBxhj6A7KvfLJBd6Q==, - } - dev: true - - /elementtree@0.1.7: - resolution: - { - integrity: sha512-wkgGT6kugeQk/P6VZ/f4T+4HB41BVgNBq5CDIZVbQ02nvTVqAiVTbskxxu3eA/X96lMlfYOwnLQpN2v5E1zDEg==, - } - engines: { node: '>= 0.4.0' } - dependencies: - sax: 1.1.4 - dev: true - - /emoji-regex@8.0.0: - resolution: - { - integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, - } - - /emoji-regex@9.2.2: - resolution: - { - integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==, - } - - /encodeurl@1.0.2: - resolution: - { - integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==, - } - engines: { node: '>= 0.8' } - - /end-of-stream@1.4.4: - resolution: - { - integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==, - } - dependencies: - once: 1.4.0 - - /enquirer@2.4.1: - resolution: - { - integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==, - } - engines: { node: '>=8.6' } - dependencies: - ansi-colors: 4.1.3 - strip-ansi: 6.0.1 - dev: true - - /entities@4.5.0: - resolution: - { - integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==, - } - engines: { node: '>=0.12' } - - /es-define-property@1.0.0: - resolution: - { - integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==, - } - engines: { node: '>= 0.4' } - dependencies: - get-intrinsic: 1.2.4 - - /es-errors@1.3.0: - resolution: - { - integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==, - } - engines: { node: '>= 0.4' } - - /esbuild-android-64@0.14.51: - resolution: - { - integrity: sha512-6FOuKTHnC86dtrKDmdSj2CkcKF8PnqkaIXqvgydqfJmqBazCPdw+relrMlhGjkvVdiiGV70rpdnyFmA65ekBCQ==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /esbuild-android-arm64@0.14.51: - resolution: - { - integrity: sha512-vBtp//5VVkZWmYYvHsqBRCMMi1MzKuMIn5XDScmnykMTu9+TD9v0NMEDqQxvtFToeYmojdo5UCV2vzMQWJcJ4A==, - } - engines: { node: '>=12' } - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-64@0.14.51: - resolution: - { - integrity: sha512-YFmXPIOvuagDcwCejMRtCDjgPfnDu+bNeh5FU2Ryi68ADDVlWEpbtpAbrtf/lvFTWPexbgyKgzppNgsmLPr8PA==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-arm64@0.14.51: - resolution: - { - integrity: sha512-juYD0QnSKwAMfzwKdIF6YbueXzS6N7y4GXPDeDkApz/1RzlT42mvX9jgNmyOlWKN7YzQAYbcUEJmZJYQGdf2ow==, - } - engines: { node: '>=12' } - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-64@0.14.51: - resolution: - { - integrity: sha512-cLEI/aXjb6vo5O2Y8rvVSQ7smgLldwYY5xMxqh/dQGfWO+R1NJOFsiax3IS4Ng300SVp7Gz3czxT6d6qf2cw0g==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-arm64@0.14.51: - resolution: - { - integrity: sha512-TcWVw/rCL2F+jUgRkgLa3qltd5gzKjIMGhkVybkjk6PJadYInPtgtUBp1/hG+mxyigaT7ib+od1Xb84b+L+1Mg==, - } - engines: { node: '>=12' } - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-32@0.14.51: - resolution: - { - integrity: sha512-RFqpyC5ChyWrjx8Xj2K0EC1aN0A37H6OJfmUXIASEqJoHcntuV3j2Efr9RNmUhMfNE6yEj2VpYuDteZLGDMr0w==, - } - engines: { node: '>=12' } - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-64@0.14.51: - resolution: - { - integrity: sha512-dxjhrqo5i7Rq6DXwz5v+MEHVs9VNFItJmHBe1CxROWNf4miOGoQhqSG8StStbDkQ1Mtobg6ng+4fwByOhoQoeA==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm64@0.14.51: - resolution: - { - integrity: sha512-D9rFxGutoqQX3xJPxqd6o+kvYKeIbM0ifW2y0bgKk5HPgQQOo2k9/2Vpto3ybGYaFPCE5qTGtqQta9PoP6ZEzw==, - } - engines: { node: '>=12' } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm@0.14.51: - resolution: - { - integrity: sha512-LsJynDxYF6Neg7ZC7748yweCDD+N8ByCv22/7IAZglIEniEkqdF4HCaa49JNDLw1UQGlYuhOB8ZT/MmcSWzcWg==, - } - engines: { node: '>=12' } - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-mips64le@0.14.51: - resolution: - { - integrity: sha512-vS54wQjy4IinLSlb5EIlLoln8buh1yDgliP4CuEHumrPk4PvvP4kTRIG4SzMXm6t19N0rIfT4bNdAxzJLg2k6A==, - } - engines: { node: '>=12' } - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-ppc64le@0.14.51: - resolution: - { - integrity: sha512-xcdd62Y3VfGoyphNP/aIV9LP+RzFw5M5Z7ja+zdpQHHvokJM7d0rlDRMN+iSSwvUymQkqZO+G/xjb4/75du8BQ==, - } - engines: { node: '>=12' } - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-riscv64@0.14.51: - resolution: - { - integrity: sha512-syXHGak9wkAnFz0gMmRBoy44JV0rp4kVCEA36P5MCeZcxFq8+fllBC2t6sKI23w3qd8Vwo9pTADCgjTSf3L3rA==, - } - engines: { node: '>=12' } - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-s390x@0.14.51: - resolution: - { - integrity: sha512-kFAJY3dv+Wq8o28K/C7xkZk/X34rgTwhknSsElIqoEo8armCOjMJ6NsMxm48KaWY2h2RUYGtQmr+RGuUPKBhyw==, - } - engines: { node: '>=12' } - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-netbsd-64@0.14.51: - resolution: - { - integrity: sha512-ZZBI7qrR1FevdPBVHz/1GSk1x5GDL/iy42Zy8+neEm/HA7ma+hH/bwPEjeHXKWUDvM36CZpSL/fn1/y9/Hb+1A==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-openbsd-64@0.14.51: - resolution: - { - integrity: sha512-7R1/p39M+LSVQVgDVlcY1KKm6kFKjERSX1lipMG51NPcspJD1tmiZSmmBXoY5jhHIu6JL1QkFDTx94gMYK6vfA==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-sunos-64@0.14.51: - resolution: - { - integrity: sha512-HoHaCswHxLEYN8eBTtyO0bFEWvA3Kdb++hSQ/lLG7TyKF69TeSG0RNoBRAs45x/oCeWaTDntEZlYwAfQlhEtJA==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - - /esbuild-windows-32@0.14.51: - resolution: - { - integrity: sha512-4rtwSAM35A07CBt1/X8RWieDj3ZUHQqUOaEo5ZBs69rt5WAFjP4aqCIobdqOy4FdhYw1yF8Z0xFBTyc9lgPtEg==, - } - engines: { node: '>=12' } - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /esbuild-windows-64@0.14.51: - resolution: - { - integrity: sha512-HoN/5HGRXJpWODprGCgKbdMvrC3A2gqvzewu2eECRw2sYxOUoh2TV1tS+G7bHNapPGI79woQJGV6pFH7GH7qnA==, - } - engines: { node: '>=12' } - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /esbuild-windows-arm64@0.14.51: - resolution: - { - integrity: sha512-JQDqPjuOH7o+BsKMSddMfmVJXrnYZxXDHsoLHc0xgmAZkOOCflRmC43q31pk79F9xuyWY45jDBPolb5ZgGOf9g==, - } - engines: { node: '>=12' } - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /esbuild@0.14.51: - resolution: - { - integrity: sha512-+CvnDitD7Q5sT7F+FM65sWkF8wJRf+j9fPcprxYV4j+ohmzVj2W7caUqH2s5kCaCJAfcAICjSlKhDCcvDpU7nw==, - } - engines: { node: '>=12' } - hasBin: true - requiresBuild: true - optionalDependencies: - esbuild-android-64: 0.14.51 - esbuild-android-arm64: 0.14.51 - esbuild-darwin-64: 0.14.51 - esbuild-darwin-arm64: 0.14.51 - esbuild-freebsd-64: 0.14.51 - esbuild-freebsd-arm64: 0.14.51 - esbuild-linux-32: 0.14.51 - esbuild-linux-64: 0.14.51 - esbuild-linux-arm: 0.14.51 - esbuild-linux-arm64: 0.14.51 - esbuild-linux-mips64le: 0.14.51 - esbuild-linux-ppc64le: 0.14.51 - esbuild-linux-riscv64: 0.14.51 - esbuild-linux-s390x: 0.14.51 - esbuild-netbsd-64: 0.14.51 - esbuild-openbsd-64: 0.14.51 - esbuild-sunos-64: 0.14.51 - esbuild-windows-32: 0.14.51 - esbuild-windows-64: 0.14.51 - esbuild-windows-arm64: 0.14.51 - dev: true - - /esbuild@0.18.20: - resolution: - { - integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==, - } - engines: { node: '>=12' } - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.18.20 - '@esbuild/android-arm64': 0.18.20 - '@esbuild/android-x64': 0.18.20 - '@esbuild/darwin-arm64': 0.18.20 - '@esbuild/darwin-x64': 0.18.20 - '@esbuild/freebsd-arm64': 0.18.20 - '@esbuild/freebsd-x64': 0.18.20 - '@esbuild/linux-arm': 0.18.20 - '@esbuild/linux-arm64': 0.18.20 - '@esbuild/linux-ia32': 0.18.20 - '@esbuild/linux-loong64': 0.18.20 - '@esbuild/linux-mips64el': 0.18.20 - '@esbuild/linux-ppc64': 0.18.20 - '@esbuild/linux-riscv64': 0.18.20 - '@esbuild/linux-s390x': 0.18.20 - '@esbuild/linux-x64': 0.18.20 - '@esbuild/netbsd-x64': 0.18.20 - '@esbuild/openbsd-x64': 0.18.20 - '@esbuild/sunos-x64': 0.18.20 - '@esbuild/win32-arm64': 0.18.20 - '@esbuild/win32-ia32': 0.18.20 - '@esbuild/win32-x64': 0.18.20 - dev: true - - /esbuild@0.19.12: - resolution: - { - integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==, - } - engines: { node: '>=12' } - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 - dev: true - - /escalade@3.1.2: - resolution: - { - integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==, - } - engines: { node: '>=6' } - dev: true - - /escape-goat@4.0.0: - resolution: - { - integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==, - } - engines: { node: '>=12' } - dev: false - - /escape-html@1.0.3: - resolution: - { - integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==, - } - - /escape-string-regexp@1.0.5: - resolution: - { - integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, - } - engines: { node: '>=0.8.0' } - dev: true - - /escape-string-regexp@4.0.0: - resolution: - { - integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, - } - engines: { node: '>=10' } - dev: true - - /eslint-config-prettier@8.10.0(eslint@8.56.0): - resolution: - { - integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==, - } - hasBin: true - peerDependencies: - eslint: '>=7.0.0' - dependencies: - eslint: 8.56.0 - dev: true - - /eslint-plugin-cypress@2.15.1(eslint@8.56.0): - resolution: - { - integrity: sha512-eLHLWP5Q+I4j2AWepYq0PgFEei9/s5LvjuSqWrxurkg1YZ8ltxdvMNmdSf0drnsNo57CTgYY/NIHHLRSWejR7w==, - } - peerDependencies: - eslint: '>= 3.2.1' - dependencies: - eslint: 8.56.0 - globals: 13.24.0 - dev: true - - /eslint-plugin-vue@9.21.1(eslint@8.56.0): - resolution: - { - integrity: sha512-XVtI7z39yOVBFJyi8Ljbn7kY9yHzznKXL02qQYn+ta63Iy4A9JFBw6o4OSB9hyD2++tVT+su9kQqetUyCCwhjw==, - } - engines: { node: ^14.17.0 || >=16.0.0 } - peerDependencies: - eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) - eslint: 8.56.0 - natural-compare: 1.4.0 - nth-check: 2.1.1 - postcss-selector-parser: 6.0.15 - semver: 7.6.0 - vue-eslint-parser: 9.4.2(eslint@8.56.0) - xml-name-validator: 4.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /eslint-scope@7.2.2: - resolution: - { - integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - - /eslint-utils@2.1.0: - resolution: - { - integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==, - } - engines: { node: '>=6' } - dependencies: - eslint-visitor-keys: 1.3.0 - dev: true - - /eslint-visitor-keys@1.3.0: - resolution: - { - integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==, - } - engines: { node: '>=4' } - dev: true - - /eslint-visitor-keys@3.4.3: - resolution: - { - integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dev: true - - /eslint@8.56.0: - resolution: - { - integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - hasBin: true - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) - '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.56.0 - '@humanwhocodes/config-array': 0.11.14 - '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@8.1.1) - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 - ignore: 5.3.1 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.0 - json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.3 - strip-ansi: 6.0.1 - text-table: 0.2.0 - transitivePeerDependencies: - - supports-color - dev: true - - /espree@6.2.1: - resolution: - { - integrity: sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==, - } - engines: { node: '>=6.0.0' } - dependencies: - acorn: 7.4.1 - acorn-jsx: 5.3.2(acorn@7.4.1) - eslint-visitor-keys: 1.3.0 - dev: true - - /espree@9.6.1: - resolution: - { - integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) - eslint-visitor-keys: 3.4.3 - dev: true - - /esquery@1.5.0: - resolution: - { - integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==, - } - engines: { node: '>=0.10' } - dependencies: - estraverse: 5.3.0 - dev: true - - /esrecurse@4.3.0: - resolution: - { - integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, - } - engines: { node: '>=4.0' } - dependencies: - estraverse: 5.3.0 - dev: true - - /estraverse@5.3.0: - resolution: - { - integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, - } - engines: { node: '>=4.0' } - dev: true - - /estree-walker@2.0.2: - resolution: - { - integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==, - } - - /esutils@2.0.3: - resolution: - { - integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, - } - engines: { node: '>=0.10.0' } - dev: true - - /etag@1.8.1: - resolution: - { - integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==, - } - engines: { node: '>= 0.6' } - - /eventemitter2@6.4.7: - resolution: - { - integrity: sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==, - } - dev: true - - /eventemitter3@4.0.7: - resolution: - { - integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==, - } - dev: false - - /execa@4.1.0: - resolution: - { - integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==, - } - engines: { node: '>=10' } - dependencies: - cross-spawn: 7.0.3 - get-stream: 5.2.0 - human-signals: 1.1.1 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - dev: true - - /execa@5.1.1: - resolution: - { - integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==, - } - engines: { node: '>=10' } - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - dev: false - - /execa@7.2.0: - resolution: - { - integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==, - } - engines: { node: ^14.18.0 || ^16.14.0 || >=18.0.0 } - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 4.3.1 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.2.0 - onetime: 6.0.0 - signal-exit: 3.0.7 - strip-final-newline: 3.0.0 - dev: false - - /executable@4.1.1: - resolution: - { - integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==, - } - engines: { node: '>=4' } - dependencies: - pify: 2.3.0 - dev: true - - /express@4.18.2: - resolution: - { - integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==, - } - engines: { node: '>= 0.10.0' } - dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.20.1 - content-disposition: 0.5.4 - content-type: 1.0.5 - cookie: 0.5.0 - cookie-signature: 1.0.6 - debug: 2.6.9 - depd: 2.0.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.2.0 - fresh: 0.5.2 - http-errors: 2.0.0 - merge-descriptors: 1.0.1 - methods: 1.1.2 - on-finished: 2.4.1 - parseurl: 1.3.3 - path-to-regexp: 0.1.7 - proxy-addr: 2.0.7 - qs: 6.11.0 - range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.18.0 - serve-static: 1.15.0 - setprototypeof: 1.2.0 - statuses: 2.0.1 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - - /extend@3.0.2: - resolution: - { - integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==, - } - dev: true - - /external-editor@3.1.0: - resolution: - { - integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==, - } - engines: { node: '>=4' } - dependencies: - chardet: 0.7.0 - iconv-lite: 0.4.24 - tmp: 0.0.33 - dev: true - - /extract-zip@1.7.0: - resolution: - { - integrity: sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==, - } - hasBin: true - dependencies: - concat-stream: 1.6.2 - debug: 2.6.9 - mkdirp: 0.5.6 - yauzl: 2.10.0 - transitivePeerDependencies: - - supports-color - dev: false - - /extract-zip@2.0.1(supports-color@8.1.1): - resolution: - { - integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==, - } - engines: { node: '>= 10.17.0' } - hasBin: true - dependencies: - debug: 4.3.4(supports-color@8.1.1) - get-stream: 5.2.0 - yauzl: 2.10.0 - optionalDependencies: - '@types/yauzl': 2.10.3 - transitivePeerDependencies: - - supports-color - dev: true - - /extsprintf@1.3.0: - resolution: - { - integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==, - } - engines: { '0': node >=0.6.0 } - dev: true - - /fast-deep-equal@3.1.3: - resolution: - { - integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, - } - dev: true - - /fast-diff@1.3.0: - resolution: - { - integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==, - } - dev: true - - /fast-glob@3.2.12: - resolution: - { - integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==, - } - engines: { node: '>=8.6.0' } - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 - dev: true - - /fast-glob@3.3.2: - resolution: - { - integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==, - } - engines: { node: '>=8.6.0' } - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 - dev: true - - /fast-json-stable-stringify@2.1.0: - resolution: - { - integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, - } - dev: true - - /fast-levenshtein@2.0.6: - resolution: - { - integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, - } - dev: true - - /fastq@1.17.1: - resolution: - { - integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==, - } - dependencies: - reusify: 1.0.4 - dev: true - - /fd-slicer@1.1.0: - resolution: - { - integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==, - } - dependencies: - pend: 1.2.0 - - /figures@3.2.0: - resolution: - { - integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==, - } - engines: { node: '>=8' } - dependencies: - escape-string-regexp: 1.0.5 - dev: true - - /file-entry-cache@6.0.1: - resolution: - { - integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, - } - engines: { node: ^10.12.0 || >=12.0.0 } - dependencies: - flat-cache: 3.2.0 - dev: true - - /fill-range@7.0.1: - resolution: - { - integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==, - } - engines: { node: '>=8' } - dependencies: - to-regex-range: 5.0.1 - - /finalhandler@1.2.0: - resolution: - { - integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==, - } - engines: { node: '>= 0.8' } - dependencies: - debug: 2.6.9 - encodeurl: 1.0.2 - escape-html: 1.0.3 - on-finished: 2.4.1 - parseurl: 1.3.3 - statuses: 2.0.1 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - - /find-up@5.0.0: - resolution: - { - integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, - } - engines: { node: '>=10' } - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - dev: true - - /flat-cache@3.2.0: - resolution: - { - integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==, - } - engines: { node: ^10.12.0 || >=12.0.0 } - dependencies: - flatted: 3.3.1 - keyv: 4.5.4 - rimraf: 3.0.2 - dev: true - - /flat@5.0.2: - resolution: - { - integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==, - } - hasBin: true - dev: true - - /flatted@3.3.1: - resolution: - { - integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==, - } - dev: true - - /follow-redirects@1.15.5: - resolution: - { - integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==, - } - engines: { node: '>=4.0' } - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - dev: false - - /foreground-child@3.1.1: - resolution: - { - integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==, - } - engines: { node: '>=14' } - dependencies: - cross-spawn: 7.0.3 - signal-exit: 4.1.0 - dev: true - - /forever-agent@0.6.1: - resolution: - { - integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==, - } - dev: true - - /form-data-encoder@2.1.4: - resolution: - { - integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==, - } - engines: { node: '>= 14.17' } - dev: false - - /form-data@2.3.3: - resolution: - { - integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==, - } - engines: { node: '>= 0.12' } - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - dev: true - - /form-data@4.0.0: - resolution: - { - integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==, - } - engines: { node: '>= 6' } - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - dev: false - - /forwarded@0.2.0: - resolution: - { - integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==, - } - engines: { node: '>= 0.6' } - - /fraction.js@4.3.7: - resolution: - { - integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==, - } - dev: true - - /fresh@0.5.2: - resolution: - { - integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==, - } - engines: { node: '>= 0.6' } - - /fs-constants@1.0.0: - resolution: - { - integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==, - } - dev: true - - /fs-extra@11.2.0: - resolution: - { - integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==, - } - engines: { node: '>=14.14' } - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - - /fs-extra@9.1.0: - resolution: - { - integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==, - } - engines: { node: '>=10' } - dependencies: - at-least-node: 1.0.0 - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - dev: true - - /fs.realpath@1.0.0: - resolution: - { - integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, - } - - /fsevents@2.3.3: - resolution: - { - integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, - } - engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /function-bind@1.1.2: - resolution: - { - integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, - } - - /get-caller-file@2.0.5: - resolution: - { - integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==, - } - engines: { node: 6.* || 8.* || >= 10.* } - dev: true - - /get-func-name@2.0.2: - resolution: - { - integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==, - } - dev: true - - /get-intrinsic@1.2.4: - resolution: - { - integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==, - } - engines: { node: '>= 0.4' } - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.1 - - /get-stream@5.2.0: - resolution: - { - integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==, - } - engines: { node: '>=8' } - dependencies: - pump: 3.0.0 - - /get-stream@6.0.1: - resolution: - { - integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==, - } - engines: { node: '>=10' } - dev: false - - /getos@3.2.1: - resolution: - { - integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==, - } - dependencies: - async: 3.2.5 - dev: true - - /getpass@0.1.7: - resolution: - { - integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==, - } - dependencies: - assert-plus: 1.0.0 - dev: true - - /glob-parent@5.1.2: - resolution: - { - integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, - } - engines: { node: '>= 6' } - dependencies: - is-glob: 4.0.3 - dev: true - - /glob-parent@6.0.2: - resolution: - { - integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, - } - engines: { node: '>=10.13.0' } - dependencies: - is-glob: 4.0.3 - dev: true - - /glob-regex@0.3.2: - resolution: - { - integrity: sha512-m5blUd3/OqDTWwzBBtWBPrGlAzatRywHameHeekAZyZrskYouOGdNB8T/q6JucucvJXtOuyHIn0/Yia7iDasDw==, - } - dev: true - - /glob@10.3.10: - resolution: - { - integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==, - } - engines: { node: '>=16 || 14 >=14.17' } - hasBin: true - dependencies: - foreground-child: 3.1.1 - jackspeak: 2.3.6 - minimatch: 9.0.3 - minipass: 7.0.4 - path-scurry: 1.10.1 - dev: true - - /glob@7.2.3: - resolution: - { - integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, - } - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - - /global-dirs@3.0.1: - resolution: - { - integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==, - } - engines: { node: '>=10' } - dependencies: - ini: 2.0.0 - - /globals@13.24.0: - resolution: - { - integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==, - } - engines: { node: '>=8' } - dependencies: - type-fest: 0.20.2 - dev: true - - /globrex@0.1.2: - resolution: - { - integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==, - } - dev: true - - /gopd@1.0.1: - resolution: - { - integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==, - } - dependencies: - get-intrinsic: 1.2.4 - - /got@11.8.6: - resolution: - { - integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==, - } - engines: { node: '>=10.19.0' } - dependencies: - '@sindresorhus/is': 4.6.0 - '@szmarczak/http-timer': 4.0.6 - '@types/cacheable-request': 6.0.3 - '@types/responselike': 1.0.3 - cacheable-lookup: 5.0.4 - cacheable-request: 7.0.4 - decompress-response: 6.0.0 - http2-wrapper: 1.0.3 - lowercase-keys: 2.0.0 - p-cancelable: 2.1.1 - responselike: 2.0.1 - dev: false - - /got@12.6.1: - resolution: - { - integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==, - } - engines: { node: '>=14.16' } - dependencies: - '@sindresorhus/is': 5.6.0 - '@szmarczak/http-timer': 5.0.1 - cacheable-lookup: 7.0.0 - cacheable-request: 10.2.14 - decompress-response: 6.0.0 - form-data-encoder: 2.1.4 - get-stream: 6.0.1 - http2-wrapper: 2.2.1 - lowercase-keys: 3.0.0 - p-cancelable: 3.0.0 - responselike: 3.0.0 - dev: false - - /graceful-fs@4.2.10: - resolution: - { - integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==, - } - dev: false - - /graceful-fs@4.2.11: - resolution: - { - integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, - } - - /graphemer@1.4.0: - resolution: - { - integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==, - } - dev: true - - /happy-dom@11.2.0: - resolution: - { - integrity: sha512-z4PshcYIIH6SkymSNRcDFwYUJOENe+FOQDx5BbHgg/wQUgxF5p9I9/BN45Jff34bbhXV8yJgkC5N99eyOzXK3w==, - } - dependencies: - css.escape: 1.5.1 - entities: 4.5.0 - iconv-lite: 0.6.3 - webidl-conversions: 7.0.0 - whatwg-encoding: 2.0.0 - whatwg-mimetype: 3.0.0 - dev: true - - /has-flag@4.0.0: - resolution: - { - integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, - } - engines: { node: '>=8' } - - /has-property-descriptors@1.0.2: - resolution: - { - integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==, - } - dependencies: - es-define-property: 1.0.0 - - /has-proto@1.0.3: - resolution: - { - integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==, - } - engines: { node: '>= 0.4' } - - /has-symbols@1.0.3: - resolution: - { - integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==, - } - engines: { node: '>= 0.4' } - - /has-yarn@3.0.0: - resolution: - { - integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dev: false - - /hasown@2.0.1: - resolution: - { - integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==, - } - engines: { node: '>= 0.4' } - dependencies: - function-bind: 1.1.2 - - /he@1.2.0: - resolution: - { - integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==, - } - hasBin: true - dev: true - - /html-minifier@4.0.0: - resolution: - { - integrity: sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==, - } - engines: { node: '>=6' } - hasBin: true - dependencies: - camel-case: 3.0.0 - clean-css: 4.2.4 - commander: 2.20.3 - he: 1.2.0 - param-case: 2.1.1 - relateurl: 0.2.7 - uglify-js: 3.17.4 - dev: true - - /http-cache-semantics@4.1.1: - resolution: - { - integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==, - } - dev: false - - /http-errors@2.0.0: - resolution: - { - integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==, - } - engines: { node: '>= 0.8' } - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - - /http-proxy-middleware@2.0.6: - resolution: - { - integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==, - } - engines: { node: '>=12.0.0' } - peerDependencies: - '@types/express': ^4.17.13 - peerDependenciesMeta: - '@types/express': - optional: true - dependencies: - '@types/http-proxy': 1.17.14 - http-proxy: 1.18.1 - is-glob: 4.0.3 - is-plain-obj: 3.0.0 - micromatch: 4.0.5 - transitivePeerDependencies: - - debug - dev: false - - /http-proxy@1.18.1: - resolution: - { - integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==, - } - engines: { node: '>=8.0.0' } - dependencies: - eventemitter3: 4.0.7 - follow-redirects: 1.15.5 - requires-port: 1.0.0 - transitivePeerDependencies: - - debug - dev: false - - /http-signature@1.3.6: - resolution: - { - integrity: sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==, - } - engines: { node: '>=0.10' } - dependencies: - assert-plus: 1.0.0 - jsprim: 2.0.2 - sshpk: 1.18.0 - dev: true - - /http2-wrapper@1.0.3: - resolution: - { - integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==, - } - engines: { node: '>=10.19.0' } - dependencies: - quick-lru: 5.1.1 - resolve-alpn: 1.2.1 - dev: false - - /http2-wrapper@2.2.1: - resolution: - { - integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==, - } - engines: { node: '>=10.19.0' } - dependencies: - quick-lru: 5.1.1 - resolve-alpn: 1.2.1 - dev: false - - /human-signals@1.1.1: - resolution: - { - integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==, - } - engines: { node: '>=8.12.0' } - dev: true - - /human-signals@2.1.0: - resolution: - { - integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==, - } - engines: { node: '>=10.17.0' } - dev: false - - /human-signals@4.3.1: - resolution: - { - integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==, - } - engines: { node: '>=14.18.0' } - dev: false - - /iconv-lite@0.4.24: - resolution: - { - integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==, - } - engines: { node: '>=0.10.0' } - dependencies: - safer-buffer: 2.1.2 - - /iconv-lite@0.6.3: - resolution: - { - integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==, - } - engines: { node: '>=0.10.0' } - dependencies: - safer-buffer: 2.1.2 - dev: true - - /ieee754@1.2.1: - resolution: - { - integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, - } - dev: true - - /ignore@5.3.1: - resolution: - { - integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==, - } - engines: { node: '>= 4' } - dev: true - - /immutable@4.3.5: - resolution: - { - integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==, - } - dev: true - - /import-fresh@3.3.0: - resolution: - { - integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, - } - engines: { node: '>=6' } - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - dev: true - - /import-lazy@4.0.0: - resolution: - { - integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==, - } - engines: { node: '>=8' } - dev: false - - /imurmurhash@0.1.4: - resolution: - { - integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, - } - engines: { node: '>=0.8.19' } - - /indent-string@4.0.0: - resolution: - { - integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==, - } - engines: { node: '>=8' } - dev: true - - /inflight@1.0.6: - resolution: - { - integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, - } - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - - /inherits@2.0.4: - resolution: - { - integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, - } - - /ini@1.3.8: - resolution: - { - integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==, - } - - /ini@2.0.0: - resolution: - { - integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==, - } - engines: { node: '>=10' } - - /inquirer@8.2.6: - resolution: - { - integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==, - } - engines: { node: '>=12.0.0' } - dependencies: - ansi-escapes: 4.3.2 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-width: 3.0.0 - external-editor: 3.1.0 - figures: 3.2.0 - lodash: 4.17.21 - mute-stream: 0.0.8 - ora: 5.4.1 - run-async: 2.4.1 - rxjs: 7.8.1 - string-width: 4.2.3 - strip-ansi: 6.0.1 - through: 2.3.8 - wrap-ansi: 6.2.0 - dev: true - - /ipaddr.js@1.9.1: - resolution: - { - integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==, - } - engines: { node: '>= 0.10' } - - /is-binary-path@2.1.0: - resolution: - { - integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==, - } - engines: { node: '>=8' } - dependencies: - binary-extensions: 2.2.0 - dev: true - - /is-ci@3.0.1: - resolution: - { - integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==, - } - hasBin: true - dependencies: - ci-info: 3.9.0 - - /is-core-module@2.13.1: - resolution: - { - integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==, - } - dependencies: - hasown: 2.0.1 - dev: true - - /is-docker@2.2.1: - resolution: - { - integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==, - } - engines: { node: '>=8' } - hasBin: true - - /is-docker@3.0.0: - resolution: - { - integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - hasBin: true - dev: false - - /is-extglob@2.1.1: - resolution: - { - integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, - } - engines: { node: '>=0.10.0' } - - /is-fullwidth-code-point@3.0.0: - resolution: - { - integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, - } - engines: { node: '>=8' } - - /is-glob@4.0.3: - resolution: - { - integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, - } - engines: { node: '>=0.10.0' } - dependencies: - is-extglob: 2.1.1 - - /is-inside-container@1.0.0: - resolution: - { - integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==, - } - engines: { node: '>=14.16' } - hasBin: true - dependencies: - is-docker: 3.0.0 - dev: false - - /is-installed-globally@0.4.0: - resolution: - { - integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==, - } - engines: { node: '>=10' } - dependencies: - global-dirs: 3.0.1 - is-path-inside: 3.0.3 - - /is-interactive@1.0.0: - resolution: - { - integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==, - } - engines: { node: '>=8' } - dev: true - - /is-npm@6.0.0: - resolution: - { - integrity: sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dev: false - - /is-number@7.0.0: - resolution: - { - integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, - } - engines: { node: '>=0.12.0' } - - /is-obj@2.0.0: - resolution: - { - integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==, - } - engines: { node: '>=8' } - - /is-path-inside@3.0.3: - resolution: - { - integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, - } - engines: { node: '>=8' } - - /is-plain-obj@3.0.0: - resolution: - { - integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==, - } - engines: { node: '>=10' } - dev: false - - /is-plain-object@2.0.4: - resolution: - { - integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==, - } - engines: { node: '>=0.10.0' } - dependencies: - isobject: 3.0.1 - dev: true - - /is-stream@2.0.1: - resolution: - { - integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==, - } - engines: { node: '>=8' } - - /is-stream@3.0.0: - resolution: - { - integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dev: false - - /is-typedarray@1.0.0: - resolution: - { - integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==, - } - - /is-unicode-supported@0.1.0: - resolution: - { - integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==, - } - engines: { node: '>=10' } - dev: true - - /is-wsl@2.2.0: - resolution: - { - integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==, - } - engines: { node: '>=8' } - dependencies: - is-docker: 2.2.1 - - /is-yarn-global@0.4.1: - resolution: - { - integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==, - } - engines: { node: '>=12' } - dev: false - - /isarray@1.0.0: - resolution: - { - integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==, - } - - /isbinaryfile@5.0.2: - resolution: - { - integrity: sha512-GvcjojwonMjWbTkfMpnVHVqXW/wKMYDfEpY94/8zy8HFMOqb/VL6oeONq9v87q4ttVlaTLnGXnJD4B5B1OTGIg==, - } - engines: { node: '>= 18.0.0' } - dev: true - - /isexe@2.0.0: - resolution: - { - integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, - } - - /isobject@3.0.1: - resolution: - { - integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==, - } - engines: { node: '>=0.10.0' } - dev: true - - /isstream@0.1.2: - resolution: - { - integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==, - } - dev: true - - /jackspeak@2.3.6: - resolution: - { - integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==, - } - engines: { node: '>=14' } - dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 - dev: true - - /js-beautify@1.15.1: - resolution: - { - integrity: sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA==, - } - engines: { node: '>=14' } - hasBin: true - dependencies: - config-chain: 1.1.13 - editorconfig: 1.0.4 - glob: 10.3.10 - js-cookie: 3.0.5 - nopt: 7.2.0 - dev: true - - /js-cookie@3.0.5: - resolution: - { - integrity: sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==, - } - engines: { node: '>=14' } - dev: true - - /js-string-escape@1.0.1: - resolution: - { - integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==, - } - engines: { node: '>= 0.8' } - dev: true - - /js-yaml@4.1.0: - resolution: - { - integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, - } - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - - /jsbn@0.1.1: - resolution: - { - integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==, - } - dev: true - - /json-buffer@3.0.1: - resolution: - { - integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, - } - - /json-schema-traverse@0.4.1: - resolution: - { - integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, - } - dev: true - - /json-schema-traverse@1.0.0: - resolution: - { - integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, - } - dev: true - - /json-schema@0.4.0: - resolution: - { - integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==, - } - dev: true - - /json-stable-stringify-without-jsonify@1.0.1: - resolution: - { - integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, - } - dev: true - - /json-stringify-safe@5.0.1: - resolution: - { - integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==, - } - dev: true - - /json5@1.0.2: - resolution: - { - integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==, - } - hasBin: true - dependencies: - minimist: 1.2.8 - dev: true - - /json5@2.2.3: - resolution: - { - integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==, - } - engines: { node: '>=6' } - hasBin: true - dev: true - - /jsonc-eslint-parser@1.4.1: - resolution: - { - integrity: sha512-hXBrvsR1rdjmB2kQmUjf1rEIa+TqHBGMge8pwi++C+Si1ad7EjZrJcpgwym+QGK/pqTx+K7keFAtLlVNdLRJOg==, - } - engines: { node: '>=8.10.0' } - dependencies: - acorn: 7.4.1 - eslint-utils: 2.1.0 - eslint-visitor-keys: 1.3.0 - espree: 6.2.1 - semver: 6.3.1 - dev: true - - /jsonc-parser@3.2.1: - resolution: - { - integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==, - } - dev: true - - /jsonfile@6.1.0: - resolution: - { - integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==, - } - dependencies: - universalify: 2.0.1 - optionalDependencies: - graceful-fs: 4.2.11 - - /jsprim@2.0.2: - resolution: - { - integrity: sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==, - } - engines: { '0': node >=0.6.0 } - dependencies: - assert-plus: 1.0.0 - extsprintf: 1.3.0 - json-schema: 0.4.0 - verror: 1.10.0 - dev: true - - /keyv@4.5.4: - resolution: - { - integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, - } - dependencies: - json-buffer: 3.0.1 - - /kind-of@6.0.3: - resolution: - { - integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==, - } - engines: { node: '>=0.10.0' } - dev: true - - /kolorist@1.8.0: - resolution: - { - integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==, - } - - /latest-version@7.0.0: - resolution: - { - integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==, - } - engines: { node: '>=14.16' } - dependencies: - package-json: 8.1.1 - dev: false - - /lazy-ass@1.6.0: - resolution: - { - integrity: sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==, - } - engines: { node: '> 0.8' } - dev: true - - /lazystream@1.0.1: - resolution: - { - integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==, - } - engines: { node: '>= 0.6.3' } - dependencies: - readable-stream: 2.3.8 - dev: true - - /levn@0.4.1: - resolution: - { - integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, - } - engines: { node: '>= 0.8.0' } - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /lines-and-columns@1.2.4: - resolution: - { - integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==, - } - dev: true - - /listr2@3.14.0(enquirer@2.4.1): - resolution: - { - integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==, - } - engines: { node: '>=10.0.0' } - peerDependencies: - enquirer: '>= 2.3.0 < 3' - peerDependenciesMeta: - enquirer: - optional: true - dependencies: - cli-truncate: 2.1.0 - colorette: 2.0.20 - enquirer: 2.4.1 - log-update: 4.0.0 - p-map: 4.0.0 - rfdc: 1.3.1 - rxjs: 7.8.1 - through: 2.3.8 - wrap-ansi: 7.0.0 - dev: true - - /local-pkg@0.4.3: - resolution: - { - integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==, - } - engines: { node: '>=14' } - dev: true - - /locate-path@6.0.0: - resolution: - { - integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, - } - engines: { node: '>=10' } - dependencies: - p-locate: 5.0.0 - dev: true - - /lodash-es@4.17.21: - resolution: - { - integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==, - } - dev: true - - /lodash.defaults@4.2.0: - resolution: - { - integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==, - } - dev: true - - /lodash.difference@4.5.0: - resolution: - { - integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==, - } - dev: true - - /lodash.flatten@4.4.0: - resolution: - { - integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==, - } - dev: true - - /lodash.isplainobject@4.0.6: - resolution: - { - integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==, - } - dev: true - - /lodash.merge@4.6.2: - resolution: - { - integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, - } - dev: true - - /lodash.once@4.1.1: - resolution: - { - integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==, - } - dev: true - - /lodash.truncate@4.4.2: - resolution: - { - integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==, - } - dev: true - - /lodash.union@4.6.0: - resolution: - { - integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==, - } - dev: true - - /lodash@4.17.21: - resolution: - { - integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==, - } - dev: true - - /log-symbols@4.1.0: - resolution: - { - integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==, - } - engines: { node: '>=10' } - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - dev: true - - /log-update@4.0.0: - resolution: - { - integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==, - } - engines: { node: '>=10' } - dependencies: - ansi-escapes: 4.3.2 - cli-cursor: 3.1.0 - slice-ansi: 4.0.0 - wrap-ansi: 6.2.0 - dev: true - - /loupe@2.3.7: - resolution: - { - integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==, - } - dependencies: - get-func-name: 2.0.2 - dev: true - - /lower-case@1.1.4: - resolution: - { - integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==, - } - dev: true - - /lowercase-keys@2.0.0: - resolution: - { - integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==, - } - engines: { node: '>=8' } - dev: false - - /lowercase-keys@3.0.0: - resolution: - { - integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dev: false - - /lru-cache@10.2.0: - resolution: - { - integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==, - } - engines: { node: 14 || >=16.14 } - dev: true - - /lru-cache@4.0.1: - resolution: - { - integrity: sha512-MX0ZnRoVTWXBiNe9dysqKXjvhmQgHsOirh/2rerIVJ8sbQeMxc5OPj0HDpVV3bYjdE6GTHrPf8BEHJqWHFkjHA==, - } - dependencies: - pseudomap: 1.0.2 - yallist: 2.1.2 - dev: false - - /lru-cache@6.0.0: - resolution: - { - integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, - } - engines: { node: '>=10' } - dependencies: - yallist: 4.0.0 - - /magic-string@0.30.7: - resolution: - { - integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==, - } - engines: { node: '>=12' } - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - - /md5-hex@3.0.1: - resolution: - { - integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==, - } - engines: { node: '>=8' } - dependencies: - blueimp-md5: 2.19.0 - dev: true - - /media-typer@0.3.0: - resolution: - { - integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==, - } - engines: { node: '>= 0.6' } - - /merge-descriptors@1.0.1: - resolution: - { - integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==, - } - - /merge-stream@2.0.0: - resolution: - { - integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, - } - - /merge2@1.4.1: - resolution: - { - integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, - } - engines: { node: '>= 8' } - dev: true - - /methods@1.1.2: - resolution: - { - integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==, - } - engines: { node: '>= 0.6' } - - /micromatch@4.0.5: - resolution: - { - integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==, - } - engines: { node: '>=8.6' } - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 - - /mime-db@1.52.0: - resolution: - { - integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, - } - engines: { node: '>= 0.6' } - - /mime-types@2.1.35: - resolution: - { - integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, - } - engines: { node: '>= 0.6' } - dependencies: - mime-db: 1.52.0 - - /mime@1.6.0: - resolution: - { - integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==, - } - engines: { node: '>=4' } - hasBin: true - - /mimic-fn@2.1.0: - resolution: - { - integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, - } - engines: { node: '>=6' } - - /mimic-fn@4.0.0: - resolution: - { - integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, - } - engines: { node: '>=12' } - dev: false - - /mimic-response@1.0.1: - resolution: - { - integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==, - } - engines: { node: '>=4' } - dev: false - - /mimic-response@3.1.0: - resolution: - { - integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==, - } - engines: { node: '>=10' } - dev: false - - /mimic-response@4.0.0: - resolution: - { - integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dev: false - - /minimatch@3.1.2: - resolution: - { - integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, - } - dependencies: - brace-expansion: 1.1.11 - - /minimatch@5.1.6: - resolution: - { - integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==, - } - engines: { node: '>=10' } - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimatch@9.0.1: - resolution: - { - integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==, - } - engines: { node: '>=16 || 14 >=14.17' } - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimatch@9.0.3: - resolution: - { - integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==, - } - engines: { node: '>=16 || 14 >=14.17' } - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimist@1.2.8: - resolution: - { - integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, - } - - /minipass@7.0.4: - resolution: - { - integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==, - } - engines: { node: '>=16 || 14 >=14.17' } - dev: true - - /mkdirp@0.5.6: - resolution: - { - integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==, - } - hasBin: true - dependencies: - minimist: 1.2.8 - dev: false - - /mlly@1.5.0: - resolution: - { - integrity: sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==, - } - dependencies: - acorn: 8.11.3 - pathe: 1.1.2 - pkg-types: 1.0.3 - ufo: 1.4.0 - dev: true - - /ms@2.0.0: - resolution: - { - integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==, - } - - /ms@2.1.2: - resolution: - { - integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, - } - - /ms@2.1.3: - resolution: - { - integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, - } - - /mute-stream@0.0.8: - resolution: - { - integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==, - } - dev: true - - /mz@2.7.0: - resolution: - { - integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==, - } - dependencies: - any-promise: 1.3.0 - object-assign: 4.1.1 - thenify-all: 1.6.0 - dev: true - - /nanoid@3.3.7: - resolution: - { - integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==, - } - engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } - hasBin: true - - /natural-compare@1.4.0: - resolution: - { - integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, - } - dev: true - - /negotiator@0.6.3: - resolution: - { - integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==, - } - engines: { node: '>= 0.6' } - - /no-case@2.3.2: - resolution: - { - integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==, - } - dependencies: - lower-case: 1.1.4 - dev: true - - /node-forge@1.3.1: - resolution: - { - integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==, - } - engines: { node: '>= 6.13.0' } - dev: false - - /node-releases@2.0.14: - resolution: - { - integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==, - } - dev: true - - /nopt@7.2.0: - resolution: - { - integrity: sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==, - } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } - hasBin: true - dependencies: - abbrev: 2.0.0 - dev: true - - /normalize-path@3.0.0: - resolution: - { - integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==, - } - engines: { node: '>=0.10.0' } - dev: true - - /normalize-range@0.1.2: - resolution: - { - integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==, - } - engines: { node: '>=0.10.0' } - dev: true - - /normalize-url@6.1.0: - resolution: - { - integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==, - } - engines: { node: '>=10' } - dev: false - - /normalize-url@8.0.0: - resolution: - { - integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==, - } - engines: { node: '>=14.16' } - dev: false - - /npm-run-path@4.0.1: - resolution: - { - integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==, - } - engines: { node: '>=8' } - dependencies: - path-key: 3.1.1 - - /npm-run-path@5.2.0: - resolution: - { - integrity: sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dependencies: - path-key: 4.0.0 - dev: false - - /nth-check@2.1.1: - resolution: - { - integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==, - } - dependencies: - boolbase: 1.0.0 - dev: true - - /object-assign@4.1.1: - resolution: - { - integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==, - } - engines: { node: '>=0.10.0' } - - /object-inspect@1.13.1: - resolution: - { - integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==, - } - - /on-finished@2.4.1: - resolution: - { - integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==, - } - engines: { node: '>= 0.8' } - dependencies: - ee-first: 1.1.1 - - /on-headers@1.0.2: - resolution: - { - integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==, - } - engines: { node: '>= 0.8' } - - /once@1.4.0: - resolution: - { - integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, - } - dependencies: - wrappy: 1.0.2 - - /onetime@5.1.2: - resolution: - { - integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==, - } - engines: { node: '>=6' } - dependencies: - mimic-fn: 2.1.0 - - /onetime@6.0.0: - resolution: - { - integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==, - } - engines: { node: '>=12' } - dependencies: - mimic-fn: 4.0.0 - dev: false - - /open@8.4.2: - resolution: - { - integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==, - } - engines: { node: '>=12' } - dependencies: - define-lazy-prop: 2.0.0 - is-docker: 2.2.1 - is-wsl: 2.2.0 - dev: true - - /open@9.1.0: - resolution: - { - integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==, - } - engines: { node: '>=14.16' } - dependencies: - default-browser: 4.0.0 - define-lazy-prop: 3.0.0 - is-inside-container: 1.0.0 - is-wsl: 2.2.0 - dev: false - - /optionator@0.9.3: - resolution: - { - integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==, - } - engines: { node: '>= 0.8.0' } - dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /ora@5.4.1: - resolution: - { - integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==, - } - engines: { node: '>=10' } - dependencies: - bl: 4.1.0 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.9.2 - is-interactive: 1.0.0 - is-unicode-supported: 0.1.0 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - dev: true - - /os-tmpdir@1.0.2: - resolution: - { - integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==, - } - engines: { node: '>=0.10.0' } - - /ospath@1.2.2: - resolution: - { - integrity: sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==, - } - dev: true - - /p-cancelable@2.1.1: - resolution: - { - integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==, - } - engines: { node: '>=8' } - dev: false - - /p-cancelable@3.0.0: - resolution: - { - integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==, - } - engines: { node: '>=12.20' } - dev: false - - /p-limit@3.1.0: - resolution: - { - integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, - } - engines: { node: '>=10' } - dependencies: - yocto-queue: 0.1.0 - dev: true - - /p-limit@4.0.0: - resolution: - { - integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dependencies: - yocto-queue: 1.0.0 - dev: true - - /p-locate@5.0.0: - resolution: - { - integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, - } - engines: { node: '>=10' } - dependencies: - p-limit: 3.1.0 - dev: true - - /p-map@4.0.0: - resolution: - { - integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==, - } - engines: { node: '>=10' } - dependencies: - aggregate-error: 3.1.0 - dev: true - - /package-json@8.1.1: - resolution: - { - integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==, - } - engines: { node: '>=14.16' } - dependencies: - got: 12.6.1 - registry-auth-token: 5.0.2 - registry-url: 6.0.1 - semver: 7.6.0 - dev: false - - /param-case@2.1.1: - resolution: - { - integrity: sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==, - } - dependencies: - no-case: 2.3.2 - dev: true - - /parent-module@1.0.1: - resolution: - { - integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, - } - engines: { node: '>=6' } - dependencies: - callsites: 3.1.0 - dev: true - - /parseurl@1.3.3: - resolution: - { - integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==, - } - engines: { node: '>= 0.8' } - - /path-exists@4.0.0: - resolution: - { - integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, - } - engines: { node: '>=8' } - dev: true - - /path-is-absolute@1.0.1: - resolution: - { - integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, - } - engines: { node: '>=0.10.0' } - - /path-key@3.1.1: - resolution: - { - integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, - } - engines: { node: '>=8' } - - /path-key@4.0.0: - resolution: - { - integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, - } - engines: { node: '>=12' } - dev: false - - /path-parse@1.0.7: - resolution: - { - integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, - } - dev: true - - /path-scurry@1.10.1: - resolution: - { - integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==, - } - engines: { node: '>=16 || 14 >=14.17' } - dependencies: - lru-cache: 10.2.0 - minipass: 7.0.4 - dev: true - - /path-to-regexp@0.1.7: - resolution: - { - integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==, - } - - /pathe@1.1.2: - resolution: - { - integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==, - } - dev: true - - /pathval@1.1.1: - resolution: - { - integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==, - } - dev: true - - /pend@1.2.0: - resolution: - { - integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==, - } - - /performance-now@2.1.0: - resolution: - { - integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==, - } - dev: true - - /picocolors@1.0.0: - resolution: - { - integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, - } - - /picomatch@2.3.1: - resolution: - { - integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, - } - engines: { node: '>=8.6' } - - /pify@2.3.0: - resolution: - { - integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==, - } - engines: { node: '>=0.10.0' } - dev: true - - /pinia@2.1.7(vue@3.4.19): - resolution: - { - integrity: sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==, - } - peerDependencies: - '@vue/composition-api': ^1.4.0 - typescript: '>=4.4.4' - vue: ^2.6.14 || ^3.3.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - typescript: - optional: true - dependencies: - '@vue/devtools-api': 6.6.1 - vue: 3.4.19 - vue-demi: 0.14.7(vue@3.4.19) - - /pirates@4.0.6: - resolution: - { - integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==, - } - engines: { node: '>= 6' } - dev: true - - /pkg-types@1.0.3: - resolution: - { - integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==, - } - dependencies: - jsonc-parser: 3.2.1 - mlly: 1.5.0 - pathe: 1.1.2 - dev: true - - /postcss-selector-parser@6.0.15: - resolution: - { - integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==, - } - engines: { node: '>=4' } - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - dev: true - - /postcss-value-parser@4.2.0: - resolution: - { - integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==, - } - dev: true - - /postcss@8.4.35: - resolution: - { - integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==, - } - engines: { node: ^10 || ^12 || >=14 } - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - - /prelude-ls@1.2.1: - resolution: - { - integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, - } - engines: { node: '>= 0.8.0' } - dev: true - - /prettier@2.8.8: - resolution: - { - integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==, - } - engines: { node: '>=10.13.0' } - hasBin: true - dev: true - - /pretty-bytes@5.6.0: - resolution: - { - integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==, - } - engines: { node: '>=6' } - dev: true - - /pretty-format@27.5.1: - resolution: - { - integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==, - } - engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } - dependencies: - ansi-regex: 5.0.1 - ansi-styles: 5.2.0 - react-is: 17.0.2 - dev: true - - /process-nextick-args@2.0.1: - resolution: - { - integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==, - } - - /process@0.11.10: - resolution: - { - integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==, - } - engines: { node: '>= 0.6.0' } - dev: true - - /progress@2.0.3: - resolution: - { - integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==, - } - engines: { node: '>=0.4.0' } - dev: false - - /proto-list@1.2.4: - resolution: - { - integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==, - } - - /proxy-addr@2.0.7: - resolution: - { - integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==, - } - engines: { node: '>= 0.10' } - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - - /proxy-from-env@1.0.0: - resolution: - { - integrity: sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==, - } - dev: true - - /proxy-from-env@1.1.0: - resolution: - { - integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==, - } - dev: false - - /pseudomap@1.0.2: - resolution: - { - integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==, - } - dev: false - - /psl@1.9.0: - resolution: - { - integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==, - } - dev: true - - /pump@3.0.0: - resolution: - { - integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==, - } - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - - /punycode@2.3.1: - resolution: - { - integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, - } - engines: { node: '>=6' } - dev: true - - /pupa@3.1.0: - resolution: - { - integrity: sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==, - } - engines: { node: '>=12.20' } - dependencies: - escape-goat: 4.0.0 - dev: false - - /qs@6.10.4: - resolution: - { - integrity: sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==, - } - engines: { node: '>=0.6' } - dependencies: - side-channel: 1.0.5 - dev: true - - /qs@6.11.0: - resolution: - { - integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==, - } - engines: { node: '>=0.6' } - dependencies: - side-channel: 1.0.5 - - /quasar@2.14.5: - resolution: - { - integrity: sha512-N+iRYoby09P9l+R5nKfA0tCPXdXJJHCPifjP8CkL/JASX5yHEjuwh7KoNiWzYLZPbsYXVuQKqwtDy0qXuXTv2g==, - } - engines: { node: '>= 10.18.1', npm: '>= 6.13.4', yarn: '>= 1.21.1' } - - /querystringify@2.2.0: - resolution: - { - integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==, - } - dev: true - - /queue-microtask@1.2.3: - resolution: - { - integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, - } - dev: true - - /quick-lru@5.1.1: - resolution: - { - integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==, - } - engines: { node: '>=10' } - dev: false - - /randombytes@2.1.0: - resolution: - { - integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==, - } - dependencies: - safe-buffer: 5.2.1 - dev: true - - /range-parser@1.2.1: - resolution: - { - integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==, - } - engines: { node: '>= 0.6' } - - /raw-body@2.5.1: - resolution: - { - integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==, - } - engines: { node: '>= 0.8' } - dependencies: - bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - unpipe: 1.0.0 - - /rc@1.2.8: - resolution: - { - integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==, - } - hasBin: true - dependencies: - deep-extend: 0.6.0 - ini: 1.3.8 - minimist: 1.2.8 - strip-json-comments: 2.0.1 - dev: false - - /react-is@17.0.2: - resolution: - { - integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==, - } - dev: true - - /readable-stream@2.3.8: - resolution: - { - integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==, - } - dependencies: - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 1.0.0 - process-nextick-args: 2.0.1 - safe-buffer: 5.1.2 - string_decoder: 1.1.1 - util-deprecate: 1.0.2 - - /readable-stream@3.6.2: - resolution: - { - integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==, - } - engines: { node: '>= 6' } - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - dev: true - - /readdir-glob@1.1.3: - resolution: - { - integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==, - } - dependencies: - minimatch: 5.1.6 - dev: true - - /readdirp@3.6.0: - resolution: - { - integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==, - } - engines: { node: '>=8.10.0' } - dependencies: - picomatch: 2.3.1 - dev: true - - /recrawl-sync@2.2.3: - resolution: - { - integrity: sha512-vSaTR9t+cpxlskkdUFrsEpnf67kSmPk66yAGT1fZPrDudxQjoMzPgQhSMImQ0pAw5k0NPirefQfhopSjhdUtpQ==, - } - dependencies: - '@cush/relative': 1.0.0 - glob-regex: 0.3.2 - slash: 3.0.0 - sucrase: 3.35.0 - tslib: 1.14.1 - dev: true - - /register-service-worker@1.7.2: - resolution: - { - integrity: sha512-CiD3ZSanZqcMPRhtfct5K9f7i3OLCcBBWsJjLh1gW9RO/nS94sVzY59iS+fgYBOBqaBpf4EzfqUF3j9IG+xo8A==, - } - dev: true - - /registry-auth-token@5.0.2: - resolution: - { - integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==, - } - engines: { node: '>=14' } - dependencies: - '@pnpm/npm-conf': 2.2.2 - dev: false - - /registry-url@6.0.1: - resolution: - { - integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==, - } - engines: { node: '>=12' } - dependencies: - rc: 1.2.8 - dev: false - - /relateurl@0.2.7: - resolution: - { - integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==, - } - engines: { node: '>= 0.10' } - dev: true - - /request-progress@3.0.0: - resolution: - { - integrity: sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==, - } - dependencies: - throttleit: 1.0.1 - dev: true - - /require-directory@2.1.1: - resolution: - { - integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==, - } - engines: { node: '>=0.10.0' } - dev: true - - /require-from-string@2.0.2: - resolution: - { - integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, - } - engines: { node: '>=0.10.0' } - dev: true - - /requires-port@1.0.0: - resolution: - { - integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==, - } - - /resolve-alpn@1.2.1: - resolution: - { - integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==, - } - dev: false - - /resolve-from@4.0.0: - resolution: - { - integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, - } - engines: { node: '>=4' } - dev: true - - /resolve@1.22.8: - resolution: - { - integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==, - } - hasBin: true - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - - /responselike@2.0.1: - resolution: - { - integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==, - } - dependencies: - lowercase-keys: 2.0.0 - dev: false - - /responselike@3.0.0: - resolution: - { - integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==, - } - engines: { node: '>=14.16' } - dependencies: - lowercase-keys: 3.0.0 - dev: false - - /restore-cursor@3.1.0: - resolution: - { - integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==, - } - engines: { node: '>=8' } - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - dev: true - - /reusify@1.0.4: - resolution: - { - integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, - } - engines: { iojs: '>=1.0.0', node: '>=0.10.0' } - dev: true - - /rfdc@1.3.1: - resolution: - { - integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==, - } - dev: true - - /rimraf@2.7.1: - resolution: - { - integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==, - } - hasBin: true - dependencies: - glob: 7.2.3 - dev: false - - /rimraf@3.0.2: - resolution: - { - integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, - } - hasBin: true - dependencies: - glob: 7.2.3 - dev: true - - /rollup-plugin-visualizer@5.12.0: - resolution: - { - integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==, - } - engines: { node: '>=14' } - hasBin: true - peerDependencies: - rollup: 2.x || 3.x || 4.x - peerDependenciesMeta: - rollup: - optional: true - dependencies: - open: 8.4.2 - picomatch: 2.3.1 - source-map: 0.7.4 - yargs: 17.7.2 - dev: true - - /rollup@2.77.3: - resolution: - { - integrity: sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g==, - } - engines: { node: '>=10.0.0' } - hasBin: true - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /rollup@3.29.4: - resolution: - { - integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==, - } - engines: { node: '>=14.18.0', npm: '>=8.0.0' } - hasBin: true - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /rollup@4.12.0: - resolution: - { - integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==, - } - engines: { node: '>=18.0.0', npm: '>=8.0.0' } - hasBin: true - dependencies: - '@types/estree': 1.0.5 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.12.0 - '@rollup/rollup-android-arm64': 4.12.0 - '@rollup/rollup-darwin-arm64': 4.12.0 - '@rollup/rollup-darwin-x64': 4.12.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.12.0 - '@rollup/rollup-linux-arm64-gnu': 4.12.0 - '@rollup/rollup-linux-arm64-musl': 4.12.0 - '@rollup/rollup-linux-riscv64-gnu': 4.12.0 - '@rollup/rollup-linux-x64-gnu': 4.12.0 - '@rollup/rollup-linux-x64-musl': 4.12.0 - '@rollup/rollup-win32-arm64-msvc': 4.12.0 - '@rollup/rollup-win32-ia32-msvc': 4.12.0 - '@rollup/rollup-win32-x64-msvc': 4.12.0 - fsevents: 2.3.3 - dev: true - - /route-cache@0.5.0: - resolution: - { - integrity: sha512-7FzV+1O4q7XeerbyG8aEeDH+1bk/Vxp2sDJdEZE0KcbTP0C6IucKSQUCTwB3F0IkhpF4rYluLLENEfUQ6LH/ng==, - } - dependencies: - debug: 3.1.0 - lru-cache: 4.0.1 - transitivePeerDependencies: - - supports-color - dev: false - - /run-applescript@5.0.0: - resolution: - { - integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==, - } - engines: { node: '>=12' } - dependencies: - execa: 5.1.1 - dev: false - - /run-async@2.4.1: - resolution: - { - integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==, - } - engines: { node: '>=0.12.0' } - dev: true - - /run-parallel@1.2.0: - resolution: - { - integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, - } - dependencies: - queue-microtask: 1.2.3 - dev: true - - /rxjs@7.8.1: - resolution: - { - integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==, - } - dependencies: - tslib: 2.6.2 - dev: true - - /safe-buffer@5.1.2: - resolution: - { - integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==, - } - - /safe-buffer@5.2.1: - resolution: - { - integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, - } - - /safer-buffer@2.1.2: - resolution: - { - integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==, - } - - /sass@1.71.1: - resolution: - { - integrity: sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==, - } - engines: { node: '>=14.0.0' } - hasBin: true - dependencies: - chokidar: 3.6.0 - immutable: 4.3.5 - source-map-js: 1.0.2 - dev: true - - /sax@1.1.4: - resolution: - { - integrity: sha512-5f3k2PbGGp+YtKJjOItpg3P99IMD84E4HOvcfleTb5joCHNXYLsR9yWFPOYGgaeMPDubQILTCMdsFb2OMeOjtg==, - } - dev: true - - /selfsigned@2.4.1: - resolution: - { - integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==, - } - engines: { node: '>=10' } - dependencies: - '@types/node-forge': 1.3.11 - node-forge: 1.3.1 - dev: false - - /semver-diff@4.0.0: - resolution: - { - integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==, - } - engines: { node: '>=12' } - dependencies: - semver: 7.6.0 - dev: false - - /semver@6.3.1: - resolution: - { - integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==, - } - hasBin: true - dev: true - - /semver@7.6.0: - resolution: - { - integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==, - } - engines: { node: '>=10' } - hasBin: true - dependencies: - lru-cache: 6.0.0 - - /send@0.18.0: - resolution: - { - integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==, - } - engines: { node: '>= 0.8.0' } - dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 2.0.0 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color - - /serialize-javascript@6.0.2: - resolution: - { - integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==, - } - dependencies: - randombytes: 2.1.0 - dev: true - - /serve-static@1.15.0: - resolution: - { - integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==, - } - engines: { node: '>= 0.8.0' } - dependencies: - encodeurl: 1.0.2 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.18.0 - transitivePeerDependencies: - - supports-color - - /set-function-length@1.2.1: - resolution: - { - integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==, - } - engines: { node: '>= 0.4' } - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - gopd: 1.0.1 - has-property-descriptors: 1.0.2 - - /setprototypeof@1.2.0: - resolution: - { - integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==, - } - - /shallow-clone@3.0.1: - resolution: - { - integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==, - } - engines: { node: '>=8' } - dependencies: - kind-of: 6.0.3 - dev: true - - /shebang-command@2.0.0: - resolution: - { - integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, - } - engines: { node: '>=8' } - dependencies: - shebang-regex: 3.0.0 - - /shebang-regex@3.0.0: - resolution: - { - integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, - } - engines: { node: '>=8' } - - /side-channel@1.0.5: - resolution: - { - integrity: sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==, - } - engines: { node: '>= 0.4' } - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - object-inspect: 1.13.1 - - /siginfo@2.0.0: - resolution: - { - integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==, - } - dev: true - - /signal-exit@3.0.7: - resolution: - { - integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, - } - - /signal-exit@4.1.0: - resolution: - { - integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, - } - engines: { node: '>=14' } - dev: true - - /slash@3.0.0: - resolution: - { - integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==, - } - engines: { node: '>=8' } - dev: true - - /slice-ansi@3.0.0: - resolution: - { - integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==, - } - engines: { node: '>=8' } - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - dev: true - - /slice-ansi@4.0.0: - resolution: - { - integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==, - } - engines: { node: '>=10' } - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - dev: true - - /source-map-js@1.0.2: - resolution: - { - integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==, - } - engines: { node: '>=0.10.0' } - - /source-map@0.6.1: - resolution: - { - integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, - } - engines: { node: '>=0.10.0' } - dev: true - - /source-map@0.7.4: - resolution: - { - integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==, - } - engines: { node: '>= 8' } - dev: true - - /sshpk@1.18.0: - resolution: - { - integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==, - } - engines: { node: '>=0.10.0' } - hasBin: true - dependencies: - asn1: 0.2.6 - assert-plus: 1.0.0 - bcrypt-pbkdf: 1.0.2 - dashdash: 1.14.1 - ecc-jsbn: 0.1.2 - getpass: 0.1.7 - jsbn: 0.1.1 - safer-buffer: 2.1.2 - tweetnacl: 0.14.5 - dev: true - - /stack-trace@1.0.0-pre2: - resolution: - { - integrity: sha512-2ztBJRek8IVofG9DBJqdy2N5kulaacX30Nz7xmkYF6ale9WBVmIy6mFBchvGX7Vx/MyjBhx+Rcxqrj+dbOnQ6A==, - } - engines: { node: '>=16' } - dev: true - - /stackback@0.0.2: - resolution: - { - integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, - } - dev: true - - /statuses@2.0.1: - resolution: - { - integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==, - } - engines: { node: '>= 0.8' } - - /std-env@3.7.0: - resolution: - { - integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==, - } - dev: true - - /string-width@4.2.3: - resolution: - { - integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, - } - engines: { node: '>=8' } - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - - /string-width@5.1.2: - resolution: - { - integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==, - } - engines: { node: '>=12' } - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.0 - - /string_decoder@1.1.1: - resolution: - { - integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==, - } - dependencies: - safe-buffer: 5.1.2 - - /string_decoder@1.3.0: - resolution: - { - integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, - } - dependencies: - safe-buffer: 5.2.1 - dev: true - - /strip-ansi@6.0.1: - resolution: - { - integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, - } - engines: { node: '>=8' } - dependencies: - ansi-regex: 5.0.1 - - /strip-ansi@7.1.0: - resolution: - { - integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==, - } - engines: { node: '>=12' } - dependencies: - ansi-regex: 6.0.1 - - /strip-bom@3.0.0: - resolution: - { - integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==, - } - engines: { node: '>=4' } - dev: true - - /strip-final-newline@2.0.0: - resolution: - { - integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==, - } - engines: { node: '>=6' } - - /strip-final-newline@3.0.0: - resolution: - { - integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, - } - engines: { node: '>=12' } - dev: false - - /strip-json-comments@2.0.1: - resolution: - { - integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==, - } - engines: { node: '>=0.10.0' } - dev: false - - /strip-json-comments@3.1.1: - resolution: - { - integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, - } - engines: { node: '>=8' } - dev: true - - /strip-literal@1.3.0: - resolution: - { - integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==, - } - dependencies: - acorn: 8.11.3 - dev: true - - /sucrase@3.35.0: - resolution: - { - integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==, - } - engines: { node: '>=16 || 14 >=14.17' } - hasBin: true - dependencies: - '@jridgewell/gen-mapping': 0.3.3 - commander: 4.1.1 - glob: 10.3.10 - lines-and-columns: 1.2.4 - mz: 2.7.0 - pirates: 4.0.6 - ts-interface-checker: 0.1.13 - dev: true - - /supports-color@7.2.0: - resolution: - { - integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, - } - engines: { node: '>=8' } - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-color@8.1.1: - resolution: - { - integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==, - } - engines: { node: '>=10' } - dependencies: - has-flag: 4.0.0 - - /supports-preserve-symlinks-flag@1.0.0: - resolution: - { - integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, - } - engines: { node: '>= 0.4' } - dev: true - - /table@6.8.1: - resolution: - { - integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==, - } - engines: { node: '>=10.0.0' } - dependencies: - ajv: 8.12.0 - lodash.truncate: 4.4.2 - slice-ansi: 4.0.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - - /tar-stream@2.2.0: - resolution: - { - integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==, - } - engines: { node: '>=6' } - dependencies: - bl: 4.1.0 - end-of-stream: 1.4.4 - fs-constants: 1.0.0 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: true - - /text-table@0.2.0: - resolution: - { - integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, - } - dev: true - - /thenify-all@1.6.0: - resolution: - { - integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==, - } - engines: { node: '>=0.8' } - dependencies: - thenify: 3.3.1 - dev: true - - /thenify@3.3.1: - resolution: - { - integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==, - } - dependencies: - any-promise: 1.3.0 - dev: true - - /throttleit@1.0.1: - resolution: - { - integrity: sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==, - } - dev: true - - /through@2.3.8: - resolution: - { - integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==, - } - dev: true - - /time-zone@1.0.0: - resolution: - { - integrity: sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==, - } - engines: { node: '>=4' } - dev: true - - /tinybench@2.6.0: - resolution: - { - integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==, - } - dev: true - - /tinypool@0.5.0: - resolution: - { - integrity: sha512-paHQtnrlS1QZYKF/GnLoOM/DN9fqaGOFbCbxzAhwniySnzl9Ebk8w73/dd34DAhe/obUbPAOldTyYXQZxnPBPQ==, - } - engines: { node: '>=14.0.0' } - dev: true - - /tinyspy@2.2.1: - resolution: - { - integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==, - } - engines: { node: '>=14.0.0' } - dev: true - - /titleize@3.0.0: - resolution: - { - integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==, - } - engines: { node: '>=12' } - dev: false - - /tmp@0.0.33: - resolution: - { - integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==, - } - engines: { node: '>=0.6.0' } - dependencies: - os-tmpdir: 1.0.2 - - /tmp@0.2.1: - resolution: - { - integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==, - } - engines: { node: '>=8.17.0' } - dependencies: - rimraf: 3.0.2 - dev: true - - /to-fast-properties@2.0.0: - resolution: - { - integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, - } - engines: { node: '>=4' } - - /to-regex-range@5.0.1: - resolution: - { - integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, - } - engines: { node: '>=8.0' } - dependencies: - is-number: 7.0.0 - - /toidentifier@1.0.1: - resolution: - { - integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==, - } - engines: { node: '>=0.6' } - - /tough-cookie@4.1.3: - resolution: - { - integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==, - } - engines: { node: '>=6' } - dependencies: - psl: 1.9.0 - punycode: 2.3.1 - universalify: 0.2.0 - url-parse: 1.5.10 - dev: true - - /ts-interface-checker@0.1.13: - resolution: - { - integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==, - } - dev: true - - /tsconfck@3.0.2: - resolution: - { - integrity: sha512-6lWtFjwuhS3XI4HsX4Zg0izOI3FU/AI9EGVlPEUMDIhvLPMD4wkiof0WCoDgW7qY+Dy198g4d9miAqUHWHFH6Q==, - } - engines: { node: ^18 || >=20 } - hasBin: true - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - dev: true - - /tsconfig-paths@3.15.0: - resolution: - { - integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==, - } - dependencies: - '@types/json5': 0.0.29 - json5: 1.0.2 - minimist: 1.2.8 - strip-bom: 3.0.0 - dev: true - - /tslib@1.14.1: - resolution: - { - integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==, - } - dev: true - - /tslib@2.6.2: - resolution: - { - integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==, - } - dev: true - - /tunnel-agent@0.6.0: - resolution: - { - integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==, - } - dependencies: - safe-buffer: 5.2.1 - dev: true - - /tunnel@0.0.6: - resolution: - { - integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==, - } - engines: { node: '>=0.6.11 <=0.7.0 || >=0.7.3' } - dev: false - - /tweetnacl@0.14.5: - resolution: - { - integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==, - } - dev: true - - /type-check@0.4.0: - resolution: - { - integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, - } - engines: { node: '>= 0.8.0' } - dependencies: - prelude-ls: 1.2.1 - dev: true - - /type-detect@4.0.8: - resolution: - { - integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==, - } - engines: { node: '>=4' } - dev: true - - /type-fest@0.20.2: - resolution: - { - integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, - } - engines: { node: '>=10' } - dev: true - - /type-fest@0.21.3: - resolution: - { - integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==, - } - engines: { node: '>=10' } - dev: true - - /type-fest@1.4.0: - resolution: - { - integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==, - } - engines: { node: '>=10' } - dev: false - - /type-fest@2.19.0: - resolution: - { - integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==, - } - engines: { node: '>=12.20' } - dev: false - - /type-is@1.6.18: - resolution: - { - integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==, - } - engines: { node: '>= 0.6' } - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - - /typedarray-to-buffer@3.1.5: - resolution: - { - integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==, - } - dependencies: - is-typedarray: 1.0.0 - dev: false - - /typedarray@0.0.6: - resolution: - { - integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==, - } - dev: false - - /ufo@1.4.0: - resolution: - { - integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==, - } - dev: true - - /uglify-js@3.17.4: - resolution: - { - integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==, - } - engines: { node: '>=0.8.0' } - hasBin: true - dev: true - - /undici-types@5.26.5: - resolution: - { - integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==, - } - - /unique-string@3.0.0: - resolution: - { - integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==, - } - engines: { node: '>=12' } - dependencies: - crypto-random-string: 4.0.0 - dev: false - - /universalify@0.2.0: - resolution: - { - integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==, - } - engines: { node: '>= 4.0.0' } - dev: true - - /universalify@2.0.1: - resolution: - { - integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==, - } - engines: { node: '>= 10.0.0' } - - /unpipe@1.0.0: - resolution: - { - integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==, - } - engines: { node: '>= 0.8' } - - /unplugin@1.7.1: - resolution: - { - integrity: sha512-JqzORDAPxxs8ErLV4x+LL7bk5pk3YlcWqpSNsIkAZj972KzFZLClc/ekppahKkOczGkwIG6ElFgdOgOlK4tXZw==, - } - dependencies: - acorn: 8.11.3 - chokidar: 3.6.0 - webpack-sources: 3.2.3 - webpack-virtual-modules: 0.6.1 - dev: true - - /untildify@4.0.0: - resolution: - { - integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==, - } - engines: { node: '>=8' } - - /update-browserslist-db@1.0.13(browserslist@4.23.0): - resolution: - { - integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==, - } - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - dependencies: - browserslist: 4.23.0 - escalade: 3.1.2 - picocolors: 1.0.0 - dev: true - - /update-notifier@6.0.2: - resolution: - { - integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==, - } - engines: { node: '>=14.16' } - dependencies: - boxen: 7.1.1 - chalk: 5.3.0 - configstore: 6.0.0 - has-yarn: 3.0.0 - import-lazy: 4.0.0 - is-ci: 3.0.1 - is-installed-globally: 0.4.0 - is-npm: 6.0.0 - is-yarn-global: 0.4.1 - latest-version: 7.0.0 - pupa: 3.1.0 - semver: 7.6.0 - semver-diff: 4.0.0 - xdg-basedir: 5.1.0 - dev: false - - /upper-case@1.1.3: - resolution: - { - integrity: sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==, - } - dev: true - - /uri-js@4.4.1: - resolution: - { - integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, - } - dependencies: - punycode: 2.3.1 - dev: true - - /url-parse@1.5.10: - resolution: - { - integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==, - } - dependencies: - querystringify: 2.2.0 - requires-port: 1.0.0 - dev: true - - /util-deprecate@1.0.2: - resolution: - { - integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, - } - - /utils-merge@1.0.1: - resolution: - { - integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==, - } - engines: { node: '>= 0.4.0' } - - /uuid@8.3.2: - resolution: - { - integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==, - } - hasBin: true - dev: true - - /validator@13.11.0: - resolution: - { - integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==, - } - engines: { node: '>= 0.10' } - dev: false - - /vary@1.1.2: - resolution: - { - integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, - } - engines: { node: '>= 0.8' } - - /verror@1.10.0: - resolution: - { - integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==, - } - engines: { '0': node >=0.6.0 } - dependencies: - assert-plus: 1.0.0 - core-util-is: 1.0.2 - extsprintf: 1.3.0 - dev: true - - /vite-jsconfig-paths@2.0.1(vite@5.1.4): - resolution: - { - integrity: sha512-rabcTTfKs0MdAsQWcZjbIMo5fcp6jthZce7uFEPgVPgpSY+RNOwjzIJOPES6cB/GJZLSoLGfHM9kt5HNmJvp7A==, - } - peerDependencies: - vite: '>2.0.0-0' - dependencies: - debug: 4.3.4(supports-color@8.1.1) - globrex: 0.1.2 - recrawl-sync: 2.2.3 - tsconfig-paths: 3.15.0 - vite: 5.1.4 - transitivePeerDependencies: - - supports-color - dev: true - - /vite-node@0.31.4(@types/node@20.11.19): - resolution: - { - integrity: sha512-uzL377GjJtTbuc5KQxVbDu2xfU/x0wVjUtXQR2ihS21q/NK6ROr4oG0rsSkBBddZUVCwzfx22in76/0ZZHXgkQ==, - } - engines: { node: '>=v14.18.0' } - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4(supports-color@8.1.1) - mlly: 1.5.0 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 4.5.2(@types/node@20.11.19) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vite-tsconfig-paths@4.3.1(vite@5.1.4): - resolution: - { - integrity: sha512-cfgJwcGOsIxXOLU/nELPny2/LUD/lcf1IbfyeKTv2bsupVbTH/xpFtdQlBmIP1GEK2CjjLxYhFfB+QODFAx5aw==, - } - peerDependencies: - vite: '*' - peerDependenciesMeta: - vite: - optional: true - dependencies: - debug: 4.3.4(supports-color@8.1.1) - globrex: 0.1.2 - tsconfck: 3.0.2 - vite: 5.1.4 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - - /vite@2.9.17(sass@1.71.1): - resolution: - { - integrity: sha512-XxcRzra6d7xrKXH66jZUgb+srThoPu+TLJc06GifUyKq9JmjHkc1Numc8ra0h56rju2jfVWw3B3fs5l3OFMvUw==, - } - engines: { node: '>=12.2.0' } - hasBin: true - peerDependencies: - less: '*' - sass: '*' - stylus: '*' - peerDependenciesMeta: - less: - optional: true - sass: - optional: true - stylus: - optional: true - dependencies: - esbuild: 0.14.51 - postcss: 8.4.35 - resolve: 1.22.8 - rollup: 2.77.3 - sass: 1.71.1 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /vite@4.5.2(@types/node@20.11.19): - resolution: - { - integrity: sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==, - } - engines: { node: ^14.18.0 || >=16.0.0 } - hasBin: true - peerDependencies: - '@types/node': '>= 14' - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 20.11.19 - esbuild: 0.18.20 - postcss: 8.4.35 - rollup: 3.29.4 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /vite@5.1.4: - resolution: - { - integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==, - } - engines: { node: ^18.0.0 || >=20.0.0 } - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - esbuild: 0.19.12 - postcss: 8.4.35 - rollup: 4.12.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /vitest@0.31.4: - resolution: - { - integrity: sha512-GoV0VQPmWrUFOZSg3RpQAPN+LPmHg2/gxlMNJlyxJihkz6qReHDV6b0pPDcqFLNEPya4tWJ1pgwUNP9MLmUfvQ==, - } - engines: { node: '>=v14.18.0' } - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@vitest/browser': '*' - '@vitest/ui': '*' - happy-dom: '*' - jsdom: '*' - playwright: '*' - safaridriver: '*' - webdriverio: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true - playwright: - optional: true - safaridriver: - optional: true - webdriverio: - optional: true - dependencies: - '@types/chai': 4.3.12 - '@types/chai-subset': 1.3.5 - '@types/node': 20.11.19 - '@vitest/expect': 0.31.4 - '@vitest/runner': 0.31.4 - '@vitest/snapshot': 0.31.4 - '@vitest/spy': 0.31.4 - '@vitest/utils': 0.31.4 - acorn: 8.11.3 - acorn-walk: 8.3.2 - cac: 6.7.14 - chai: 4.4.1 - concordance: 5.0.4 - debug: 4.3.4(supports-color@8.1.1) - local-pkg: 0.4.3 - magic-string: 0.30.7 - pathe: 1.1.2 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 1.3.0 - tinybench: 2.6.0 - tinypool: 0.5.0 - vite: 4.5.2(@types/node@20.11.19) - vite-node: 0.31.4(@types/node@20.11.19) - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vue-component-type-helpers@1.8.27: - resolution: - { - integrity: sha512-0vOfAtI67UjeO1G6UiX5Kd76CqaQ67wrRZiOe7UAb9Jm6GzlUr/fC7CV90XfwapJRjpCMaZFhv1V0ajWRmE9Dg==, - } - dev: true - - /vue-demi@0.14.7(vue@3.4.19): - resolution: - { - integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==, - } - engines: { node: '>=12' } - hasBin: true - requiresBuild: true - peerDependencies: - '@vue/composition-api': ^1.0.0-rc.1 - vue: ^3.0.0-0 || ^2.6.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - dependencies: - vue: 3.4.19 - - /vue-eslint-parser@9.4.2(eslint@8.56.0): - resolution: - { - integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==, - } - engines: { node: ^14.17.0 || >=16.0.0 } - peerDependencies: - eslint: '>=6.0.0' - dependencies: - debug: 4.3.4(supports-color@8.1.1) - eslint: 8.56.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - lodash: 4.17.21 - semver: 7.6.0 - transitivePeerDependencies: - - supports-color - dev: true - - /vue-i18n@9.9.1(vue@3.4.19): - resolution: - { - integrity: sha512-xyQ4VspLdNSPTKBFBPWa1tvtj+9HuockZwgFeD2OhxxXuC2CWeNvV4seu2o9+vbQOyQbhAM5Ez56oxUrrnTWdw==, - } - engines: { node: '>= 16' } - peerDependencies: - vue: ^3.0.0 - dependencies: - '@intlify/core-base': 9.9.1 - '@intlify/shared': 9.9.1 - '@vue/devtools-api': 6.6.1 - vue: 3.4.19 - - /vue-router@4.2.5(vue@3.4.19): - resolution: - { - integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==, - } - peerDependencies: - vue: ^3.2.0 - dependencies: - '@vue/devtools-api': 6.6.1 - vue: 3.4.19 - - /vue@3.4.19: - resolution: - { - integrity: sha512-W/7Fc9KUkajFU8dBeDluM4sRGc/aa4YJnOYck8dkjgZoXtVsn3OeTGni66FV1l3+nvPA7VBFYtPioaGKUmEADw==, - } - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@vue/compiler-dom': 3.4.19 - '@vue/compiler-sfc': 3.4.19 - '@vue/runtime-dom': 3.4.19 - '@vue/server-renderer': 3.4.19(vue@3.4.19) - '@vue/shared': 3.4.19 - - /wcwidth@1.0.1: - resolution: - { - integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==, - } - dependencies: - defaults: 1.0.4 - dev: true - - /webidl-conversions@7.0.0: - resolution: - { - integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==, - } - engines: { node: '>=12' } - dev: true - - /webpack-merge@5.10.0: - resolution: - { - integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==, - } - engines: { node: '>=10.0.0' } - dependencies: - clone-deep: 4.0.1 - flat: 5.0.2 - wildcard: 2.0.1 - dev: true - - /webpack-sources@3.2.3: - resolution: - { - integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==, - } - engines: { node: '>=10.13.0' } - dev: true - - /webpack-virtual-modules@0.6.1: - resolution: - { - integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==, - } - dev: true - - /well-known-symbols@2.0.0: - resolution: - { - integrity: sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==, - } - engines: { node: '>=6' } - dev: true - - /whatwg-encoding@2.0.0: - resolution: - { - integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==, - } - engines: { node: '>=12' } - dependencies: - iconv-lite: 0.6.3 - dev: true - - /whatwg-mimetype@3.0.0: - resolution: - { - integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==, - } - engines: { node: '>=12' } - dev: true - - /which@2.0.2: - resolution: - { - integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, - } - engines: { node: '>= 8' } - hasBin: true - dependencies: - isexe: 2.0.0 - - /why-is-node-running@2.2.2: - resolution: - { - integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==, - } - engines: { node: '>=8' } - hasBin: true - dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 - dev: true - - /widest-line@4.0.1: - resolution: - { - integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==, - } - engines: { node: '>=12' } - dependencies: - string-width: 5.1.2 - dev: false - - /wildcard@2.0.1: - resolution: - { - integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==, - } - dev: true - - /wrap-ansi@6.2.0: - resolution: - { - integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==, - } - engines: { node: '>=8' } - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - - /wrap-ansi@7.0.0: - resolution: - { - integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, - } - engines: { node: '>=10' } - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - - /wrap-ansi@8.1.0: - resolution: - { - integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==, - } - engines: { node: '>=12' } - dependencies: - ansi-styles: 6.2.1 - string-width: 5.1.2 - strip-ansi: 7.1.0 - - /wrappy@1.0.2: - resolution: - { - integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, - } - - /write-file-atomic@3.0.3: - resolution: - { - integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==, - } - dependencies: - imurmurhash: 0.1.4 - is-typedarray: 1.0.0 - signal-exit: 3.0.7 - typedarray-to-buffer: 3.1.5 - dev: false - - /xdg-basedir@5.1.0: - resolution: - { - integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==, - } - engines: { node: '>=12' } - dev: false - - /xml-name-validator@4.0.0: - resolution: - { - integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==, - } - engines: { node: '>=12' } - dev: true - - /y18n@5.0.8: - resolution: - { - integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==, - } - engines: { node: '>=10' } - dev: true - - /yallist@2.1.2: - resolution: - { - integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==, - } - dev: false - - /yallist@4.0.0: - resolution: - { - integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, - } - - /yaml-eslint-parser@0.3.2: - resolution: - { - integrity: sha512-32kYO6kJUuZzqte82t4M/gB6/+11WAuHiEnK7FreMo20xsCKPeFH5tDBU7iWxR7zeJpNnMXfJyXwne48D0hGrg==, - } - dependencies: - eslint-visitor-keys: 1.3.0 - lodash: 4.17.21 - yaml: 1.10.2 - dev: true - - /yaml@1.10.2: - resolution: - { - integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==, - } - engines: { node: '>= 6' } - dev: true - - /yargs-parser@21.1.1: - resolution: - { - integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==, - } - engines: { node: '>=12' } - dev: true - - /yargs@17.7.2: - resolution: - { - integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==, - } - engines: { node: '>=12' } - dependencies: - cliui: 8.0.1 - escalade: 3.1.2 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - dev: true - - /yauzl@2.10.0: - resolution: - { - integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==, - } - dependencies: - buffer-crc32: 0.2.13 - fd-slicer: 1.1.0 - - /yocto-queue@0.1.0: - resolution: - { - integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, - } - engines: { node: '>=10' } - dev: true - - /yocto-queue@1.0.0: - resolution: - { - integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==, - } - engines: { node: '>=12.20' } - dev: true - - /zip-stream@4.1.1: - resolution: - { - integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==, - } - engines: { node: '>= 10' } - dependencies: - archiver-utils: 3.0.4 - compress-commons: 4.1.2 - readable-stream: 3.6.2 - dev: true + dependencies: + '@vue/compiler-dom': 3.4.19 + '@vue/compiler-sfc': 3.4.19 + '@vue/runtime-dom': 3.4.19 + '@vue/server-renderer': 3.4.19(vue@3.4.19) + '@vue/shared': 3.4.19 + + /wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + dependencies: + defaults: 1.0.4 + dev: true + + /webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + dev: true + + /webpack-merge@5.10.0: + resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} + engines: {node: '>=10.0.0'} + dependencies: + clone-deep: 4.0.1 + flat: 5.0.2 + wildcard: 2.0.1 + dev: true + + /webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + dev: true + + /webpack-virtual-modules@0.6.1: + resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} + dev: true + + /well-known-symbols@2.0.0: + resolution: {integrity: sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==} + engines: {node: '>=6'} + dev: true + + /whatwg-encoding@2.0.0: + resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} + engines: {node: '>=12'} + dependencies: + iconv-lite: 0.6.3 + dev: true + + /whatwg-mimetype@3.0.0: + resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} + engines: {node: '>=12'} + dev: true + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + + /why-is-node-running@2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + + /widest-line@4.0.1: + resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + dev: false + + /wildcard@2.0.1: + resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} + dev: true + + /wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + /write-file-atomic@3.0.3: + resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + dependencies: + imurmurhash: 0.1.4 + is-typedarray: 1.0.0 + signal-exit: 3.0.7 + typedarray-to-buffer: 3.1.5 + dev: false + + /xdg-basedir@5.1.0: + resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} + engines: {node: '>=12'} + dev: false + + /xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + dev: true + + /y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true + + /yallist@2.1.2: + resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} + dev: false + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + /yaml-eslint-parser@0.3.2: + resolution: {integrity: sha512-32kYO6kJUuZzqte82t4M/gB6/+11WAuHiEnK7FreMo20xsCKPeFH5tDBU7iWxR7zeJpNnMXfJyXwne48D0hGrg==} + dependencies: + eslint-visitor-keys: 1.3.0 + lodash: 4.17.21 + yaml: 1.10.2 + dev: true + + /yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + dev: true + + /yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + dev: true + + /yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + dependencies: + cliui: 8.0.1 + escalade: 3.1.2 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + dev: true + + /yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true + + /yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: true + + /zip-stream@4.1.1: + resolution: {integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==} + engines: {node: '>= 10'} + dependencies: + archiver-utils: 3.0.4 + compress-commons: 4.1.2 + readable-stream: 3.6.2 + dev: true diff --git a/src/components/common/VnSelect.vue b/src/components/common/VnSelect.vue index 493f094ce..a25b41510 100644 --- a/src/components/common/VnSelect.vue +++ b/src/components/common/VnSelect.vue @@ -84,10 +84,21 @@ function setOptions(data) { } onMounted(() => { setOptions(options.value); - if ($props.url && $props.modelValue) fetchFilter($props.modelValue); + console.log(useURL.value); + if (useURL.value) { + console.log(101); + arrayData.store.userFilter = $props.where; + arrayData.store.filter.where = $props.where; + const { data } = await arrayData.fetch({ append: true }); + setOptions(data); + return; + } + if ($props.options) setOptions($props.options); + else fetchFilter($props.modelValue); }); function filter(val, options) { + console.log(118); const search = val.toString().toLowerCase(); if (!search) return options; @@ -120,13 +131,29 @@ async function fetchFilter(val) { } async function filterHandler(val, update) { + console.log('1'); if (!$props.defaultFilter) return update(); - let newOptions; - if ($props.url) { - newOptions = await fetchFilter(val); - } else newOptions = filter(val, myOptionsOriginal.value); + let newOptions = []; + if (myOptionsFiltered.value.length > 0) { + console.log('2'); + newOptions = filter(val, myOptionsFiltered.value); + myOptionsFiltered.value = []; + } else { + newOptions = filter(val, myOptionsOriginal.value); + console.log('3'); + } + if (useURL.value && myOptions.value.length < 1) { + console.log('4'); + arrayData.store.skip = 0; + arrayData.store.filter.skip = 0; + arrayData.store.filter.where = { [optionFilter.value]: val }; + const { data } = await arrayData.fetch({ append: false }); + newOptions = data; + myOptionsFiltered.value = data; + } update( () => { + console.log('5', newOptions); myOptions.value = newOptions; }, (ref) => { diff --git a/src/composables/useArrayData.js b/src/composables/useArrayData.js index e2465f5ba..495248392 100644 --- a/src/composables/useArrayData.js +++ b/src/composables/useArrayData.js @@ -1,10 +1,8 @@ import { onMounted, ref, computed } from 'vue'; import { useRoute } from 'vue-router'; import axios from 'axios'; -import { useArrayDataStore } from 'stores/useArrayDataStore'; -import { buildFilter } from 'filters/filterPanel'; - -const arrayDataStore = useArrayDataStore(); +import { useArrayDataStore } from 'src/stores/useArrayDataStore'; +import { buildFilter } from 'src/filters/filterPanel'; export function useArrayData(key, userOptions) { if (!key) throw new Error('ArrayData: A key is required to use this composable'); @@ -216,3 +214,5 @@ export function useArrayData(key, userOptions) { isLoading, }; } + +const arrayDataStore = useArrayDataStore(); diff --git a/src/i18n/locale/en.yml b/src/i18n/locale/en.yml index ef7fb0ae6..a37299d28 100644 --- a/src/i18n/locale/en.yml +++ b/src/i18n/locale/en.yml @@ -41,14 +41,14 @@ globals: rowAdded: Row added rowRemoved: Row removed pleaseWait: Please wait... - noPinnedModules: You don't have any pinned modules + noPinnedModules: "You don't have any pinned modules" summary: basicData: Basic data today: Today yesterday: Yesterday dateFormat: en-GB microsip: Open in MicroSIP - noSelectedRows: You don't have any line selected + noSelectedRows: "You don't have any line selected" downloadCSVSuccess: CSV downloaded successfully reference: Reference agency: Agency @@ -244,7 +244,7 @@ customer: risk: Risk riskInfo: Invoices minus payments plus orders not yet invoiced credit: Credit - creditInfo: Company's maximum risk + creditInfo: "Company's maximum risk" securedCredit: Secured credit securedCreditInfo: Solunion's maximum risk balance: Balance diff --git a/src/pages/Item/locale/en.yml b/src/pages/Item/locale/en.yml index 363e9fcbe..4619fe47d 100644 --- a/src/pages/Item/locale/en.yml +++ b/src/pages/Item/locale/en.yml @@ -22,7 +22,7 @@ itemDiary: out: Out balance: Balance claim: Claim - showBefore: Show what's before the inventory + showBefore: "Show what's before the inventory" since: Since warehouse: Warehouse basicData: diff --git a/src/pages/Zone/locale/en.yml b/src/pages/Zone/locale/en.yml index bae89fda9..3920aec55 100644 --- a/src/pages/Zone/locale/en.yml +++ b/src/pages/Zone/locale/en.yml @@ -18,7 +18,7 @@ list: openSummary: Details searchZone: Search zones searchInfo: Search zone by id or name - confirmCloneTitle: All it's properties will be copied + confirmCloneTitle: "All it's properties will be copied" confirmCloneSubtitle: Do you want to clone this zone? create: name: Name diff --git a/test/cypress/support/component.js b/test/cypress/support/component.js new file mode 100644 index 000000000..0cd10edb8 --- /dev/null +++ b/test/cypress/support/component.js @@ -0,0 +1,51 @@ +import { createTestingPinia } from '@pinia/testing'; +import { mount } from 'cypress/vue'; +import { i18n } from 'src/boot/i18n'; + +const pinia = createTestingPinia({ createSpy: () => {}, stubActions: false }); + +// // Run this code before each *test*. +// beforeEach(() => { +// // New Pinia +// pinia = createPinia(); +// console.log(pinia); +// // Set current Pinia instance +// setActivePinia(pinia); +// }); + +function createWrapper(component, options) { + const defaultOptions = { + global: { + plugins: [i18n, pinia], + }, + mocks: { + t: (tKey) => tKey, + $t: (tKey) => tKey, + }, + }; + + const mountOptions = Object.assign({}, defaultOptions); + + if (options instanceof Object) { + Object.assign(mountOptions, options); + + if (options.global) { + mountOptions.global.plugins = defaultOptions.global.plugins; + } + } + + const wrapper = mount(component, mountOptions); + const vm = wrapper.vm; + + return wrapper; +} +// declare global { +// namespace Cypress { +// interface Chainable { +// createWrapper: typeof createWrapper; +// } +// } +// } + +Cypress.Commands.add('createWrapper', createWrapper); +// Cypress.Commands.add('mount', mount); -- 2.40.1 From 33095f0aa5602bf28da84a62965749bd2f51b794 Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Thu, 19 Sep 2024 23:21:20 +0200 Subject: [PATCH 05/28] test: VnTitle --- test/cypress/components/VnTitle.spec.js | 104 ++++++++++++++++++++++-- 1 file changed, 99 insertions(+), 5 deletions(-) diff --git a/test/cypress/components/VnTitle.spec.js b/test/cypress/components/VnTitle.spec.js index 72154348e..385608f55 100644 --- a/test/cypress/components/VnTitle.spec.js +++ b/test/cypress/components/VnTitle.spec.js @@ -1,14 +1,108 @@ import VnTitle from 'src/components/common/VnTitle.vue'; +import { Quasar } from 'quasar'; describe('', () => { - it('renders', () => { - // see: https://on.cypress.io/mounting-vue + const globalConfig = { + global: { + plugins: [Quasar], + }, + }; + + beforeEach(() => { + cy.mount(VnTitle, globalConfig); + }); + + it('renders text with link', () => { cy.mount(VnTitle, { + ...globalConfig, props: { - url: 'url', - title: 'title', + url: 'https://example.com', + text: 'Example Link', }, }); - console.log(VnTitle); + cy.get('a').should('exist'); + cy.get('a').should('have.attr', 'href', 'https://example.com'); + cy.get('a').should('contain.text', 'Example Link'); + }); + it('renders text without link', () => { + cy.mount(VnTitle, { + ...globalConfig, + props: { + text: 'No Link', + }, + }); + cy.get('a').should('exist'); + cy.get('a').should('not.have.attr', 'href'); + cy.get('a').should('contain.text', 'No Link'); + }); + + it('applies correct classes based on url prop', () => { + cy.mount(VnTitle, { + ...globalConfig, + props: { + url: 'https://example.com', + }, + }); + cy.get('a').should('have.class', 'link'); + + cy.mount(VnTitle, { + ...globalConfig, + props: {}, + }); + cy.get('a').should('have.class', 'color-vn-text'); + }); + + it('displays icon when url is provided', () => { + cy.mount(VnTitle, { + ...globalConfig, + props: { + url: 'https://example.com', + }, + }); + cy.get('.q-icon').should('exist'); + }); + + it('does not display icon when url is not provided', () => { + cy.mount(VnTitle, { + ...globalConfig, + props: {}, + }); + cy.get('.q-icon').should('not.exist'); + }); + + it('applies correct cursor style based on url prop', () => { + cy.mount(VnTitle, { + ...globalConfig, + props: { + url: 'https://example.com', + }, + }); + cy.get('.header-link').should('have.css', 'cursor', 'pointer'); + + cy.mount(VnTitle, { + ...globalConfig, + props: {}, + }); + cy.get('.header-link').should('have.css', 'cursor', 'default'); + }); + it('renders default icon when no icon prop is provided', () => { + cy.mount(VnTitle, { + ...globalConfig, + props: { + url: 'https://example.com', + }, + }); + cy.get('i').should('contain.text', 'open_in_new'); + }); + + it('renders custom icon when icon prop is provided', () => { + cy.mount(VnTitle, { + ...globalConfig, + props: { + url: 'https://example.com', + icon: 'custom_icon', + }, + }); + cy.get('i').should('contain.text', 'custom_icon'); }); }); -- 2.40.1 From 92d3880f2402add92f55d87cc2a3fb349f72adc6 Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Thu, 19 Sep 2024 23:56:28 +0200 Subject: [PATCH 06/28] test: define comand --- cypress/support/commands.js | 14 ++++++++- test/cypress/components/VnTitle.spec.js | 41 ++++++------------------- 2 files changed, 23 insertions(+), 32 deletions(-) diff --git a/cypress/support/commands.js b/cypress/support/commands.js index 66ea16ef0..85d18bbc4 100644 --- a/cypress/support/commands.js +++ b/cypress/support/commands.js @@ -1,3 +1,6 @@ +import { mount } from 'cypress/vue'; +import { Quasar } from 'quasar'; +import Cypress from 'cypress'; // *********************************************** // This example commands.js shows you how to // create various custom commands and overwrite @@ -22,4 +25,13 @@ // // // -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) \ No newline at end of file +// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) +Cypress.Commands.add('vnMount', (component, options = {}) => { + const globalConfig = { + global: { + plugins: [Quasar], + }, + }; + console.info(globalConfig); + return mount(component, { ...globalConfig, ...options }); +}); diff --git a/test/cypress/components/VnTitle.spec.js b/test/cypress/components/VnTitle.spec.js index 385608f55..e00f60583 100644 --- a/test/cypress/components/VnTitle.spec.js +++ b/test/cypress/components/VnTitle.spec.js @@ -1,20 +1,8 @@ import VnTitle from 'src/components/common/VnTitle.vue'; -import { Quasar } from 'quasar'; describe('', () => { - const globalConfig = { - global: { - plugins: [Quasar], - }, - }; - - beforeEach(() => { - cy.mount(VnTitle, globalConfig); - }); - it('renders text with link', () => { - cy.mount(VnTitle, { - ...globalConfig, + cy.vnMount(VnTitle, { props: { url: 'https://example.com', text: 'Example Link', @@ -25,8 +13,7 @@ describe('', () => { cy.get('a').should('contain.text', 'Example Link'); }); it('renders text without link', () => { - cy.mount(VnTitle, { - ...globalConfig, + cy.vnMount(VnTitle, { props: { text: 'No Link', }, @@ -37,24 +24,21 @@ describe('', () => { }); it('applies correct classes based on url prop', () => { - cy.mount(VnTitle, { - ...globalConfig, + cy.vnMount(VnTitle, { props: { url: 'https://example.com', }, }); cy.get('a').should('have.class', 'link'); - cy.mount(VnTitle, { - ...globalConfig, + cy.vnMount(VnTitle, { props: {}, }); cy.get('a').should('have.class', 'color-vn-text'); }); it('displays icon when url is provided', () => { - cy.mount(VnTitle, { - ...globalConfig, + cy.vnMount(VnTitle, { props: { url: 'https://example.com', }, @@ -63,31 +47,27 @@ describe('', () => { }); it('does not display icon when url is not provided', () => { - cy.mount(VnTitle, { - ...globalConfig, + cy.vnMount(VnTitle, { props: {}, }); cy.get('.q-icon').should('not.exist'); }); it('applies correct cursor style based on url prop', () => { - cy.mount(VnTitle, { - ...globalConfig, + cy.vnMount(VnTitle, { props: { url: 'https://example.com', }, }); cy.get('.header-link').should('have.css', 'cursor', 'pointer'); - cy.mount(VnTitle, { - ...globalConfig, + cy.vnMount(VnTitle, { props: {}, }); cy.get('.header-link').should('have.css', 'cursor', 'default'); }); it('renders default icon when no icon prop is provided', () => { - cy.mount(VnTitle, { - ...globalConfig, + cy.vnMount(VnTitle, { props: { url: 'https://example.com', }, @@ -96,8 +76,7 @@ describe('', () => { }); it('renders custom icon when icon prop is provided', () => { - cy.mount(VnTitle, { - ...globalConfig, + cy.vnMount(VnTitle, { props: { url: 'https://example.com', icon: 'custom_icon', -- 2.40.1 From f831d4746c5ced320e0d469b18876411d0385c15 Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Mon, 23 Sep 2024 22:09:29 +0200 Subject: [PATCH 07/28] feat: refs #7220 vnlocation boilerplate --- cypress/support/commands.js | 22 ++++++++++++++++++++-- test/cypress/components/VnLocation.spec.js | 17 +++++++++++++++++ 2 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 test/cypress/components/VnLocation.spec.js diff --git a/cypress/support/commands.js b/cypress/support/commands.js index 85d18bbc4..18037a935 100644 --- a/cypress/support/commands.js +++ b/cypress/support/commands.js @@ -1,6 +1,6 @@ import { mount } from 'cypress/vue'; import { Quasar } from 'quasar'; -import Cypress from 'cypress'; +import { i18n } from 'src/boot/i18n'; // *********************************************** // This example commands.js shows you how to // create various custom commands and overwrite @@ -26,12 +26,30 @@ import Cypress from 'cypress'; // // -- This will overwrite an existing command -- // Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) +import { createTestingPinia } from '@pinia/testing'; +const pinia = createTestingPinia({ createSpy: () => {}, stubActions: false }); + Cypress.Commands.add('vnMount', (component, options = {}) => { const globalConfig = { global: { - plugins: [Quasar], + plugins: [Quasar, i18n, pinia], }, }; + // options.global = options.global || {}; + // options.global.stubs = options.global.stubs || {}; + // options.global.stubs.transition = false; + // options.global.components = options.global.components || {}; + // options.global.plugins = options.global.plugins || []; + + // Use store passed in from options, or initialize a new one + // const { /* store = getStore(), */ ...mountOptions } = options; + + // Add plugins here + // options.global.plugins.push({ + // install(app) { + // app.use(i18n); + // }, + // }); console.info(globalConfig); return mount(component, { ...globalConfig, ...options }); }); diff --git a/test/cypress/components/VnLocation.spec.js b/test/cypress/components/VnLocation.spec.js new file mode 100644 index 000000000..57655ef2d --- /dev/null +++ b/test/cypress/components/VnLocation.spec.js @@ -0,0 +1,17 @@ +import VnLocation from 'src/components/common/VnLocation.vue'; +describe('', () => { + it('renders', () => { + // see: https://on.cypress.io/mounting-vue + cy.vnMount(VnLocation, { + props: { + modelValue: 1234, + location: { + postcode: '46600', + city: ' Alz', + province: { name: 'as' }, + country: { name: 'asdq' }, + }, + }, + }); + }); +}); -- 2.40.1 From cc709002e1ad527869efb311bd2b1f600e5c4c54 Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Mon, 23 Sep 2024 22:09:37 +0200 Subject: [PATCH 08/28] fix: refs #7220 paths --- src/components/CreateManualInvoiceForm.vue | 4 +- src/components/CreateNewCityForm.vue | 8 +- src/components/CreateNewExpenseForm.vue | 2 +- src/components/CreateNewPostcodeForm.vue | 158 +----------------- src/components/CreateNewProvinceForm.vue | 4 +- src/components/CreateThermographForm.vue | 4 +- src/components/CrudModel.vue | 6 +- src/components/EditPictureForm.vue | 4 +- src/components/EditTableCellValueForm.vue | 2 +- src/components/FilterItemForm.vue | 6 +- src/components/FilterTravelForm.vue | 6 +- src/components/ItemsFilterPanel.vue | 8 +- src/components/NavBar.vue | 2 +- src/components/RefundInvoiceForm.vue | 6 +- src/components/RegularizeStockForm.vue | 4 +- src/components/TransferInvoiceForm.vue | 8 +- src/components/UserPanel.vue | 47 ++++-- src/components/VnSelectProvince.vue | 4 +- src/components/VnTable/VnColumn.vue | 16 +- src/components/VnTable/VnFilter.vue | 12 +- src/components/VnTable/VnOrder.vue | 2 +- src/components/VnTable/VnTable.vue | 12 +- src/components/common/SendSmsDialog.vue | 16 +- src/components/common/VnCard.vue | 6 +- src/components/common/VnDms.vue | 6 +- src/components/common/VnDmsList.vue | 8 +- src/components/common/VnLocation.vue | 9 +- src/components/common/VnLog.vue | 4 +- src/components/common/VnLogFilter.vue | 2 +- src/components/common/VnSectionMain.vue | 2 +- src/components/common/VnSelect.vue | 4 + src/components/common/VnSelectDialog.vue | 2 + src/components/common/VnSelectEnum.vue | 2 +- src/components/ui/CardDescriptor.vue | 4 +- src/components/ui/CardSummary.vue | 4 +- src/components/ui/CatalogItem.vue | 2 +- src/components/ui/VnFilterPanel.vue | 4 +- src/components/ui/VnNotes.vue | 8 +- src/components/ui/VnPaginate.vue | 2 +- src/components/ui/VnSearchbar.vue | 2 +- src/composables/useVnConfirm.js | 2 +- src/filters/toHour.js | 4 +- src/pages/Account/AccountAccounts.vue | 4 +- src/pages/Account/AccountAcls.vue | 6 +- src/pages/Account/AccountAliasList.vue | 4 +- src/pages/Account/AccountConnections.vue | 4 +- src/pages/Account/AccountCreate.vue | 4 +- src/pages/Account/AccountFilter.vue | 4 +- src/pages/Account/AccountLdap.vue | 4 +- src/pages/Account/AccountList.vue | 4 +- src/pages/Account/AccountSamba.vue | 4 +- src/pages/Account/Acls/AclFilter.vue | 4 +- src/pages/Account/Acls/AclFormView.vue | 2 +- src/pages/Account/Alias/AliasCreateForm.vue | 4 +- .../Account/Alias/Card/AliasBasicData.vue | 2 +- src/pages/Account/Alias/Card/AliasCard.vue | 2 +- .../Account/Alias/Card/AliasDescriptor.vue | 2 +- src/pages/Account/Alias/Card/AliasSummary.vue | 2 +- src/pages/Account/Alias/Card/AliasUsers.vue | 6 +- src/pages/Account/Card/AccountBasicData.vue | 2 +- src/pages/Account/Card/AccountCard.vue | 2 +- src/pages/Account/Card/AccountDescriptor.vue | 2 +- .../Account/Card/AccountDescriptorMenu.vue | 2 +- src/pages/Account/Card/AccountMailAlias.vue | 6 +- .../Card/AccountMailAliasCreateForm.vue | 6 +- .../Account/Card/AccountMailForwarding.vue | 2 +- src/pages/Account/Card/AccountPrivileges.vue | 4 +- src/pages/Account/Card/AccountSummary.vue | 2 +- src/pages/Account/InheritedRoles.vue | 4 +- src/pages/Account/Role/AccountRoles.vue | 4 +- .../Account/Role/Card/InheritedRoles.vue | 4 +- src/pages/Account/Role/Card/RoleBasicData.vue | 4 +- src/pages/Account/Role/Card/RoleCard.vue | 2 +- .../Account/Role/Card/RoleDescriptor.vue | 2 +- src/pages/Account/Role/Card/RoleForm.vue | 4 +- src/pages/Account/Role/Card/RoleSummary.vue | 2 +- .../Account/Role/Card/SubRoleCreateForm.vue | 6 +- src/pages/Account/Role/Card/SubRoles.vue | 6 +- src/pages/Claim/Card/ClaimAction.vue | 2 +- src/pages/Claim/Card/ClaimBasicData.vue | 8 +- src/pages/Claim/Card/ClaimCard.vue | 2 +- src/pages/Claim/Card/ClaimDescriptor.vue | 2 +- src/pages/Claim/Card/ClaimDescriptorMenu.vue | 6 +- src/pages/Claim/Card/ClaimDevelopment.vue | 8 +- src/pages/Claim/Card/ClaimLines.vue | 8 +- src/pages/Claim/Card/ClaimLinesImport.vue | 2 +- src/pages/Claim/Card/ClaimPhoto.vue | 6 +- src/pages/Claim/Card/ClaimSummary.vue | 4 +- src/pages/Claim/ClaimFilter.vue | 6 +- src/pages/Claim/ClaimList.vue | 2 +- src/pages/Customer/Card/CustomerBalance.vue | 16 +- src/pages/Customer/Card/CustomerBasicData.vue | 6 +- .../Customer/Card/CustomerBillingData.vue | 4 +- src/pages/Customer/Card/CustomerCard.vue | 2 +- .../Customer/Card/CustomerConsumption.vue | 8 +- src/pages/Customer/Card/CustomerContacts.vue | 4 +- src/pages/Customer/Card/CustomerCredits.vue | 2 +- .../Customer/Card/CustomerDescriptor.vue | 2 +- .../Customer/Card/CustomerFileManagement.vue | 2 +- .../Customer/Card/CustomerFiscalData.vue | 6 +- src/pages/Customer/Card/CustomerGreuges.vue | 4 +- .../Customer/Card/CustomerRecoveries.vue | 2 +- src/pages/Customer/Card/CustomerSummary.vue | 2 +- src/pages/Customer/Card/CustomerUnpaid.vue | 2 +- src/pages/Customer/Card/CustomerWebAccess.vue | 2 +- src/pages/Customer/CustomerCreate.vue | 6 +- src/pages/Customer/CustomerFilter.vue | 4 +- src/pages/Customer/CustomerList.vue | 4 +- .../CustomerDefaulterAddObservation.vue | 2 +- .../Defaulter/CustomerDefaulterFilter.vue | 4 +- ...stomerNotificationsCampaignConsumption.vue | 6 +- .../Customer/Payments/CustomerPayments.vue | 2 +- .../Payments/CustomerPaymentsFilter.vue | 2 +- .../components/CustomerAddressCreate.vue | 6 +- .../components/CustomerAddressEdit.vue | 6 +- .../components/CustomerChangePassword.vue | 2 +- .../CustomerCreditContractsCreate.vue | 4 +- .../CustomerFileManagementCreate.vue | 4 +- .../components/CustomerFileManagementEdit.vue | 4 +- .../components/CustomerNewCustomsAgent.vue | 2 +- .../components/CustomerNewPayment.vue | 12 +- .../components/CustomerRecoverieCreate.vue | 6 +- .../components/CustomerSamplesCreate.vue | 6 +- src/pages/Dashboard/DashboardMain.vue | 2 +- .../Department/Card/DepartmentBasicData.vue | 6 +- src/pages/Department/Card/DepartmentCard.vue | 2 +- .../Department/Card/DepartmentDescriptor.vue | 2 +- .../Department/Card/DepartmentSummary.vue | 2 +- src/pages/Entry/Card/EntryBasicData.vue | 6 +- src/pages/Entry/Card/EntryBuys.vue | 6 +- src/pages/Entry/Card/EntryBuysImport.vue | 6 +- src/pages/Entry/Card/EntryCard.vue | 2 +- src/pages/Entry/Card/EntryDescriptor.vue | 4 +- src/pages/Entry/Card/EntryNotes.vue | 4 +- src/pages/Entry/Card/EntrySummary.vue | 2 +- src/pages/Entry/EntryBuysTableDialog.vue | 2 +- src/pages/Entry/EntryCreate.vue | 6 +- src/pages/Entry/EntryFilter.vue | 6 +- src/pages/Entry/EntryLatestBuys.vue | 2 +- src/pages/Entry/EntryLatestBuysFilter.vue | 4 +- src/pages/Entry/EntryList.vue | 2 +- src/pages/Entry/EntryStockBought.vue | 8 +- src/pages/Entry/EntryStockBoughtDetail.vue | 2 +- src/pages/Entry/MyEntries.vue | 2 +- .../InvoiceIn/Card/InvoiceInBasicData.vue | 4 +- src/pages/InvoiceIn/Card/InvoiceInCard.vue | 2 +- .../InvoiceIn/Card/InvoiceInDescriptor.vue | 6 +- src/pages/InvoiceIn/Card/InvoiceInSummary.vue | 2 +- src/pages/InvoiceIn/InvoiceInCreate.vue | 6 +- src/pages/InvoiceIn/InvoiceInFilter.vue | 6 +- src/pages/InvoiceIn/InvoiceInSearchbar.vue | 2 +- src/pages/InvoiceOut/Card/InvoiceOutCard.vue | 2 +- .../InvoiceOut/Card/InvoiceOutDescriptor.vue | 2 +- .../Card/InvoiceOutDescriptorMenu.vue | 6 +- .../InvoiceOut/Card/InvoiceOutSummary.vue | 2 +- src/pages/InvoiceOut/InvoiceOutFilter.vue | 4 +- src/pages/InvoiceOut/InvoiceOutGlobalForm.vue | 4 +- src/pages/InvoiceOut/InvoiceOutList.vue | 4 +- .../InvoiceOutNegativeBasesFilter.vue | 2 +- src/pages/Item/Card/CreateGenusForm.vue | 4 +- src/pages/Item/Card/CreateIntrastatForm.vue | 4 +- src/pages/Item/Card/CreateSpecieForm.vue | 4 +- src/pages/Item/Card/ItemBasicData.vue | 6 +- src/pages/Item/Card/ItemBotanical.vue | 6 +- src/pages/Item/Card/ItemCard.vue | 2 +- src/pages/Item/Card/ItemDescriptor.vue | 4 +- src/pages/Item/Card/ItemDescriptorImage.vue | 2 +- src/pages/Item/Card/ItemDiary.vue | 2 +- src/pages/Item/Card/ItemLastEntries.vue | 2 +- src/pages/Item/Card/ItemShelving.vue | 2 +- src/pages/Item/Card/ItemSummary.vue | 2 +- src/pages/Item/Card/ItemTags.vue | 6 +- src/pages/Item/Card/ItemTax.vue | 6 +- src/pages/Item/ItemCreate.vue | 6 +- src/pages/Item/ItemFixedPrice.vue | 6 +- src/pages/Item/ItemFixedPriceFilter.vue | 4 +- src/pages/Item/ItemList.vue | 8 +- src/pages/Item/ItemListFilter.vue | 4 +- src/pages/Item/ItemRequest.vue | 4 +- src/pages/Item/ItemRequestDenyForm.vue | 2 +- src/pages/Item/ItemRequestFilter.vue | 2 +- src/pages/Item/ItemTypeCreate.vue | 6 +- src/pages/ItemType/Card/ItemTypeBasicData.vue | 6 +- src/pages/ItemType/Card/ItemTypeCard.vue | 2 +- .../ItemType/Card/ItemTypeDescriptor.vue | 2 +- src/pages/ItemType/Card/ItemTypeSummary.vue | 2 +- src/pages/ItemType/ItemTypeSearchbar.vue | 2 +- src/pages/Login/LoginMain.vue | 2 +- src/pages/Login/ResetPassword.vue | 4 +- src/pages/Login/VerifyEmail.vue | 2 +- src/pages/Monitor/MonitorOrders.vue | 4 +- .../Monitor/Ticket/MonitorTicketSearchbar.vue | 2 +- src/pages/Monitor/Ticket/MonitorTickets.vue | 4 +- src/pages/Order/Card/OrderBasicData.vue | 12 +- src/pages/Order/Card/OrderCard.vue | 2 +- src/pages/Order/Card/OrderCatalog.vue | 4 +- src/pages/Order/Card/OrderCatalogFilter.vue | 6 +- .../Order/Card/OrderCatalogItemDialog.vue | 2 +- src/pages/Order/Card/OrderCreateDialog.vue | 12 +- src/pages/Order/Card/OrderDescriptor.vue | 4 +- src/pages/Order/Card/OrderDescriptorMenu.vue | 2 +- src/pages/Order/Card/OrderFilter.vue | 8 +- src/pages/Order/Card/OrderLines.vue | 4 +- src/pages/Order/Card/OrderSearchbar.vue | 2 +- src/pages/Order/Card/OrderSummary.vue | 6 +- src/pages/Order/Card/OrderVolume.vue | 8 +- src/pages/Parking/Card/ParkingBasicData.vue | 4 +- src/pages/Parking/Card/ParkingCard.vue | 2 +- src/pages/Parking/Card/ParkingDescriptor.vue | 4 +- src/pages/Parking/Card/ParkingSummary.vue | 4 +- src/pages/Parking/ParkingFilter.vue | 4 +- src/pages/Parking/ParkingList.vue | 6 +- src/pages/Route/Agency/AgencyList.vue | 2 +- .../Route/Agency/Card/AgencyBasicData.vue | 4 +- src/pages/Route/Agency/Card/AgencyCard.vue | 2 +- .../Route/Agency/Card/AgencyDescriptor.vue | 4 +- src/pages/Route/Agency/Card/AgencySummary.vue | 4 +- .../Route/Agency/Card/AgencyWorkcenter.vue | 2 +- .../Route/Card/RouteAutonomousFilter.vue | 10 +- src/pages/Route/Card/RouteCard.vue | 2 +- src/pages/Route/Card/RouteDescriptor.vue | 4 +- src/pages/Route/Card/RouteDescriptorMenu.vue | 2 +- src/pages/Route/Card/RouteFilter.vue | 8 +- src/pages/Route/Card/RouteForm.vue | 14 +- .../Route/Card/RouteListTicketsDialog.vue | 2 +- src/pages/Route/Card/RouteSearchbar.vue | 2 +- src/pages/Route/Card/RouteSummary.vue | 4 +- src/pages/Route/Cmr/CmrList.vue | 2 +- .../Route/Roadmap/RoadmapAddStopForm.vue | 10 +- src/pages/Route/Roadmap/RoadmapBasicData.vue | 14 +- src/pages/Route/Roadmap/RoadmapCard.vue | 2 +- src/pages/Route/Roadmap/RoadmapDescriptor.vue | 4 +- .../Route/Roadmap/RoadmapDescriptorMenu.vue | 2 +- src/pages/Route/Roadmap/RoadmapFilter.vue | 10 +- src/pages/Route/Roadmap/RoadmapStops.vue | 4 +- src/pages/Route/Roadmap/RoadmapSummary.vue | 6 +- src/pages/Route/RouteAutonomous.vue | 12 +- src/pages/Route/RouteList.vue | 6 +- src/pages/Route/RouteRoadmap.vue | 10 +- src/pages/Route/RouteTickets.vue | 12 +- src/pages/Shelving/Card/ShelvingCard.vue | 2 +- .../Shelving/Card/ShelvingDescriptor.vue | 4 +- .../Shelving/Card/ShelvingDescriptorMenu.vue | 2 +- src/pages/Shelving/Card/ShelvingFilter.vue | 4 +- src/pages/Shelving/Card/ShelvingForm.vue | 4 +- src/pages/Shelving/Card/ShelvingSearchbar.vue | 4 +- src/pages/Shelving/Card/ShelvingSummary.vue | 6 +- src/pages/Shelving/ShelvingList.vue | 6 +- src/pages/Supplier/Card/SupplierAccounts.vue | 6 +- .../Supplier/Card/SupplierAddressesCreate.vue | 4 +- .../Supplier/Card/SupplierAgencyTerm.vue | 6 +- .../Card/SupplierAgencyTermCreate.vue | 6 +- src/pages/Supplier/Card/SupplierBasicData.vue | 5 +- .../Supplier/Card/SupplierBillingData.vue | 6 +- src/pages/Supplier/Card/SupplierCard.vue | 2 +- .../Supplier/Card/SupplierConsumption.vue | 8 +- src/pages/Supplier/Card/SupplierContacts.vue | 4 +- .../Supplier/Card/SupplierDescriptor.vue | 2 +- .../Supplier/Card/SupplierFiscalData.vue | 6 +- src/pages/Supplier/Card/SupplierSummary.vue | 2 +- src/pages/Supplier/SupplierCreate.vue | 6 +- src/pages/Supplier/SupplierList.vue | 4 +- src/pages/Supplier/SupplierListFilter.vue | 2 +- .../Ticket/Card/BasicData/BasicDataTable.vue | 4 +- .../Card/BasicData/TicketBasicDataForm.vue | 6 +- .../Card/BasicData/TicketBasicDataView.vue | 2 +- src/pages/Ticket/Card/ExpeditionNewTicket.vue | 4 +- src/pages/Ticket/Card/TicketCard.vue | 2 +- src/pages/Ticket/Card/TicketComponents.vue | 6 +- src/pages/Ticket/Card/TicketCreateRequest.vue | 6 +- .../Ticket/Card/TicketCreateServiceType.vue | 4 +- .../Ticket/Card/TicketCreateTracking.vue | 6 +- src/pages/Ticket/Card/TicketDescriptor.vue | 2 +- .../Ticket/Card/TicketDescriptorMenu.vue | 8 +- src/pages/Ticket/Card/TicketDmsImportForm.vue | 6 +- src/pages/Ticket/Card/TicketExpedition.vue | 4 +- src/pages/Ticket/Card/TicketNotes.vue | 6 +- src/pages/Ticket/Card/TicketPackage.vue | 4 +- src/pages/Ticket/Card/TicketPicture.vue | 4 +- src/pages/Ticket/Card/TicketSale.vue | 8 +- .../Ticket/Card/TicketSaleMoreActions.vue | 4 +- src/pages/Ticket/Card/TicketSaleTracking.vue | 4 +- src/pages/Ticket/Card/TicketService.vue | 4 +- src/pages/Ticket/Card/TicketSummary.vue | 6 +- src/pages/Ticket/Card/TicketTracking.vue | 2 +- src/pages/Ticket/Card/TicketVolume.vue | 4 +- src/pages/Ticket/TicketAdvance.vue | 6 +- src/pages/Ticket/TicketAdvanceFilter.vue | 4 +- src/pages/Ticket/TicketCreate.vue | 12 +- src/pages/Ticket/TicketCreateDialog.vue | 12 +- src/pages/Ticket/TicketFilter.vue | 4 +- src/pages/Ticket/TicketFuture.vue | 6 +- src/pages/Ticket/TicketFutureFilter.vue | 4 +- src/pages/Ticket/TicketWeekly.vue | 4 +- src/pages/Travel/Card/TravelBasicData.vue | 8 +- src/pages/Travel/Card/TravelCard.vue | 2 +- src/pages/Travel/Card/TravelDescriptor.vue | 2 +- .../Travel/Card/TravelDescriptorMenuItems.vue | 4 +- src/pages/Travel/Card/TravelSummary.vue | 2 +- src/pages/Travel/Card/TravelThermographs.vue | 2 +- .../Travel/Card/TravelThermographsForm.vue | 6 +- src/pages/Travel/ExtraCommunity.vue | 4 +- src/pages/Travel/ExtraCommunityFilter.vue | 4 +- src/pages/Travel/TravelCreate.vue | 8 +- src/pages/Travel/TravelList.vue | 4 +- src/pages/Wagon/Card/WagonCard.vue | 2 +- src/pages/Wagon/Type/WagonTypeEdit.vue | 2 +- src/pages/Wagon/WagonCounter.vue | 2 +- src/pages/Worker/Card/WorkerBalance.vue | 2 +- src/pages/Worker/Card/WorkerBasicData.vue | 4 +- src/pages/Worker/Card/WorkerCalendar.vue | 2 +- .../Worker/Card/WorkerCalendarFilter.vue | 4 +- src/pages/Worker/Card/WorkerCard.vue | 2 +- .../Worker/Card/WorkerChangePasswordForm.vue | 2 +- src/pages/Worker/Card/WorkerDescriptor.vue | 2 +- src/pages/Worker/Card/WorkerFormation.vue | 2 +- src/pages/Worker/Card/WorkerLocker.vue | 4 +- src/pages/Worker/Card/WorkerMedical.vue | 2 +- .../Card/WorkerNotificationsManager.vue | 2 +- src/pages/Worker/Card/WorkerPBX.vue | 2 +- src/pages/Worker/Card/WorkerPda.vue | 6 +- src/pages/Worker/Card/WorkerSummary.vue | 2 +- src/pages/Worker/Card/WorkerTimeControl.vue | 6 +- src/pages/Worker/Card/WorkerTimeForm.vue | 2 +- src/pages/Worker/Card/WorkerTimeHourChip.vue | 2 +- .../Worker/Card/WorkerTimeReasonForm.vue | 2 +- src/pages/Worker/CreateDepartmentChild.vue | 4 +- src/pages/Worker/WorkerCreate.vue | 8 +- src/pages/Worker/WorkerFilter.vue | 2 +- src/pages/Zone/Card/ZoneBasicData.vue | 4 +- src/pages/Zone/Card/ZoneCard.vue | 2 +- src/pages/Zone/Card/ZoneCreateWarehouse.vue | 6 +- src/pages/Zone/Card/ZoneDescriptor.vue | 2 +- .../Zone/Card/ZoneDescriptorMenuItems.vue | 2 +- .../Zone/Card/ZoneEventExclusionForm.vue | 6 +- .../Zone/Card/ZoneEventInclusionForm.vue | 8 +- src/pages/Zone/Card/ZoneEventsPanel.vue | 2 +- src/pages/Zone/Card/ZoneLocationsTree.vue | 2 +- src/pages/Zone/Card/ZoneSearchbar.vue | 2 +- src/pages/Zone/Card/ZoneSummary.vue | 2 +- src/pages/Zone/Card/ZoneWarehouses.vue | 6 +- src/pages/Zone/Delivery/ZoneDeliveryList.vue | 2 +- src/pages/Zone/Upcoming/ZoneUpcomingList.vue | 2 +- src/pages/Zone/ZoneCreate.vue | 8 +- src/pages/Zone/ZoneFilterPanel.vue | 6 +- src/pages/Zone/ZoneList.vue | 2 +- src/pages/Zone/ZoneUpcoming.vue | 4 +- src/stores/invoiceOutGlobal.js | 2 +- .../__tests__/components/Leftmenu.spec.js | 2 +- .../components/common/CrudModel.spec.js | 2 +- .../components/common/VnSmsDialog.spec.js | 19 ++- .../composables/useArrayData.spec.js | 2 +- .../__tests__/composables/useRole.spec.js | 7 +- .../__tests__/composables/useSession.spec.js | 4 +- .../composables/useTokenConfig.spec.js | 2 +- 355 files changed, 811 insertions(+), 934 deletions(-) diff --git a/src/components/CreateManualInvoiceForm.vue b/src/components/CreateManualInvoiceForm.vue index da006e024..4865b186e 100644 --- a/src/components/CreateManualInvoiceForm.vue +++ b/src/components/CreateManualInvoiceForm.vue @@ -3,8 +3,8 @@ import { reactive, ref, computed } from 'vue'; import { useI18n } from 'vue-i18n'; import { useRouter } from 'vue-router'; -import FetchData from 'components/FetchData.vue'; -import VnRow from 'components/ui/VnRow.vue'; +import FetchData from 'src/components/FetchData.vue'; +import VnRow from 'src/components/ui/VnRow.vue'; import VnSelect from 'src/components/common/VnSelect.vue'; import VnInput from 'src/components/common/VnInput.vue'; import FormModelPopup from './FormModelPopup.vue'; diff --git a/src/components/CreateNewCityForm.vue b/src/components/CreateNewCityForm.vue index 9a7d8666c..a8498e623 100644 --- a/src/components/CreateNewCityForm.vue +++ b/src/components/CreateNewCityForm.vue @@ -2,10 +2,10 @@ import { reactive, ref } from 'vue'; import { useI18n } from 'vue-i18n'; -import FetchData from 'components/FetchData.vue'; -import VnRow from 'components/ui/VnRow.vue'; -import VnSelectProvince from 'components/VnSelectProvince.vue'; -import VnInput from 'components/common/VnInput.vue'; +import FetchData from 'src/components/FetchData.vue'; +import VnRow from 'src/components/ui/VnRow.vue'; +import VnSelectProvince from 'src/components/VnSelectProvince.vue'; +import VnInput from 'src/components/common/VnInput.vue'; import FormModelPopup from './FormModelPopup.vue'; const emit = defineEmits(['onDataSaved']); diff --git a/src/components/CreateNewExpenseForm.vue b/src/components/CreateNewExpenseForm.vue index 7088cec03..2c543f13f 100644 --- a/src/components/CreateNewExpenseForm.vue +++ b/src/components/CreateNewExpenseForm.vue @@ -1,6 +1,6 @@ -import FetchData from 'components/FetchData.vue'; -import VnRow from 'components/ui/VnRow.vue'; -import VnSelect from 'src/components/common/VnSelect.vue'; -import VnSelectProvince from 'src/components/VnSelectProvince.vue'; -import VnInput from 'src/components/common/VnInput.vue'; -import CreateNewCityForm from './CreateNewCityForm.vue'; -import VnSelectDialog from 'components/common/VnSelectDialog.vue'; -import FormModelPopup from './FormModelPopup.vue'; - -const emit = defineEmits(['onDataSaved']); - -const { t } = useI18n(); - -const postcodeFormData = reactive({ - code: null, - countryFk: null, - provinceFk: null, - townFk: null, -}); - -const provincesFetchDataRef = ref(null); -const countriesOptions = ref([]); -const provincesOptions = ref([]); -const town = ref({}); - -function onDataSaved(formData) { - const newPostcode = { - ...formData, - }; - newPostcode.town = town.value.name; - newPostcode.townFk = town.value.id; - const provinceObject = provincesOptions.value.find( - ({ id }) => id === formData.provinceFk - ); - newPostcode.province = provinceObject?.name; - const countryObject = countriesOptions.value.find( - ({ id }) => id === formData.countryFk - ); - newPostcode.country = countryObject?.name; - emit('onDataSaved', newPostcode); -} - -async function onCityCreated(newTown, formData) { - await provincesFetchDataRef.value.fetch(); - newTown.province = provincesOptions.value.find( - (province) => province.id === newTown.provinceFk - ); - formData.townFk = newTown; - setTown(newTown, formData); -} - -function setTown(newTown, data) { - if (!newTown) return; - town.value = newTown; - data.provinceFk = newTown.provinceFk; - data.countryFk = newTown.province.countryFk; -} - -async function setProvince(id, data) { - await provincesFetchDataRef.value.fetch(); - const newProvince = provincesOptions.value.find((province) => province.id == id); - if (!newProvince) return; - - data.countryFk = newProvince.countryFk; -} - - - + -es: - New postcode: Nuevo código postal - Please, ensure you put the correct data!: ¡Por favor, asegúrese de poner los datos correctos! - City: Población - Province: Provincia - Country: País - Postcode: Código postal diff --git a/src/components/CreateNewProvinceForm.vue b/src/components/CreateNewProvinceForm.vue index e32684a98..9e89148e0 100644 --- a/src/components/CreateNewProvinceForm.vue +++ b/src/components/CreateNewProvinceForm.vue @@ -2,8 +2,8 @@ import { reactive, ref } from 'vue'; import { useI18n } from 'vue-i18n'; -import FetchData from 'components/FetchData.vue'; -import VnRow from 'components/ui/VnRow.vue'; +import FetchData from 'src/components/FetchData.vue'; +import VnRow from 'src/components/ui/VnRow.vue'; import VnSelect from 'src/components/common/VnSelect.vue'; import VnInput from 'src/components/common/VnInput.vue'; import FormModelPopup from './FormModelPopup.vue'; diff --git a/src/components/CreateThermographForm.vue b/src/components/CreateThermographForm.vue index 65a1c2679..ba85377e5 100644 --- a/src/components/CreateThermographForm.vue +++ b/src/components/CreateThermographForm.vue @@ -2,8 +2,8 @@ import { reactive, ref } from 'vue'; import { useI18n } from 'vue-i18n'; -import FetchData from 'components/FetchData.vue'; -import VnRow from 'components/ui/VnRow.vue'; +import FetchData from 'src/components/FetchData.vue'; +import VnRow from 'src/components/ui/VnRow.vue'; import VnSelect from 'src/components/common/VnSelect.vue'; import VnInput from 'src/components/common/VnInput.vue'; import FormModelPopup from './FormModelPopup.vue'; diff --git a/src/components/CrudModel.vue b/src/components/CrudModel.vue index 0386e037b..e55e836aa 100644 --- a/src/components/CrudModel.vue +++ b/src/components/CrudModel.vue @@ -6,9 +6,9 @@ import { useI18n } from 'vue-i18n'; import { useQuasar } from 'quasar'; import { useValidator } from 'src/composables/useValidator'; import { useStateStore } from 'stores/useStateStore'; -import VnPaginate from 'components/ui/VnPaginate.vue'; -import VnConfirm from 'components/ui/VnConfirm.vue'; -import SkeletonTable from 'components/ui/SkeletonTable.vue'; +import VnPaginate from 'src/components/ui/VnPaginate.vue'; +import VnConfirm from 'src/components/ui/VnConfirm.vue'; +import SkeletonTable from 'src/components/ui/SkeletonTable.vue'; import { tMobile } from 'src/composables/tMobile'; const { push } = useRouter(); diff --git a/src/components/EditPictureForm.vue b/src/components/EditPictureForm.vue index cd6107aca..960896dc1 100644 --- a/src/components/EditPictureForm.vue +++ b/src/components/EditPictureForm.vue @@ -3,8 +3,8 @@ import { reactive, computed, ref } from 'vue'; import { useI18n } from 'vue-i18n'; import VnSelect from 'src/components/common/VnSelect.vue'; -import FetchData from 'components/FetchData.vue'; -import VnRow from 'components/ui/VnRow.vue'; +import FetchData from 'src/components/FetchData.vue'; +import VnRow from 'src/components/ui/VnRow.vue'; import VnInput from 'src/components/common/VnInput.vue'; import Croppie from 'croppie/croppie'; diff --git a/src/components/EditTableCellValueForm.vue b/src/components/EditTableCellValueForm.vue index 14709e884..28edaeb8b 100644 --- a/src/components/EditTableCellValueForm.vue +++ b/src/components/EditTableCellValueForm.vue @@ -5,7 +5,7 @@ import { useI18n } from 'vue-i18n'; import VnSelect from 'src/components/common/VnSelect.vue'; import VnInput from 'src/components/common/VnInput.vue'; import VnInputDate from 'src/components/common/VnInputDate.vue'; -import VnRow from 'components/ui/VnRow.vue'; +import VnRow from 'src/components/ui/VnRow.vue'; import { QCheckbox } from 'quasar'; import axios from 'axios'; diff --git a/src/components/FilterItemForm.vue b/src/components/FilterItemForm.vue index 1cf36deeb..0c8e03cb1 100644 --- a/src/components/FilterItemForm.vue +++ b/src/components/FilterItemForm.vue @@ -2,10 +2,10 @@ import { ref, reactive, computed } from 'vue'; import { useI18n } from 'vue-i18n'; -import VnRow from 'components/ui/VnRow.vue'; -import FetchData from 'components/FetchData.vue'; +import VnRow from 'src/components/ui/VnRow.vue'; +import FetchData from 'src/components/FetchData.vue'; import VnInput from 'src/components/common/VnInput.vue'; -import VnSelect from 'components/common/VnSelect.vue'; +import VnSelect from 'src/components/common/VnSelect.vue'; import ItemDescriptorProxy from 'src/pages/Item/Card/ItemDescriptorProxy.vue'; import axios from 'axios'; diff --git a/src/components/FilterTravelForm.vue b/src/components/FilterTravelForm.vue index c84772d9b..627421327 100644 --- a/src/components/FilterTravelForm.vue +++ b/src/components/FilterTravelForm.vue @@ -2,10 +2,10 @@ import { ref, reactive, computed } from 'vue'; import { useI18n } from 'vue-i18n'; -import VnRow from 'components/ui/VnRow.vue'; -import FetchData from 'components/FetchData.vue'; +import VnRow from 'src/components/ui/VnRow.vue'; +import FetchData from 'src/components/FetchData.vue'; import VnInputDate from 'src/components/common/VnInputDate.vue'; -import VnSelect from 'components/common/VnSelect.vue'; +import VnSelect from 'src/components/common/VnSelect.vue'; import TravelDescriptorProxy from 'src/pages/Travel/Card/TravelDescriptorProxy.vue'; import axios from 'axios'; diff --git a/src/components/ItemsFilterPanel.vue b/src/components/ItemsFilterPanel.vue index e89d32da4..d916349c3 100644 --- a/src/components/ItemsFilterPanel.vue +++ b/src/components/ItemsFilterPanel.vue @@ -2,11 +2,11 @@ import { computed, ref } from 'vue'; import { useI18n } from 'vue-i18n'; -import VnInput from 'components/common/VnInput.vue'; -import FetchData from 'components/FetchData.vue'; +import VnInput from 'src/components/common/VnInput.vue'; +import FetchData from 'src/components/FetchData.vue'; import VnFilterPanel from 'src/components/ui/VnFilterPanel.vue'; -import VnSelect from 'components/common/VnSelect.vue'; -import VnFilterPanelChip from 'components/ui/VnFilterPanelChip.vue'; +import VnSelect from 'src/components/common/VnSelect.vue'; +import VnFilterPanelChip from 'src/components/ui/VnFilterPanelChip.vue'; import axios from 'axios'; diff --git a/src/components/NavBar.vue b/src/components/NavBar.vue index 00faaebc2..b31d38782 100644 --- a/src/components/NavBar.vue +++ b/src/components/NavBar.vue @@ -5,7 +5,7 @@ import { useState } from 'src/composables/useState'; import { useStateStore } from 'stores/useStateStore'; import { useQuasar } from 'quasar'; import PinnedModules from './PinnedModules.vue'; -import UserPanel from 'components/UserPanel.vue'; +import UserPanel from 'src/components/UserPanel.vue'; import VnBreadcrumbs from './common/VnBreadcrumbs.vue'; import VnAvatar from './ui/VnAvatar.vue'; diff --git a/src/components/RefundInvoiceForm.vue b/src/components/RefundInvoiceForm.vue index c21c892dd..7ef914024 100644 --- a/src/components/RefundInvoiceForm.vue +++ b/src/components/RefundInvoiceForm.vue @@ -3,9 +3,9 @@ import { ref, reactive } from 'vue'; import { useI18n } from 'vue-i18n'; import { useRouter } from 'vue-router'; import { useDialogPluginComponent } from 'quasar'; -import VnRow from 'components/ui/VnRow.vue'; -import FetchData from 'components/FetchData.vue'; -import VnSelect from 'components/common/VnSelect.vue'; +import VnRow from 'src/components/ui/VnRow.vue'; +import FetchData from 'src/components/FetchData.vue'; +import VnSelect from 'src/components/common/VnSelect.vue'; import FormPopup from './FormPopup.vue'; import axios from 'axios'; import useNotify from 'src/composables/useNotify.js'; diff --git a/src/components/RegularizeStockForm.vue b/src/components/RegularizeStockForm.vue index f34386fc4..1c9db0b1c 100644 --- a/src/components/RegularizeStockForm.vue +++ b/src/components/RegularizeStockForm.vue @@ -3,8 +3,8 @@ import { reactive, ref } from 'vue'; import { useI18n } from 'vue-i18n'; import VnSelect from 'src/components/common/VnSelect.vue'; -import FetchData from 'components/FetchData.vue'; -import VnRow from 'components/ui/VnRow.vue'; +import FetchData from 'src/components/FetchData.vue'; +import VnRow from 'src/components/ui/VnRow.vue'; import FormModelPopup from './FormModelPopup.vue'; const emit = defineEmits(['onDataSaved']); diff --git a/src/components/TransferInvoiceForm.vue b/src/components/TransferInvoiceForm.vue index f7050cdba..89399d816 100644 --- a/src/components/TransferInvoiceForm.vue +++ b/src/components/TransferInvoiceForm.vue @@ -3,10 +3,10 @@ import { ref, reactive } from 'vue'; import { useI18n } from 'vue-i18n'; import { useRouter } from 'vue-router'; import { useQuasar, useDialogPluginComponent } from 'quasar'; -import VnConfirm from 'components/ui/VnConfirm.vue'; -import VnRow from 'components/ui/VnRow.vue'; -import FetchData from 'components/FetchData.vue'; -import VnSelect from 'components/common/VnSelect.vue'; +import VnConfirm from 'src/components/ui/VnConfirm.vue'; +import VnRow from 'src/components/ui/VnRow.vue'; +import FetchData from 'src/components/FetchData.vue'; +import VnSelect from 'src/components/common/VnSelect.vue'; import FormPopup from './FormPopup.vue'; import axios from 'axios'; import useNotify from 'src/composables/useNotify.js'; diff --git a/src/components/UserPanel.vue b/src/components/UserPanel.vue index 98334460a..b5bf2e9d6 100644 --- a/src/components/UserPanel.vue +++ b/src/components/UserPanel.vue @@ -8,17 +8,19 @@ import { useState } from 'src/composables/useState'; import { useSession } from 'src/composables/useSession'; import { localeEquivalence } from 'src/i18n/index'; import VnSelect from 'src/components/common/VnSelect.vue'; -import VnRow from 'components/ui/VnRow.vue'; -import FetchData from 'components/FetchData.vue'; +import VnRow from 'src/components/ui/VnRow.vue'; +import FetchData from 'src/components/FetchData.vue'; import { useClipboard } from 'src/composables/useClipboard'; import { useRole } from 'src/composables/useRole'; import VnAvatar from './ui/VnAvatar.vue'; +import useNotify from 'src/composables/useNotify'; const state = useState(); const session = useSession(); const router = useRouter(); const { t, locale } = useI18n(); const { copyText } = useClipboard(); +const { notify } = useNotify(); const userLocale = computed({ get() { @@ -53,6 +55,7 @@ const user = state.getUser(); const warehousesData = ref(); const companiesData = ref(); const accountBankData = ref(); +const isEmployee = computed(() => useRole().isEmployee()); onMounted(async () => { updatePreferences(); @@ -70,18 +73,28 @@ function updatePreferences() { async function saveDarkMode(value) { const query = `/UserConfigs/${user.value.id}`; - await axios.patch(query, { - darkMode: value, - }); - user.value.darkMode = value; + try { + await axios.patch(query, { + darkMode: value, + }); + user.value.darkMode = value; + notify('globals.dataSaved', 'positive'); + } catch (error) { + console.error(error); + } } async function saveLanguage(value) { const query = `/VnUsers/${user.value.id}`; - await axios.patch(query, { - lang: value, - }); - user.value.lang = value; + try { + await axios.patch(query, { + lang: value, + }); + user.value.lang = value; + notify('globals.dataSaved', 'positive'); + } catch (error) { + console.error(error); + } } function logout() { @@ -98,10 +111,18 @@ function localUserData() { } function saveUserData(param, value) { - axios.post('UserConfigs/setUserConfig', { [param]: value }); - localUserData(); + try { + axios.post('UserConfigs/setUserConfig', { [param]: value }); + localUserData(); + notify('globals.dataSaved', 'positive'); + } catch (error) { + console.error(error); + } } -const isEmployee = computed(() => useRole().isEmployee()); + +const onDataSaved = () => { + notify('globals.dataSaved', 'positive'); +}; - + es: Filter item: Filtrar artículo Enter a new search: Introduce una nueva búsqueda diff --git a/src/components/FilterTravelForm.vue b/src/components/FilterTravelForm.vue index 627421327..10d280f23 100644 --- a/src/components/FilterTravelForm.vue +++ b/src/components/FilterTravelForm.vue @@ -207,7 +207,7 @@ const selectTravel = ({ id }) => { - + es: Filter travels: Filtro envíos Enter a new search: Introduce una nueva búsqueda diff --git a/src/components/FormModel.vue b/src/components/FormModel.vue index 139c3c14b..a8bdc2368 100644 --- a/src/components/FormModel.vue +++ b/src/components/FormModel.vue @@ -302,7 +302,7 @@ defineExpose({ { } - + en: params: supplier: Supplier diff --git a/src/components/NavBar.vue b/src/components/NavBar.vue index b31d38782..ace1e7311 100644 --- a/src/components/NavBar.vue +++ b/src/components/NavBar.vue @@ -105,7 +105,7 @@ const pinnedModulesRef = ref(); background-color: var(--vn-section-color); } - + en: Go to Salix: Go to Salix es: diff --git a/src/components/PinnedModules.vue b/src/components/PinnedModules.vue index 5f291b580..8f28c2802 100644 --- a/src/components/PinnedModules.vue +++ b/src/components/PinnedModules.vue @@ -78,7 +78,7 @@ async function redirect() { } - + en: Home: Home es: diff --git a/src/components/RefundInvoiceForm.vue b/src/components/RefundInvoiceForm.vue index 7ef914024..09003d4a3 100644 --- a/src/components/RefundInvoiceForm.vue +++ b/src/components/RefundInvoiceForm.vue @@ -150,7 +150,7 @@ const refund = async () => { - + en: Refund invoice: Refund invoice Rectificative type: Rectificative type diff --git a/src/components/RegularizeStockForm.vue b/src/components/RegularizeStockForm.vue index 1c9db0b1c..eaac7d23a 100644 --- a/src/components/RegularizeStockForm.vue +++ b/src/components/RegularizeStockForm.vue @@ -73,7 +73,7 @@ const onDataSaved = (data) => { - + es: Warehouse: Almacén Type the visible quantity: Introduce la cantidad visible diff --git a/src/components/TransferInvoiceForm.vue b/src/components/TransferInvoiceForm.vue index 89399d816..0d482acb3 100644 --- a/src/components/TransferInvoiceForm.vue +++ b/src/components/TransferInvoiceForm.vue @@ -205,7 +205,7 @@ const makeInvoice = async () => { - + en: checkInfo: New tickets from the destination customer will be generated in the consignee by default. transferInvoiceInfo: Destination customer is marked to bill in the consignee diff --git a/src/components/VnSelectProvince.vue b/src/components/VnSelectProvince.vue index aba7f0a92..96ef02168 100644 --- a/src/components/VnSelectProvince.vue +++ b/src/components/VnSelectProvince.vue @@ -53,7 +53,7 @@ async function onProvinceCreated(_, data) { - - es: - Province: Provincia + +es: + Province: Provincia diff --git a/src/components/VnTable/VnTable.vue b/src/components/VnTable/VnTable.vue index 432fe7b2d..ef56cf633 100644 --- a/src/components/VnTable/VnTable.vue +++ b/src/components/VnTable/VnTable.vue @@ -703,7 +703,7 @@ function handleOnDataSaved(_) { - + en: status: Status table view: Table view diff --git a/src/components/VnTable/VnVisibleColumn.vue b/src/components/VnTable/VnVisibleColumn.vue index 36f5ed7de..a4d15e627 100644 --- a/src/components/VnTable/VnVisibleColumn.vue +++ b/src/components/VnTable/VnVisibleColumn.vue @@ -181,9 +181,9 @@ onMounted(async () => { } - - es: - Check the columns you want to see: Marca las columnas que quieres ver - Visible columns: Columnas visibles - Tick all: Marcar todas + +es: + Check the columns you want to see: Marca las columnas que quieres ver + Visible columns: Columnas visibles + Tick all: Marcar todas diff --git a/src/components/common/SendEmailDialog.vue b/src/components/common/SendEmailDialog.vue index d73133921..77b3ab2e5 100644 --- a/src/components/common/SendEmailDialog.vue +++ b/src/components/common/SendEmailDialog.vue @@ -78,8 +78,8 @@ async function confirm() { } - - es: - Send email notification: Enviar notificación por correo - The notification will be sent to the following address: La notificación se enviará a la siguiente dirección + +es: + Send email notification: Enviar notificación por correo + The notification will be sent to the following address: La notificación se enviará a la siguiente dirección diff --git a/src/components/common/SendSmsDialog.vue b/src/components/common/SendSmsDialog.vue index 9882c613a..e125f9f99 100644 --- a/src/components/common/SendSmsDialog.vue +++ b/src/components/common/SendSmsDialog.vue @@ -144,7 +144,7 @@ const onSubmit = async () => { max-width: 450px; } - + es: Message: Mensaje Send: Enviar diff --git a/src/components/common/TableVisibleColumns.vue b/src/components/common/TableVisibleColumns.vue index 9a6c70ef0..e87448f1e 100644 --- a/src/components/common/TableVisibleColumns.vue +++ b/src/components/common/TableVisibleColumns.vue @@ -191,8 +191,8 @@ onMounted(async () => { } - - es: - Check the columns you want to see: Marca las columnas que quieres ver - Visible columns: Columnas visibles + +es: + Check the columns you want to see: Marca las columnas que quieres ver + Visible columns: Columnas visibles diff --git a/src/components/common/VnDms.vue b/src/components/common/VnDms.vue index 9253d7c8f..7b3c28d5a 100644 --- a/src/components/common/VnDms.vue +++ b/src/components/common/VnDms.vue @@ -195,7 +195,7 @@ function addDefaultData(data) { row-gap: 20px; } - + en: contentTypesInfo: Allowed file types {allowedContentTypes} EntryDmsDescription: Reference {reference} @@ -207,5 +207,4 @@ es: EntryDmsDescription: Referencia {reference} WorkersDescription: Laboral del empleado {reference} SupplierDmsDescription: Referencia {reference} - diff --git a/src/components/common/VnDmsList.vue b/src/components/common/VnDmsList.vue index c6999f271..f8061b283 100644 --- a/src/components/common/VnDmsList.vue +++ b/src/components/common/VnDmsList.vue @@ -419,7 +419,7 @@ defineExpose({ color: var(--vn-label-color); } - + en: contentTypesInfo: Allowed file types {allowedContentTypes} The documentation is available in paper form: The documentation is available in paper form diff --git a/src/components/common/VnInput.vue b/src/components/common/VnInput.vue index 26160929c..2ffb525a4 100644 --- a/src/components/common/VnInput.vue +++ b/src/components/common/VnInput.vue @@ -117,13 +117,13 @@ const mixinRules = [ - - en: - inputMin: Must be more than {value} - inputMax: Must be less than {value} - es: - inputMin: Debe ser mayor a {value} - inputMax: Debe ser menor a {value} + +en: + inputMin: Must be more than {value} + inputMax: Must be less than {value} +es: + inputMin: Debe ser mayor a {value} + inputMax: Debe ser menor a {value} - - es: - Open date: Abrir fecha + +es: + Open date: Abrir fecha diff --git a/src/components/common/VnInputTime.vue b/src/components/common/VnInputTime.vue index 42ec79479..5831c94c1 100644 --- a/src/components/common/VnInputTime.vue +++ b/src/components/common/VnInputTime.vue @@ -131,7 +131,7 @@ function dateToTime(newDate) { display: none; } - - es: - Open time: Abrir tiempo + +es: + Open time: Abrir tiempo diff --git a/src/components/common/VnLocation.vue b/src/components/common/VnLocation.vue index 588d7fc81..e6d1c3024 100644 --- a/src/components/common/VnLocation.vue +++ b/src/components/common/VnLocation.vue @@ -72,5 +72,4 @@ const handleModelValue = (data) => { } - - + diff --git a/src/components/common/VnLog.vue b/src/components/common/VnLog.vue index 75529cb50..0c937d1bf 100644 --- a/src/components/common/VnLog.vue +++ b/src/components/common/VnLog.vue @@ -1039,7 +1039,7 @@ watch( } } - + en: to: To pointRecord: View record at this point in time diff --git a/src/components/common/VnLogFilter.vue b/src/components/common/VnLogFilter.vue index 086cda948..03917534c 100644 --- a/src/components/common/VnLogFilter.vue +++ b/src/components/common/VnLogFilter.vue @@ -62,7 +62,7 @@ const workers = ref(); - + en: params: search: Contains diff --git a/src/components/common/VnProgressModal.vue b/src/components/common/VnProgressModal.vue index cfd948d5f..0edef9d46 100644 --- a/src/components/common/VnProgressModal.vue +++ b/src/components/common/VnProgressModal.vue @@ -89,7 +89,7 @@ const cancel = () => { - + es: Progress: Progreso Total progress: Progreso total diff --git a/src/components/common/VnSmsDialog.vue b/src/components/common/VnSmsDialog.vue index 064394445..17b53b498 100644 --- a/src/components/common/VnSmsDialog.vue +++ b/src/components/common/VnSmsDialog.vue @@ -176,7 +176,7 @@ async function send() { } - + en: templates: pendingPayment: 'Your order is pending of payment. @@ -218,7 +218,8 @@ fr: Message: Message messageTooltip: Les caractères spéciaux comme les accents comptent comme plusieurs templates: - pendingPayment: 'Verdnatura : Commande en attente de règlement. Veuillez régler votre commande avant 9h. + pendingPayment: + 'Verdnatura : Commande en attente de règlement. Veuillez régler votre commande avant 9h. Sinon elle sera décalée en fonction de vos jours de livraison . Merci' minAmount: 'Verdnatura vous rappelle : Montant minimum nécessaire de 50 euros pour recevoir la commande { orderId } livraison { landing }. diff --git a/src/components/common/vnDiscount.vue b/src/components/common/vnDiscount.vue index b82923ad2..74dc8a6b5 100644 --- a/src/components/common/vnDiscount.vue +++ b/src/components/common/vnDiscount.vue @@ -127,7 +127,7 @@ function cancel({ cancel }) { - + es: New amount: Nuevo importe Update discount: Actualizar descuento diff --git a/src/components/ui/CardList.vue b/src/components/ui/CardList.vue index c9b062457..123263563 100644 --- a/src/components/ui/CardList.vue +++ b/src/components/ui/CardList.vue @@ -124,7 +124,7 @@ const toggleCardCheck = (item) => { } - - es: - ID: ID + +es: + ID: ID diff --git a/src/components/ui/CardSummary.vue b/src/components/ui/CardSummary.vue index 6c2c58a34..3e2fb3967 100644 --- a/src/components/ui/CardSummary.vue +++ b/src/components/ui/CardSummary.vue @@ -207,6 +207,8 @@ function existSummary(routes) { } - + es: to: to price-kg: Precio por Kg diff --git a/src/components/ui/FetchedTags.vue b/src/components/ui/FetchedTags.vue index a0edf85f8..47553fc4c 100644 --- a/src/components/ui/FetchedTags.vue +++ b/src/components/ui/FetchedTags.vue @@ -46,6 +46,8 @@ const tags = computed(() => { - + es: Confirm: Confirmar Are you sure you want to continue?: ¿Seguro que quieres continuar? diff --git a/src/components/ui/VnFilterPanel.vue b/src/components/ui/VnFilterPanel.vue index d8ef77c34..78734b90f 100644 --- a/src/components/ui/VnFilterPanel.vue +++ b/src/components/ui/VnFilterPanel.vue @@ -286,7 +286,7 @@ function sanitizer(params) { } - + es: No filters applied: No se han aplicado filtros Applied filters: Filtros aplicados diff --git a/src/components/ui/VnNotes.vue b/src/components/ui/VnNotes.vue index 4f5ddc7a2..7094c036c 100644 --- a/src/components/ui/VnNotes.vue +++ b/src/components/ui/VnNotes.vue @@ -151,10 +151,9 @@ onBeforeRouteLeave((to, from, next) => { background-color: $primary; } - - es: - Add note here...: Añadir nota aquí... - New note: Nueva nota - Save (Enter): Guardar (Intro) - + +es: + Add note here...: Añadir nota aquí... + New note: Nueva nota + Save (Enter): Guardar (Intro) diff --git a/src/components/ui/VnPaginate.vue b/src/components/ui/VnPaginate.vue index 104892577..4a2297a0c 100644 --- a/src/components/ui/VnPaginate.vue +++ b/src/components/ui/VnPaginate.vue @@ -247,7 +247,7 @@ defineExpose({ fetch, addFilter, paginate }); } - + es: No data to display: Sin datos que mostrar No results found: No se han encontrado resultados diff --git a/src/pages/Account/AccountAccounts.vue b/src/pages/Account/AccountAccounts.vue index 659796b86..2b41dd50b 100644 --- a/src/pages/Account/AccountAccounts.vue +++ b/src/pages/Account/AccountAccounts.vue @@ -95,7 +95,7 @@ const onSynchronizeRoles = async () => { - + es: Roles synchronized!: ¡Roles sincronizados! Synchronizing in the background: Sincronizando en segundo plano diff --git a/src/pages/Account/AccountAcls.vue b/src/pages/Account/AccountAcls.vue index 7c396f0d1..9a1e28b19 100644 --- a/src/pages/Account/AccountAcls.vue +++ b/src/pages/Account/AccountAcls.vue @@ -150,7 +150,7 @@ const deleteAcl = async ({ id }) => { /> - + es: New ACL: Nuevo ACL ACL removed: ACL eliminado diff --git a/src/pages/Account/AccountAliasList.vue b/src/pages/Account/AccountAliasList.vue index 54c7fbbeb..5236b7172 100644 --- a/src/pages/Account/AccountAliasList.vue +++ b/src/pages/Account/AccountAliasList.vue @@ -74,9 +74,9 @@ const columns = computed(() => [ /> - - es: - Id: Id - Alias: Alias - Description: Descripción + +es: + Id: Id + Alias: Alias + Description: Descripción diff --git a/src/pages/Account/AccountConnections.vue b/src/pages/Account/AccountConnections.vue index 7738b0f9e..effa93d08 100644 --- a/src/pages/Account/AccountConnections.vue +++ b/src/pages/Account/AccountConnections.vue @@ -102,7 +102,7 @@ const killSession = async ({ userId, created }) => { - + es: Session killed: Sesión matada Session will be killed: Se va a matar la sesión diff --git a/src/pages/Account/AccountLdap.vue b/src/pages/Account/AccountLdap.vue index 96c15ec87..0cee79e91 100644 --- a/src/pages/Account/AccountLdap.vue +++ b/src/pages/Account/AccountLdap.vue @@ -156,7 +156,7 @@ onMounted(async () => await getInitialLdapConfig()); - + es: LDAP connection established!: ¡Conexión con LDAP establecida! diff --git a/src/pages/Account/AccountList.vue b/src/pages/Account/AccountList.vue index 28b528459..c0f47f452 100644 --- a/src/pages/Account/AccountList.vue +++ b/src/pages/Account/AccountList.vue @@ -118,9 +118,9 @@ const exprBuilder = (param, value) => { /> - - es: - Id: Id - Nickname: Nickname - Name: Nombre + +es: + Id: Id + Nickname: Nickname + Name: Nombre diff --git a/src/pages/Account/AccountSamba.vue b/src/pages/Account/AccountSamba.vue index e70ec4f13..3020485a6 100644 --- a/src/pages/Account/AccountSamba.vue +++ b/src/pages/Account/AccountSamba.vue @@ -176,7 +176,7 @@ onMounted(async () => await getInitialSambaConfig()); - + es: Samba connection established!: ¡Conexión con LDAP establecida! diff --git a/src/pages/Account/Alias/AliasCreateForm.vue b/src/pages/Account/Alias/AliasCreateForm.vue index e66909e74..1d8260df7 100644 --- a/src/pages/Account/Alias/AliasCreateForm.vue +++ b/src/pages/Account/Alias/AliasCreateForm.vue @@ -51,7 +51,7 @@ const onDataSaved = ({ id }) => { - - es: - Create alias: Crear alias + +es: + Create alias: Crear alias diff --git a/src/pages/Account/Alias/Card/AliasDescriptor.vue b/src/pages/Account/Alias/Card/AliasDescriptor.vue index 93fbb5430..fe6e8bf12 100644 --- a/src/pages/Account/Alias/Card/AliasDescriptor.vue +++ b/src/pages/Account/Alias/Card/AliasDescriptor.vue @@ -76,13 +76,13 @@ const removeAlias = () => { - - en: - accountRate: Claming rate - es: - accountRate: Ratio de reclamación - Delete: Eliminar - Alias will be removed: El alias será eliminado - Are you sure you want to continue?: ¿Seguro que quieres continuar? - Alias removed: Alias eliminado + +en: + accountRate: Claming rate +es: + accountRate: Ratio de reclamación + Delete: Eliminar + Alias will be removed: El alias será eliminado + Are you sure you want to continue?: ¿Seguro que quieres continuar? + Alias removed: Alias eliminado diff --git a/src/pages/Account/Alias/Card/AliasUsers.vue b/src/pages/Account/Alias/Card/AliasUsers.vue index 40bf9f828..aa8e5bed3 100644 --- a/src/pages/Account/Alias/Card/AliasUsers.vue +++ b/src/pages/Account/Alias/Card/AliasUsers.vue @@ -113,7 +113,7 @@ const fetchAliases = () => paginateRef.value.fetch(); - + es: User will be removed from alias: El usuario será borrado del alias Are you sure you want to continue?: ¿Seguro que quieres continuar? diff --git a/src/pages/Account/Card/AccountDescriptor.vue b/src/pages/Account/Card/AccountDescriptor.vue index 7512c2b75..d1aa6d5f0 100644 --- a/src/pages/Account/Card/AccountDescriptor.vue +++ b/src/pages/Account/Card/AccountDescriptor.vue @@ -108,9 +108,9 @@ const hasAccount = ref(false); margin-top: 0; } - - en: - accountRate: Claming rate - es: - accountRate: Ratio de reclamación + +en: + accountRate: Claming rate +es: + accountRate: Ratio de reclamación diff --git a/src/pages/Account/Card/AccountMailAlias.vue b/src/pages/Account/Card/AccountMailAlias.vue index ba862379c..896add74f 100644 --- a/src/pages/Account/Card/AccountMailAlias.vue +++ b/src/pages/Account/Card/AccountMailAlias.vue @@ -182,7 +182,7 @@ onMounted(async () => await getAccountData(false)); - + es: Unsubscribed from alias!: ¡Desuscrito del alias! Subscribed to alias!: ¡Suscrito al alias! diff --git a/src/pages/Account/InheritedRoles.vue b/src/pages/Account/InheritedRoles.vue index e1f7bc493..cc2bb663f 100644 --- a/src/pages/Account/InheritedRoles.vue +++ b/src/pages/Account/InheritedRoles.vue @@ -88,7 +88,7 @@ const redirectToRoleSummary = (id) => - + es: Role removed. Changes will take a while to fully propagate.: Rol eliminado. Los cambios tardaran un tiempo en propagarse completamente. Role added! Changes will take a while to fully propagate.: ¡Rol añadido! Los cambios tardaran un tiempo en propagarse completamente. diff --git a/src/pages/Account/Role/AccountRoles.vue b/src/pages/Account/Role/AccountRoles.vue index e9cfb8a5c..bba18d884 100644 --- a/src/pages/Account/Role/AccountRoles.vue +++ b/src/pages/Account/Role/AccountRoles.vue @@ -107,9 +107,9 @@ const exprBuilder = (param, value) => { /> - - es: - Id: Id - Description: Descripción - Name: Nombre + +es: + Id: Id + Description: Descripción + Name: Nombre diff --git a/src/pages/Account/Role/Card/InheritedRoles.vue b/src/pages/Account/Role/Card/InheritedRoles.vue index 1a6001d0a..eedd0400e 100644 --- a/src/pages/Account/Role/Card/InheritedRoles.vue +++ b/src/pages/Account/Role/Card/InheritedRoles.vue @@ -87,7 +87,7 @@ const redirectToRoleSummary = (id) => - + es: Role removed. Changes will take a while to fully propagate.: Rol eliminado. Los cambios tardaran un tiempo en propagarse completamente. Role added! Changes will take a while to fully propagate.: ¡Rol añadido! Los cambios tardaran un tiempo en propagarse completamente. diff --git a/src/pages/Account/Role/Card/RoleDescriptor.vue b/src/pages/Account/Role/Card/RoleDescriptor.vue index 761f4e4a7..9212f05d4 100644 --- a/src/pages/Account/Role/Card/RoleDescriptor.vue +++ b/src/pages/Account/Role/Card/RoleDescriptor.vue @@ -67,9 +67,9 @@ const removeRole = async () => { margin-top: 0; } - - en: - accountRate: Claming rate - es: - accountRate: Ratio de reclamación + +en: + accountRate: Claming rate +es: + accountRate: Ratio de reclamación diff --git a/src/pages/Account/Role/Card/RoleForm.vue b/src/pages/Account/Role/Card/RoleForm.vue index 21036e5ab..41550aa20 100644 --- a/src/pages/Account/Role/Card/RoleForm.vue +++ b/src/pages/Account/Role/Card/RoleForm.vue @@ -37,7 +37,7 @@ const { t } = useI18n(); - - es: - Create role: Crear role + +es: + Create role: Crear role diff --git a/src/pages/Account/Role/Card/SubRoles.vue b/src/pages/Account/Role/Card/SubRoles.vue index 67ebe20a9..e4b1d61a6 100644 --- a/src/pages/Account/Role/Card/SubRoles.vue +++ b/src/pages/Account/Role/Card/SubRoles.vue @@ -155,7 +155,7 @@ const redirectToRoleSummary = (id) => - + es: Role removed. Changes will take a while to fully propagate.: Rol eliminado. Los cambios tardaran un tiempo en propagarse completamente. Role added! Changes will take a while to fully propagate.: ¡Rol añadido! Los cambios tardaran un tiempo en propagarse completamente. diff --git a/src/pages/Claim/Card/ClaimAction.vue b/src/pages/Claim/Card/ClaimAction.vue index 7a42e41e4..59b25835e 100644 --- a/src/pages/Claim/Card/ClaimAction.vue +++ b/src/pages/Claim/Card/ClaimAction.vue @@ -469,7 +469,7 @@ async function post(query, params) { float: inline-start; } - + en: mana: Is paid with mana dialog title: Change destination to all selected rows diff --git a/src/pages/Claim/Card/ClaimDescriptor.vue b/src/pages/Claim/Card/ClaimDescriptor.vue index 60ff1aa75..af23a67b9 100644 --- a/src/pages/Claim/Card/ClaimDescriptor.vue +++ b/src/pages/Claim/Card/ClaimDescriptor.vue @@ -164,9 +164,9 @@ onMounted(async () => { margin-top: 0; } - - en: - claimRate: Claming rate - es: - claimRate: Ratio de reclamación + +en: + claimRate: Claming rate +es: + claimRate: Ratio de reclamación diff --git a/src/pages/Claim/Card/ClaimDescriptorMenu.vue b/src/pages/Claim/Card/ClaimDescriptorMenu.vue index 041903588..e4d03d0a0 100644 --- a/src/pages/Claim/Card/ClaimDescriptorMenu.vue +++ b/src/pages/Claim/Card/ClaimDescriptorMenu.vue @@ -108,23 +108,25 @@ async function remove() { - + { - "en": { - "pickupOrder": "Pickup order", - "openPickupOrder": "Open pickup order", - "sendPickupOrder": "Send pickup order", - "deleteClaim": "Delete claim", - "confirmDeletion": "Confirm deletion", - "confirmDeletionMessage": "Are you sure you want to delete this claim?" - }, - "es": { - "pickupOrder": "Orden de recogida", - "openPickupOrder": "Abrir orden de recogida", - "sendPickupOrder": "Enviar orden de recogida", - "deleteClaim": "Eliminar reclamación", - "confirmDeletion": "Confirmar eliminación", - "confirmDeletionMessage": "Seguro que quieres eliminar esta reclamación?" - } + 'en': + { + 'pickupOrder': 'Pickup order', + 'openPickupOrder': 'Open pickup order', + 'sendPickupOrder': 'Send pickup order', + 'deleteClaim': 'Delete claim', + 'confirmDeletion': 'Confirm deletion', + 'confirmDeletionMessage': 'Are you sure you want to delete this claim?', + }, + 'es': + { + 'pickupOrder': 'Orden de recogida', + 'openPickupOrder': 'Abrir orden de recogida', + 'sendPickupOrder': 'Enviar orden de recogida', + 'deleteClaim': 'Eliminar reclamación', + 'confirmDeletion': 'Confirmar eliminación', + 'confirmDeletionMessage': 'Seguro que quieres eliminar esta reclamación?', + }, } diff --git a/src/pages/Claim/Card/ClaimDevelopment.vue b/src/pages/Claim/Card/ClaimDevelopment.vue index 3d7b6dff6..603c66056 100644 --- a/src/pages/Claim/Card/ClaimDevelopment.vue +++ b/src/pages/Claim/Card/ClaimDevelopment.vue @@ -245,7 +245,7 @@ const columns = computed(() => [ } - + es: Reason: Motivo Result: Consecuencia diff --git a/src/pages/Claim/Card/ClaimLines.vue b/src/pages/Claim/Card/ClaimLines.vue index d2adf383d..395413034 100644 --- a/src/pages/Claim/Card/ClaimLines.vue +++ b/src/pages/Claim/Card/ClaimLines.vue @@ -332,7 +332,7 @@ async function saveWhenHasChanges() { } - + en: You are about to remove {count} rows: ' You are about to remove {count} row | diff --git a/src/pages/Claim/Card/ClaimLinesImport.vue b/src/pages/Claim/Card/ClaimLinesImport.vue index 4b2ca8d57..8edfc1d00 100644 --- a/src/pages/Claim/Card/ClaimLinesImport.vue +++ b/src/pages/Claim/Card/ClaimLinesImport.vue @@ -155,7 +155,7 @@ function cancel() { } - + es: Available sales lines: Líneas de venta disponibles Delivered: Entrega diff --git a/src/pages/Claim/Card/ClaimPhoto.vue b/src/pages/Claim/Card/ClaimPhoto.vue index 272e5454c..ff2ece840 100644 --- a/src/pages/Claim/Card/ClaimPhoto.vue +++ b/src/pages/Claim/Card/ClaimPhoto.vue @@ -352,7 +352,7 @@ function onDrag() { } - - es: - This file will be deleted: Este archivo va a ser borrado + +es: + This file will be deleted: Este archivo va a ser borrado diff --git a/src/pages/Claim/ClaimFilter.vue b/src/pages/Claim/ClaimFilter.vue index 64ceace1c..47a873c88 100644 --- a/src/pages/Claim/ClaimFilter.vue +++ b/src/pages/Claim/ClaimFilter.vue @@ -140,7 +140,7 @@ defineExpose({ states }); - + en: params: search: Contains diff --git a/src/pages/Claim/ClaimList.vue b/src/pages/Claim/ClaimList.vue index 09ad50106..fb078b081 100644 --- a/src/pages/Claim/ClaimList.vue +++ b/src/pages/Claim/ClaimList.vue @@ -150,7 +150,7 @@ const STATE_COLOR = { - + es: Search claim: Buscar reclamación You can search by claim id or customer name: Puedes buscar por id de la reclamación o nombre del cliente diff --git a/src/pages/Customer/Card/CustomerAddress.vue b/src/pages/Customer/Card/CustomerAddress.vue index 166c33e1a..498098a20 100644 --- a/src/pages/Customer/Card/CustomerAddress.vue +++ b/src/pages/Customer/Card/CustomerAddress.vue @@ -246,7 +246,7 @@ const toCustomerAddressEdit = (addressId) => { } - + es: Is equalizated: Recargo de equivalencia Is logiflora allowed: Compra directa en Holanda diff --git a/src/pages/Customer/Card/CustomerBalance.vue b/src/pages/Customer/Card/CustomerBalance.vue index 854ba8d14..318aac69d 100644 --- a/src/pages/Customer/Card/CustomerBalance.vue +++ b/src/pages/Customer/Card/CustomerBalance.vue @@ -281,7 +281,7 @@ const showBalancePdf = ({ id }) => { - + en: bill: 'N/INV {ref}' es: diff --git a/src/pages/Customer/Card/CustomerBasicData.vue b/src/pages/Customer/Card/CustomerBasicData.vue index 29edd3459..32e9256ac 100644 --- a/src/pages/Customer/Card/CustomerBasicData.vue +++ b/src/pages/Customer/Card/CustomerBasicData.vue @@ -164,7 +164,7 @@ const title = ref(); - + es: In case of a company succession, specify the grantor company: En el caso de que haya habido una sucesión de empresa, indicar la empresa cedente Comercial name: Nombre comercial diff --git a/src/pages/Customer/Card/CustomerBillingData.vue b/src/pages/Customer/Card/CustomerBillingData.vue index 696784bdb..082ffea3b 100644 --- a/src/pages/Customer/Card/CustomerBillingData.vue +++ b/src/pages/Customer/Card/CustomerBillingData.vue @@ -94,7 +94,7 @@ const getBankEntities = (data, formData) => { - + es: Billing data: Forma de pago Due day: Vencimiento diff --git a/src/pages/Customer/Card/CustomerConsumption.vue b/src/pages/Customer/Card/CustomerConsumption.vue index b4215b0bd..afd3df82a 100644 --- a/src/pages/Customer/Card/CustomerConsumption.vue +++ b/src/pages/Customer/Card/CustomerConsumption.vue @@ -234,7 +234,7 @@ const sendCampaignMetricsEmail = ({ address }) => { - + es: Enter a new search: Introduce una nueva búsqueda Group by items: Agrupar por artículos diff --git a/src/pages/Customer/Card/CustomerContacts.vue b/src/pages/Customer/Card/CustomerContacts.vue index ab52b6cf7..9d062d333 100644 --- a/src/pages/Customer/Card/CustomerContacts.vue +++ b/src/pages/Customer/Card/CustomerContacts.vue @@ -76,7 +76,7 @@ const customerContactsRef = ref(null); - + es: Name: Nombre Phone: Teléfono diff --git a/src/pages/Customer/Card/CustomerCreditContracts.vue b/src/pages/Customer/Card/CustomerCreditContracts.vue index 0ff074793..2cc62f0e4 100644 --- a/src/pages/Customer/Card/CustomerCreditContracts.vue +++ b/src/pages/Customer/Card/CustomerCreditContracts.vue @@ -222,7 +222,7 @@ const updateData = () => { } - + es: Close contract: Cerrar contrato Since: Desde diff --git a/src/pages/Customer/Card/CustomerCreditOpinion.vue b/src/pages/Customer/Card/CustomerCreditOpinion.vue index 92fef1d76..4a27f888e 100644 --- a/src/pages/Customer/Card/CustomerCreditOpinion.vue +++ b/src/pages/Customer/Card/CustomerCreditOpinion.vue @@ -111,7 +111,7 @@ const columns = computed(() => [ --> - + es: Recommended credit: Crédito recomendado Since: Desde diff --git a/src/pages/Customer/Card/CustomerCredits.vue b/src/pages/Customer/Card/CustomerCredits.vue index 036313b03..f3a3d2933 100644 --- a/src/pages/Customer/Card/CustomerCredits.vue +++ b/src/pages/Customer/Card/CustomerCredits.vue @@ -83,7 +83,7 @@ const columns = computed(() => [ - + es: Since: Desde Employee: Empleado diff --git a/src/pages/Customer/Card/CustomerDescriptor.vue b/src/pages/Customer/Card/CustomerDescriptor.vue index 90aaff511..57fdf8a80 100644 --- a/src/pages/Customer/Card/CustomerDescriptor.vue +++ b/src/pages/Customer/Card/CustomerDescriptor.vue @@ -195,7 +195,7 @@ const setData = (entity) => (data.value = useCardDescription(entity?.name, entit - + en: unpaidDated: 'Date {dated}' unpaidAmount: 'Amount {amount}' diff --git a/src/pages/Customer/Card/CustomerDescriptorMenu.vue b/src/pages/Customer/Card/CustomerDescriptorMenu.vue index 89b10a4fe..6b76fa524 100644 --- a/src/pages/Customer/Card/CustomerDescriptorMenu.vue +++ b/src/pages/Customer/Card/CustomerDescriptorMenu.vue @@ -76,7 +76,7 @@ const openOrderCreateForm = () => { - + es: Simple ticket: Ticket simple Send SMS: Enviar SMS diff --git a/src/pages/Customer/Card/CustomerFileManagement.vue b/src/pages/Customer/Card/CustomerFileManagement.vue index f85f68f84..ba5319e8f 100644 --- a/src/pages/Customer/Card/CustomerFileManagement.vue +++ b/src/pages/Customer/Card/CustomerFileManagement.vue @@ -245,7 +245,7 @@ const toCustomerFileManagementCreate = () => { - + es: Id: Id Type: Tipo diff --git a/src/pages/Customer/Card/CustomerFiscalData.vue b/src/pages/Customer/Card/CustomerFiscalData.vue index 938ad05f5..37a8f370a 100644 --- a/src/pages/Customer/Card/CustomerFiscalData.vue +++ b/src/pages/Customer/Card/CustomerFiscalData.vue @@ -148,7 +148,7 @@ function handleLocation(data, location) { - + es: Social name: Razón social Tax number: NIF / CIF diff --git a/src/pages/Customer/Card/CustomerGreuges.vue b/src/pages/Customer/Card/CustomerGreuges.vue index a3a7dd771..d58b38eff 100644 --- a/src/pages/Customer/Card/CustomerGreuges.vue +++ b/src/pages/Customer/Card/CustomerGreuges.vue @@ -133,7 +133,7 @@ const columns = computed(() => [ } - + es: Total: Total Date: Fecha diff --git a/src/pages/Customer/Card/CustomerMandates.vue b/src/pages/Customer/Card/CustomerMandates.vue index 248515b4a..e60d7af61 100644 --- a/src/pages/Customer/Card/CustomerMandates.vue +++ b/src/pages/Customer/Card/CustomerMandates.vue @@ -74,7 +74,7 @@ const columns = computed(() => [ - + es: Register date: Fecha alta End date: Fecha baja diff --git a/src/pages/Customer/Card/CustomerRecoveries.vue b/src/pages/Customer/Card/CustomerRecoveries.vue index d5accf559..9e0ccfb44 100644 --- a/src/pages/Customer/Card/CustomerRecoveries.vue +++ b/src/pages/Customer/Card/CustomerRecoveries.vue @@ -100,7 +100,7 @@ function setFinished(id) { /> - + es: Period: Periodo New recovery: Nuevo recobro diff --git a/src/pages/Customer/Card/CustomerSamples.vue b/src/pages/Customer/Card/CustomerSamples.vue index f12691112..fbe6fd56c 100644 --- a/src/pages/Customer/Card/CustomerSamples.vue +++ b/src/pages/Customer/Card/CustomerSamples.vue @@ -112,7 +112,7 @@ const tableRef = ref(); - + es: Sent: Enviado Description: Descripción diff --git a/src/pages/Customer/Card/CustomerSummary.vue b/src/pages/Customer/Card/CustomerSummary.vue index b5d7ef735..94e84a885 100644 --- a/src/pages/Customer/Card/CustomerSummary.vue +++ b/src/pages/Customer/Card/CustomerSummary.vue @@ -316,7 +316,7 @@ const sumRisk = ({ clientRisks }) => { } - + en: valueInfo: Value from {min} to {max}. The higher the better value es: diff --git a/src/pages/Customer/Card/CustomerUnpaid.vue b/src/pages/Customer/Card/CustomerUnpaid.vue index ebe25cec9..b5e298742 100644 --- a/src/pages/Customer/Card/CustomerUnpaid.vue +++ b/src/pages/Customer/Card/CustomerUnpaid.vue @@ -162,7 +162,7 @@ watch( - + es: Unpaid client: Cliente impagado Date: Fecha diff --git a/src/pages/Customer/Card/CustomerWebAccess.vue b/src/pages/Customer/Card/CustomerWebAccess.vue index 22fe7adfe..4d2d7ac17 100644 --- a/src/pages/Customer/Card/CustomerWebAccess.vue +++ b/src/pages/Customer/Card/CustomerWebAccess.vue @@ -79,7 +79,7 @@ async function hasCustomerRole() { - + es: Enable web access: Habilitar acceso web User: Usuario diff --git a/src/pages/Customer/Card/CustomerWebPayment.vue b/src/pages/Customer/Card/CustomerWebPayment.vue index 482582078..4426fc06a 100644 --- a/src/pages/Customer/Card/CustomerWebPayment.vue +++ b/src/pages/Customer/Card/CustomerWebPayment.vue @@ -157,7 +157,7 @@ const refreshData = () => { - + es: State: Estado Id: Id diff --git a/src/pages/Customer/CustomerCreate.vue b/src/pages/Customer/CustomerCreate.vue index 6909a65cc..88bafc45b 100644 --- a/src/pages/Customer/CustomerCreate.vue +++ b/src/pages/Customer/CustomerCreate.vue @@ -128,7 +128,7 @@ function handleLocation(data, location) { } - + es: Comercial name: Nombre comercial Salesperson: Comercial diff --git a/src/pages/Customer/CustomerFilter.vue b/src/pages/Customer/CustomerFilter.vue index a4ac88545..82a22c1da 100644 --- a/src/pages/Customer/CustomerFilter.vue +++ b/src/pages/Customer/CustomerFilter.vue @@ -169,7 +169,7 @@ const zones = ref(); - + en: params: search: Contains diff --git a/src/pages/Customer/CustomerList.vue b/src/pages/Customer/CustomerList.vue index 6e2a2326a..746d6a51b 100644 --- a/src/pages/Customer/CustomerList.vue +++ b/src/pages/Customer/CustomerList.vue @@ -467,7 +467,7 @@ function handleLocation(data, location) { - + es: Web user: Usuario Web diff --git a/src/pages/Customer/Defaulter/CustomerBalanceDueTotal.vue b/src/pages/Customer/Defaulter/CustomerBalanceDueTotal.vue index c49ed5e32..a72862105 100644 --- a/src/pages/Customer/Defaulter/CustomerBalanceDueTotal.vue +++ b/src/pages/Customer/Defaulter/CustomerBalanceDueTotal.vue @@ -44,7 +44,7 @@ const { t } = useI18n(); } - + es: Total: Total Balance due: Saldo vencido diff --git a/src/pages/Customer/Defaulter/CustomerDefaulter.vue b/src/pages/Customer/Defaulter/CustomerDefaulter.vue index 11f6362f8..53c4d607d 100644 --- a/src/pages/Customer/Defaulter/CustomerDefaulter.vue +++ b/src/pages/Customer/Defaulter/CustomerDefaulter.vue @@ -258,9 +258,9 @@ function exprBuilder(param, value) { - + es: - Add observation: Añadir observación + Add observation: Añadir observación Client: Cliente Is worker: Es trabajador Salesperson: Comercial diff --git a/src/pages/Customer/Defaulter/CustomerDefaulterAddObservation.vue b/src/pages/Customer/Defaulter/CustomerDefaulterAddObservation.vue index ab6b5064c..65b6e30ac 100644 --- a/src/pages/Customer/Defaulter/CustomerDefaulterAddObservation.vue +++ b/src/pages/Customer/Defaulter/CustomerDefaulterAddObservation.vue @@ -88,8 +88,8 @@ const onSubmit = async () => { - - es: - Add observation to all selected clients: Añadir observación a { numberClients } cliente(s) seleccionado(s) - Message: Mensaje + +es: + Add observation to all selected clients: Añadir observación a { numberClients } cliente(s) seleccionado(s) + Message: Mensaje diff --git a/src/pages/Customer/Defaulter/CustomerDefaulterFilter.vue b/src/pages/Customer/Defaulter/CustomerDefaulterFilter.vue index d297b510d..42ba2fe95 100644 --- a/src/pages/Customer/Defaulter/CustomerDefaulterFilter.vue +++ b/src/pages/Customer/Defaulter/CustomerDefaulterFilter.vue @@ -215,7 +215,7 @@ const departments = ref(); - + en: params: clientFk: Client diff --git a/src/pages/Customer/Notifications/CustomerNotifications.vue b/src/pages/Customer/Notifications/CustomerNotifications.vue index ce18739b4..8e722fa1f 100644 --- a/src/pages/Customer/Notifications/CustomerNotifications.vue +++ b/src/pages/Customer/Notifications/CustomerNotifications.vue @@ -123,7 +123,7 @@ const columns = computed(() => [ } - + es: Identifier: Identificador Social name: Razón social diff --git a/src/pages/Customer/Notifications/CustomerNotificationsCampaignConsumption.vue b/src/pages/Customer/Notifications/CustomerNotificationsCampaignConsumption.vue index a0b175472..4bce6bf4b 100644 --- a/src/pages/Customer/Notifications/CustomerNotificationsCampaignConsumption.vue +++ b/src/pages/Customer/Notifications/CustomerNotificationsCampaignConsumption.vue @@ -134,19 +134,19 @@ onMounted(async () => { - - en: - params: - valentinesDay: Valentine's Day - mothersDay: Mother's Day - allSaints: All Saints' Day - es: - params: - valentinesDay: Día de San Valentín - mothersDay: Día de la Madre - allSaints: Día de Todos los Santos - Campaign consumption: Consumo campaña - Campaign: Campaña - From: Desde - To: Hasta + +en: + params: + valentinesDay: Valentine's Day + mothersDay: Mother's Day + allSaints: All Saints' Day +es: + params: + valentinesDay: Día de San Valentín + mothersDay: Día de la Madre + allSaints: Día de Todos los Santos + Campaign consumption: Consumo campaña + Campaign: Campaña + From: Desde + To: Hasta diff --git a/src/pages/Customer/Payments/CustomerPayments.vue b/src/pages/Customer/Payments/CustomerPayments.vue index ef2b812be..39d3849f8 100644 --- a/src/pages/Customer/Payments/CustomerPayments.vue +++ b/src/pages/Customer/Payments/CustomerPayments.vue @@ -141,7 +141,7 @@ const columns = computed(() => [ } - + es: Web Payments: Pagos Web Confirm transaction: Confirmar transacción diff --git a/src/pages/Customer/Payments/CustomerPaymentsFilter.vue b/src/pages/Customer/Payments/CustomerPaymentsFilter.vue index b9c55d1ec..04f7d6669 100644 --- a/src/pages/Customer/Payments/CustomerPaymentsFilter.vue +++ b/src/pages/Customer/Payments/CustomerPaymentsFilter.vue @@ -66,7 +66,7 @@ const props = defineProps({ - + en: params: orderFk: Order diff --git a/src/pages/Customer/components/CustomerAddressCreate.vue b/src/pages/Customer/components/CustomerAddressCreate.vue index 860d265c3..aca4a346c 100644 --- a/src/pages/Customer/components/CustomerAddressCreate.vue +++ b/src/pages/Customer/components/CustomerAddressCreate.vue @@ -152,7 +152,7 @@ function handleLocation(data, location) { } - + es: Default: Predeterminado Consignee: Consignatario diff --git a/src/pages/Customer/components/CustomerAddressEdit.vue b/src/pages/Customer/components/CustomerAddressEdit.vue index 433e3f358..ea039044e 100644 --- a/src/pages/Customer/components/CustomerAddressEdit.vue +++ b/src/pages/Customer/components/CustomerAddressEdit.vue @@ -294,7 +294,7 @@ function handleLocation(data, location) { } - + es: Enabled: Activo Is equalizated: Recargo de equivalencia diff --git a/src/pages/Customer/components/CustomerChangePassword.vue b/src/pages/Customer/components/CustomerChangePassword.vue index e6f2b5299..a7452aef6 100644 --- a/src/pages/Customer/components/CustomerChangePassword.vue +++ b/src/pages/Customer/components/CustomerChangePassword.vue @@ -130,7 +130,7 @@ const onSubmit = async () => { - + es: New password: Nueva contraseña Request password: Repetir contraseña diff --git a/src/pages/Customer/components/CustomerCheckIconTooltip.vue b/src/pages/Customer/components/CustomerCheckIconTooltip.vue index 52f798f96..8627da769 100644 --- a/src/pages/Customer/components/CustomerCheckIconTooltip.vue +++ b/src/pages/Customer/components/CustomerCheckIconTooltip.vue @@ -41,7 +41,7 @@ const setClientsConfirmTransaction = async () => { - + es: Confirm transaction: Confirmar transacción diff --git a/src/pages/Customer/components/CustomerCloseIconTooltip.vue b/src/pages/Customer/components/CustomerCloseIconTooltip.vue index 938b7034e..f408fa980 100644 --- a/src/pages/Customer/components/CustomerCloseIconTooltip.vue +++ b/src/pages/Customer/components/CustomerCloseIconTooltip.vue @@ -42,7 +42,7 @@ onBeforeMount(() => { - + es: Confirmed: Confirmada diff --git a/src/pages/Customer/components/CustomerCreditContractsCreate.vue b/src/pages/Customer/components/CustomerCreditContractsCreate.vue index 7fc023d85..2c691dd8a 100644 --- a/src/pages/Customer/components/CustomerCreditContractsCreate.vue +++ b/src/pages/Customer/components/CustomerCreditContractsCreate.vue @@ -66,7 +66,7 @@ const toCustomerCreditContracts = () => { - + es: Credit: Crédito Grade: Grade diff --git a/src/pages/Customer/components/CustomerCreditContractsInsurance.vue b/src/pages/Customer/components/CustomerCreditContractsInsurance.vue index 70f7cf046..198b8b78f 100644 --- a/src/pages/Customer/components/CustomerCreditContractsInsurance.vue +++ b/src/pages/Customer/components/CustomerCreditContractsInsurance.vue @@ -55,7 +55,7 @@ const columns = computed(() => [ > - + es: Created: Fecha creación Grade: Grade diff --git a/src/pages/Customer/components/CustomerFileManagementActions.vue b/src/pages/Customer/components/CustomerFileManagementActions.vue index 683f062ff..81bd074b0 100644 --- a/src/pages/Customer/components/CustomerFileManagementActions.vue +++ b/src/pages/Customer/components/CustomerFileManagementActions.vue @@ -88,7 +88,7 @@ const setData = () => { - + en: actionFile: '{action} file' es: diff --git a/src/pages/Customer/components/CustomerFileManagementCreate.vue b/src/pages/Customer/components/CustomerFileManagementCreate.vue index 9d5f58aa2..5e3a4d384 100644 --- a/src/pages/Customer/components/CustomerFileManagementCreate.vue +++ b/src/pages/Customer/components/CustomerFileManagementCreate.vue @@ -243,7 +243,7 @@ const toCustomerFileManagement = () => { - + en: clientFileDescription: '{dmsTypeName} FROM CLIENT {clientName} ID {clientId}' es: diff --git a/src/pages/Customer/components/CustomerFileManagementDelete.vue b/src/pages/Customer/components/CustomerFileManagementDelete.vue index 36f3a47ed..d9680770a 100644 --- a/src/pages/Customer/components/CustomerFileManagementDelete.vue +++ b/src/pages/Customer/components/CustomerFileManagementDelete.vue @@ -75,7 +75,7 @@ const deleteDms = async () => { - + es: This file will be deleted: Este fichero va a ser borrado Are you sure you want to continue?: ¿Seguro que quieres continuar? diff --git a/src/pages/Customer/components/CustomerFileManagementEdit.vue b/src/pages/Customer/components/CustomerFileManagementEdit.vue index 3cc93855b..f7b0f99e9 100644 --- a/src/pages/Customer/components/CustomerFileManagementEdit.vue +++ b/src/pages/Customer/components/CustomerFileManagementEdit.vue @@ -220,7 +220,7 @@ const toCustomerFileManagement = () => { - + en: clientFileDescription: '{dmsTypeName} FROM CLIENT {clientName} ID {clientId}' es: diff --git a/src/pages/Customer/components/CustomerNewCustomsAgent.vue b/src/pages/Customer/components/CustomerNewCustomsAgent.vue index 2db33f70d..7806491ec 100644 --- a/src/pages/Customer/components/CustomerNewCustomsAgent.vue +++ b/src/pages/Customer/components/CustomerNewCustomsAgent.vue @@ -44,7 +44,7 @@ const onDataSaved = (dataSaved) => { - + es: New customs agent: Nuevo agente de aduanas NIF: NIF diff --git a/src/pages/Customer/components/CustomerNewPayment.vue b/src/pages/Customer/components/CustomerNewPayment.vue index b99419fa3..487d400bb 100644 --- a/src/pages/Customer/components/CustomerNewPayment.vue +++ b/src/pages/Customer/components/CustomerNewPayment.vue @@ -313,7 +313,7 @@ async function getAmountPaid() { - + es: New payment: Añadir pago Date: Fecha diff --git a/src/pages/Customer/components/CustomerRecoverieCreate.vue b/src/pages/Customer/components/CustomerRecoverieCreate.vue index ffbde736a..b9200c62a 100644 --- a/src/pages/Customer/components/CustomerRecoverieCreate.vue +++ b/src/pages/Customer/components/CustomerRecoverieCreate.vue @@ -72,7 +72,7 @@ const toCustomerRecoveries = () => { - + es: Since: Desde To: Hasta diff --git a/src/pages/Customer/components/CustomerSamplesCreate.vue b/src/pages/Customer/components/CustomerSamplesCreate.vue index 8b66bb9ad..44d0ef840 100644 --- a/src/pages/Customer/components/CustomerSamplesCreate.vue +++ b/src/pages/Customer/components/CustomerSamplesCreate.vue @@ -345,7 +345,7 @@ const toCustomerSamples = () => { - + es: New sample: Crear plantilla Sample: Plantilla diff --git a/src/pages/Customer/components/CustomerSummaryTable.vue b/src/pages/Customer/components/CustomerSummaryTable.vue index 946296e67..a28bcecf0 100644 --- a/src/pages/Customer/components/CustomerSummaryTable.vue +++ b/src/pages/Customer/components/CustomerSummaryTable.vue @@ -208,7 +208,7 @@ const setShippedColor = (date) => { - + es: Id: Id Nickname: Alias diff --git a/src/pages/Customer/components/ModalCloseContract.vue b/src/pages/Customer/components/ModalCloseContract.vue index 606cfab98..ccfc943f3 100644 --- a/src/pages/Customer/components/ModalCloseContract.vue +++ b/src/pages/Customer/components/ModalCloseContract.vue @@ -66,7 +66,7 @@ const saveData = async () => { - + es: Are you sure you want to close this contract?: ¿Seguro que quieres cerrar este contrato? Close contract: Cerrar contrato diff --git a/src/pages/Dashboard/DashboardMain.vue b/src/pages/Dashboard/DashboardMain.vue index 478224620..3780e9154 100644 --- a/src/pages/Dashboard/DashboardMain.vue +++ b/src/pages/Dashboard/DashboardMain.vue @@ -101,13 +101,9 @@ const pinnedModules = computed(() => navigation.getPinnedModules()); } - + { - "en": { - "pinnedInfo": "Your pinned modules will be shown here..." - }, - "es": { - "pinnedInfo": "Tus módulos fijados aparecerán aquí..." - } + 'en': { 'pinnedInfo': 'Your pinned modules will be shown here...' }, + 'es': { 'pinnedInfo': 'Tus módulos fijados aparecerán aquí...' }, } diff --git a/src/pages/Department/Card/DepartmentDescriptor.vue b/src/pages/Department/Card/DepartmentDescriptor.vue index 35341d1e0..126512966 100644 --- a/src/pages/Department/Card/DepartmentDescriptor.vue +++ b/src/pages/Department/Card/DepartmentDescriptor.vue @@ -117,7 +117,7 @@ const { openConfirmationModal } = useVnConfirm(); - - es: - Department workers: Trabajadores del departamento + +es: + Department workers: Trabajadores del departamento diff --git a/src/pages/Entry/Card/EntryBuys.vue b/src/pages/Entry/Card/EntryBuys.vue index c9a200e68..3d476acbb 100644 --- a/src/pages/Entry/Card/EntryBuys.vue +++ b/src/pages/Entry/Card/EntryBuys.vue @@ -480,7 +480,7 @@ const lockIconType = (groupingMode, mode) => { } - + es: Import buys: Importar compras Buy deleted: Compra eliminada diff --git a/src/pages/Entry/Card/EntryBuysImport.vue b/src/pages/Entry/Card/EntryBuysImport.vue index 5e5aca462..2f1d6c6a9 100644 --- a/src/pages/Entry/Card/EntryBuysImport.vue +++ b/src/pages/Entry/Card/EntryBuysImport.vue @@ -280,7 +280,7 @@ const redirectToBuysView = () => { - + es: globals.selectFile: Selecciona un fichero Some of the imported buys does not have an item: Algunas de las compras importadas no tienen un artículo diff --git a/src/pages/Entry/Card/EntryDescriptor.vue b/src/pages/Entry/Card/EntryDescriptor.vue index 03cf6f0c2..2192c02b1 100644 --- a/src/pages/Entry/Card/EntryDescriptor.vue +++ b/src/pages/Entry/Card/EntryDescriptor.vue @@ -195,7 +195,7 @@ watch; - + es: Supplier card: Ficha del proveedor All travels with current agency: Todos los envíos con la agencia actual diff --git a/src/pages/Entry/Card/EntryNotes.vue b/src/pages/Entry/Card/EntryNotes.vue index d442bf066..aa3fec49f 100644 --- a/src/pages/Entry/Card/EntryNotes.vue +++ b/src/pages/Entry/Card/EntryNotes.vue @@ -147,8 +147,8 @@ const columns = computed(() => [ /> - - es: - Add note: Añadir nota - Remove note: Quitar nota + +es: + Add note: Añadir nota + Remove note: Quitar nota diff --git a/src/pages/Entry/Card/EntrySummary.vue b/src/pages/Entry/Card/EntrySummary.vue index 4543637b3..d23023c99 100644 --- a/src/pages/Entry/Card/EntrySummary.vue +++ b/src/pages/Entry/Card/EntrySummary.vue @@ -339,7 +339,7 @@ const fetchEntryBuys = async () => { } - + es: Travel data: Datos envío diff --git a/src/pages/Entry/EntryCreate.vue b/src/pages/Entry/EntryCreate.vue index c468d8460..00a25cb94 100644 --- a/src/pages/Entry/EntryCreate.vue +++ b/src/pages/Entry/EntryCreate.vue @@ -150,9 +150,9 @@ const redirectToEntryBasicData = (_, { id }) => { - - es: - Supplier: Proveedor - Travel: Envío - Company: Empresa + +es: + Supplier: Proveedor + Travel: Envío + Company: Empresa diff --git a/src/pages/Entry/EntryFilter.vue b/src/pages/Entry/EntryFilter.vue index 99bf762a9..3b24dd267 100644 --- a/src/pages/Entry/EntryFilter.vue +++ b/src/pages/Entry/EntryFilter.vue @@ -207,10 +207,9 @@ onMounted(async () => { - + en: params: - invoiceNumber: Invoice number travelFk: Travel companyFk: Company @@ -224,7 +223,6 @@ en: isOrdered: Ordered es: params: - invoiceNumber: Núm. factura travelFk: Envío companyFk: Empresa diff --git a/src/pages/Entry/EntryLatestBuys.vue b/src/pages/Entry/EntryLatestBuys.vue index 6b6ac6da3..1aeebb63e 100644 --- a/src/pages/Entry/EntryLatestBuys.vue +++ b/src/pages/Entry/EntryLatestBuys.vue @@ -199,7 +199,7 @@ onUnmounted(() => (stateStore.rightDrawer = false)); /> - + es: Edit buy(s): Editar compra(s) diff --git a/src/pages/Entry/EntryList.vue b/src/pages/Entry/EntryList.vue index 7e8cfe716..486bbca05 100644 --- a/src/pages/Entry/EntryList.vue +++ b/src/pages/Entry/EntryList.vue @@ -240,7 +240,7 @@ onMounted(async () => { - + es: Inventory entry: Es inventario Virtual entry: Es una redada diff --git a/src/pages/Entry/EntryStockBought.vue b/src/pages/Entry/EntryStockBought.vue index ebd7f448f..5e6940f90 100644 --- a/src/pages/Entry/EntryStockBought.vue +++ b/src/pages/Entry/EntryStockBought.vue @@ -229,23 +229,23 @@ function openDialog() { margin-bottom: 0px; } - - en: - Buyer: Buyer - Reserve: Reserve - Bought: Bought - More: More - Date: Date - This buyer has already made a reservation for this date: This buyer has already made a reservation for this date - es: - Edit travel: Editar envío - Travel: Envíos - Booked trucks: Camiones reservados - Buyer: Comprador - Reserve: Reservado - Bought: Comprado - More: Más - Date: Fecha - Reserve some space: Reservar espacio - This buyer has already made a reservation for this date: Este comprador ya ha hecho una reserva para esta fecha + +en: + Buyer: Buyer + Reserve: Reserve + Bought: Bought + More: More + Date: Date + This buyer has already made a reservation for this date: This buyer has already made a reservation for this date +es: + Edit travel: Editar envío + Travel: Envíos + Booked trucks: Camiones reservados + Buyer: Comprador + Reserve: Reservado + Bought: Comprado + More: Más + Date: Fecha + Reserve some space: Reservar espacio + This buyer has already made a reservation for this date: Este comprador ya ha hecho una reserva para esta fecha diff --git a/src/pages/Entry/EntryStockBoughtDetail.vue b/src/pages/Entry/EntryStockBoughtDetail.vue index 2d306d9b3..08e68866f 100644 --- a/src/pages/Entry/EntryStockBoughtDetail.vue +++ b/src/pages/Entry/EntryStockBoughtDetail.vue @@ -103,11 +103,11 @@ const columns = [ margin: auto; } - - es: - Buyer: Comprador - Reserve: Reservado - Bought: Comprado - More: Más - Date: Fecha + +es: + Buyer: Comprador + Reserve: Reservado + Bought: Comprado + More: Más + Date: Fecha diff --git a/src/pages/Entry/EntryStockBoughtFilter.vue b/src/pages/Entry/EntryStockBoughtFilter.vue index 7694cfe6c..d267d3a68 100644 --- a/src/pages/Entry/EntryStockBoughtFilter.vue +++ b/src/pages/Entry/EntryStockBoughtFilter.vue @@ -50,14 +50,14 @@ onMounted(async () => { - - en: - params: - dated: Date - workerFk: Worker - es: - Date: Fecha - params: - dated: Date - workerFk: Trabajador + +en: + params: + dated: Date + workerFk: Worker +es: + Date: Fecha + params: + dated: Date + workerFk: Trabajador diff --git a/src/pages/Entry/MyEntries.vue b/src/pages/Entry/MyEntries.vue index dc77636a2..39039ee47 100644 --- a/src/pages/Entry/MyEntries.vue +++ b/src/pages/Entry/MyEntries.vue @@ -120,6 +120,6 @@ const printBuys = (rowId) => { /> - - You can search by entry reference: Puedes buscar por referencia de la entrada + +You can search by entry reference: Puedes buscar por referencia de la entrada diff --git a/src/pages/InvoiceIn/Card/InvoiceInBasicData.vue b/src/pages/InvoiceIn/Card/InvoiceInBasicData.vue index b9ee55d83..c3915c170 100644 --- a/src/pages/InvoiceIn/Card/InvoiceInBasicData.vue +++ b/src/pages/InvoiceIn/Card/InvoiceInBasicData.vue @@ -570,32 +570,32 @@ async function onSubmit() { } } - - en: - supplierFk: Supplier - es: - supplierFk: Proveedor - Supplier ref: Ref. proveedor - Expedition date: Fecha expedición - Operation date: Fecha operación - Undeductible VAT: Iva no deducible - Document: Documento - Download file: Descargar archivo - Entry date: Fecha asiento - Accounted date: Fecha contable - Currency: Moneda - Company: Empresa - Edit document: Editar documento - Reference: Referencia - Type: Tipo - Description: Descripción - Generate identifier for original file: Generar identificador para archivo original - File: Fichero - Create document: Crear documento - Allowed content types: Tipos de archivo permitidos - The company can't be empty: La empresa no puede estar vacía - The warehouse can't be empty: El almacén no puede estar vacío - The DMS Type can't be empty: El dms no puede estar vacío - The description can't be empty: La descripción no puede estar vacía - The files can't be empty: Los archivos no pueden estar vacíos + +en: + supplierFk: Supplier +es: + supplierFk: Proveedor + Supplier ref: Ref. proveedor + Expedition date: Fecha expedición + Operation date: Fecha operación + Undeductible VAT: Iva no deducible + Document: Documento + Download file: Descargar archivo + Entry date: Fecha asiento + Accounted date: Fecha contable + Currency: Moneda + Company: Empresa + Edit document: Editar documento + Reference: Referencia + Type: Tipo + Description: Descripción + Generate identifier for original file: Generar identificador para archivo original + File: Fichero + Create document: Crear documento + Allowed content types: Tipos de archivo permitidos + The company can't be empty: La empresa no puede estar vacía + The warehouse can't be empty: El almacén no puede estar vacío + The DMS Type can't be empty: El dms no puede estar vacío + The description can't be empty: La descripción no puede estar vacía + The files can't be empty: Los archivos no pueden estar vacíos diff --git a/src/pages/InvoiceIn/Card/InvoiceInCorrective.vue b/src/pages/InvoiceIn/Card/InvoiceInCorrective.vue index 7735747f9..6845a7944 100644 --- a/src/pages/InvoiceIn/Card/InvoiceInCorrective.vue +++ b/src/pages/InvoiceIn/Card/InvoiceInCorrective.vue @@ -156,7 +156,7 @@ const onSave = (data) => data.deletes && push(`/invoice-in/${invoiceId}/summary` - + es: Original invoice: Factura origen diff --git a/src/pages/InvoiceIn/Card/InvoiceInDescriptor.vue b/src/pages/InvoiceIn/Card/InvoiceInDescriptor.vue index f2de51a39..9756d1a2e 100644 --- a/src/pages/InvoiceIn/Card/InvoiceInDescriptor.vue +++ b/src/pages/InvoiceIn/Card/InvoiceInDescriptor.vue @@ -497,7 +497,7 @@ const createInvoiceInCorrection = async () => { } } - + en: isNotLinked: The entry {bookEntry} has been deleted with {accountingEntries} entries isLinked: The entry {bookEntry} has been linked to Sage. Please contact administration for further information diff --git a/src/pages/InvoiceIn/Card/InvoiceInDueDay.vue b/src/pages/InvoiceIn/Card/InvoiceInDueDay.vue index e8f73848b..f9e8ebd2b 100644 --- a/src/pages/InvoiceIn/Card/InvoiceInDueDay.vue +++ b/src/pages/InvoiceIn/Card/InvoiceInDueDay.vue @@ -238,10 +238,10 @@ async function insert() { background-color: var(--vn-light-gray); } - - es: - Date: Fecha - Bank: Caja - Amount: Importe - Foreign value: Divisa + +es: + Date: Fecha + Bank: Caja + Amount: Importe + Foreign value: Divisa diff --git a/src/pages/InvoiceIn/Card/InvoiceInIntrastat.vue b/src/pages/InvoiceIn/Card/InvoiceInIntrastat.vue index bee50a07d..b3e1e3a2a 100644 --- a/src/pages/InvoiceIn/Card/InvoiceInIntrastat.vue +++ b/src/pages/InvoiceIn/Card/InvoiceInIntrastat.vue @@ -253,19 +253,19 @@ const formatOpt = (row, { model, options }, prop) => { display: none; } - - en: - amount: Amount - net: Net - stems: Stems - country: Country - es: - Code: Código - amount: Cantidad - net: Neto - stems: Tallos - country: País - Total amount: Total importe - Total net: Total neto - Total stems: Total tallos + +en: + amount: Amount + net: Net + stems: Stems + country: Country +es: + Code: Código + amount: Cantidad + net: Neto + stems: Tallos + country: País + Total amount: Total importe + Total net: Total neto + Total stems: Total tallos diff --git a/src/pages/InvoiceIn/Card/InvoiceInSummary.vue b/src/pages/InvoiceIn/Card/InvoiceInSummary.vue index bc66963ac..d1fb036ab 100644 --- a/src/pages/InvoiceIn/Card/InvoiceInSummary.vue +++ b/src/pages/InvoiceIn/Card/InvoiceInSummary.vue @@ -461,10 +461,10 @@ const getLink = (param) => `#/invoice-in/${entityId.value}/${param}`; } } - - es: - Search invoice: Buscar factura recibida - You can search by invoice reference: Puedes buscar por referencia de la factura - Totals: Totales - To book: Contabilizar + +es: + Search invoice: Buscar factura recibida + You can search by invoice reference: Puedes buscar por referencia de la factura + Totals: Totales + To book: Contabilizar diff --git a/src/pages/InvoiceIn/Card/InvoiceInVat.vue b/src/pages/InvoiceIn/Card/InvoiceInVat.vue index 08834ecb8..5ae9f1d33 100644 --- a/src/pages/InvoiceIn/Card/InvoiceInVat.vue +++ b/src/pages/InvoiceIn/Card/InvoiceInVat.vue @@ -447,7 +447,7 @@ const formatOpt = (row, { model, options }, prop) => { background-color: $primary; } - + es: Expense: Gasto Create a new expense: Crear nuevo gasto diff --git a/src/pages/InvoiceIn/InvoiceInCreate.vue b/src/pages/InvoiceIn/InvoiceInCreate.vue index 562c9909e..a0ee75383 100644 --- a/src/pages/InvoiceIn/InvoiceInCreate.vue +++ b/src/pages/InvoiceIn/InvoiceInCreate.vue @@ -109,9 +109,9 @@ const redirectToInvoiceInBasicData = (__, { id }) => { - - es: - Supplier: Proveedor - Travel: Envío - Company: Empresa + +es: + Supplier: Proveedor + Travel: Envío + Company: Empresa diff --git a/src/pages/InvoiceIn/InvoiceInFilter.vue b/src/pages/InvoiceIn/InvoiceInFilter.vue index 684aee619..75e1a9630 100644 --- a/src/pages/InvoiceIn/InvoiceInFilter.vue +++ b/src/pages/InvoiceIn/InvoiceInFilter.vue @@ -135,7 +135,7 @@ const activities = ref([]); - + en: params: search: Id or supplier name diff --git a/src/pages/InvoiceIn/InvoiceInSearchbar.vue b/src/pages/InvoiceIn/InvoiceInSearchbar.vue index 3f6acee21..02b1888f0 100644 --- a/src/pages/InvoiceIn/InvoiceInSearchbar.vue +++ b/src/pages/InvoiceIn/InvoiceInSearchbar.vue @@ -11,7 +11,7 @@ const { t } = useI18n(); url="InvoiceIns/filter" /> - + es: Search invoice: Buscar factura recibida Search invoices in by id or supplier fiscal name: Buscar facturas recibidas por id o por nombre fiscal del proveedor diff --git a/src/pages/InvoiceIn/InvoiceInToBook.vue b/src/pages/InvoiceIn/InvoiceInToBook.vue index 95ce8155a..de9e0cb44 100644 --- a/src/pages/InvoiceIn/InvoiceInToBook.vue +++ b/src/pages/InvoiceIn/InvoiceInToBook.vue @@ -55,7 +55,7 @@ async function toBook(id) { - + es: Are you sure you want to book this invoice?: ¿Estás seguro de querer asentar esta factura? It was not able to book the invoice: No se pudo contabilizar la factura diff --git a/src/pages/InvoiceIn/Serial/InvoiceInSerial.vue b/src/pages/InvoiceIn/Serial/InvoiceInSerial.vue index 4eb9fa69d..93c066520 100644 --- a/src/pages/InvoiceIn/Serial/InvoiceInSerial.vue +++ b/src/pages/InvoiceIn/Serial/InvoiceInSerial.vue @@ -61,7 +61,7 @@ onBeforeMount(async () => { auto-load /> - + es: Serial: Serie Pending: Pendiente diff --git a/src/pages/InvoiceIn/Serial/InvoiceInSerialFilter.vue b/src/pages/InvoiceIn/Serial/InvoiceInSerialFilter.vue index 4f8c9d70b..d6743fdf3 100644 --- a/src/pages/InvoiceIn/Serial/InvoiceInSerialFilter.vue +++ b/src/pages/InvoiceIn/Serial/InvoiceInSerialFilter.vue @@ -41,7 +41,7 @@ const { t } = useI18n(); - + en: params: daysAgo: Last days diff --git a/src/pages/InvoiceOut/Card/InvoiceOutDescriptorMenu.vue b/src/pages/InvoiceOut/Card/InvoiceOutDescriptorMenu.vue index 6797ef033..b53c671bc 100644 --- a/src/pages/InvoiceOut/Card/InvoiceOutDescriptorMenu.vue +++ b/src/pages/InvoiceOut/Card/InvoiceOutDescriptorMenu.vue @@ -254,7 +254,7 @@ const showRefundInvoiceForm = () => { - + es: Transfer invoice to...: Transferir factura a... Show invoice...: Ver factura... diff --git a/src/pages/InvoiceOut/InvoiceOutFilter.vue b/src/pages/InvoiceOut/InvoiceOutFilter.vue index df414e649..59c367c90 100644 --- a/src/pages/InvoiceOut/InvoiceOutFilter.vue +++ b/src/pages/InvoiceOut/InvoiceOutFilter.vue @@ -132,7 +132,7 @@ function setWorkers(data) { - + en: params: search: Contains diff --git a/src/pages/InvoiceOut/InvoiceOutGlobal.vue b/src/pages/InvoiceOut/InvoiceOutGlobal.vue index 5f2eb3c02..7f22f4250 100644 --- a/src/pages/InvoiceOut/InvoiceOutGlobal.vue +++ b/src/pages/InvoiceOut/InvoiceOutGlobal.vue @@ -191,7 +191,7 @@ onUnmounted(() => { } - + en: status: packageInvoicing: Build packaging tickets diff --git a/src/pages/InvoiceOut/InvoiceOutGlobalForm.vue b/src/pages/InvoiceOut/InvoiceOutGlobalForm.vue index fc0554fd9..718606036 100644 --- a/src/pages/InvoiceOut/InvoiceOutGlobalForm.vue +++ b/src/pages/InvoiceOut/InvoiceOutGlobalForm.vue @@ -181,7 +181,7 @@ onMounted(async () => { } - + en: invoiceDate: Invoice date maxShipped: Max date diff --git a/src/pages/InvoiceOut/InvoiceOutList.vue b/src/pages/InvoiceOut/InvoiceOutList.vue index 7c329e76e..3b020c0c9 100644 --- a/src/pages/InvoiceOut/InvoiceOutList.vue +++ b/src/pages/InvoiceOut/InvoiceOutList.vue @@ -275,7 +275,7 @@ watchEffect(selectedRows); - + en: searchInvoice: Search issued invoice fileDenied: Browser denied file download... diff --git a/src/pages/InvoiceOut/InvoiceOutNegativeBases.vue b/src/pages/InvoiceOut/InvoiceOutNegativeBases.vue index 774b42478..f90c9f9ec 100644 --- a/src/pages/InvoiceOut/InvoiceOutNegativeBases.vue +++ b/src/pages/InvoiceOut/InvoiceOutNegativeBases.vue @@ -195,7 +195,7 @@ const downloadCSV = async () => { - + es: Download as CSV: Descargar como CSV diff --git a/src/pages/InvoiceOut/InvoiceOutNegativeBasesFilter.vue b/src/pages/InvoiceOut/InvoiceOutNegativeBasesFilter.vue index f62555061..d42cee79a 100644 --- a/src/pages/InvoiceOut/InvoiceOutNegativeBasesFilter.vue +++ b/src/pages/InvoiceOut/InvoiceOutNegativeBasesFilter.vue @@ -106,7 +106,7 @@ const props = defineProps({ - + en: params: from: From @@ -128,5 +128,4 @@ es: amount: Importe comercialName: Comercial Date is required: La fecha es requerida - diff --git a/src/pages/Item/Card/CreateGenusForm.vue b/src/pages/Item/Card/CreateGenusForm.vue index eaeeea41a..f613d5f15 100644 --- a/src/pages/Item/Card/CreateGenusForm.vue +++ b/src/pages/Item/Card/CreateGenusForm.vue @@ -43,7 +43,7 @@ onMounted(async () => { - + es: New genus: Nuevo genus Latin genus name: Nombre del genus en latín diff --git a/src/pages/Item/Card/CreateSpecieForm.vue b/src/pages/Item/Card/CreateSpecieForm.vue index 7cf0b1dfb..ab93cbee5 100644 --- a/src/pages/Item/Card/CreateSpecieForm.vue +++ b/src/pages/Item/Card/CreateSpecieForm.vue @@ -43,7 +43,7 @@ onMounted(async () => { - + es: New species: Nueva especie Latin species name: Nombre de la especie en latín diff --git a/src/pages/Item/Card/ItemBarcode.vue b/src/pages/Item/Card/ItemBarcode.vue index 197e9142f..5d7320a2e 100644 --- a/src/pages/Item/Card/ItemBarcode.vue +++ b/src/pages/Item/Card/ItemBarcode.vue @@ -84,7 +84,7 @@ const focusLastInput = () => { - + es: Code: Código Remove barcode: Quitar código de barras diff --git a/src/pages/Item/Card/ItemBotanical.vue b/src/pages/Item/Card/ItemBotanical.vue index 4259d3fc7..be94730e0 100644 --- a/src/pages/Item/Card/ItemBotanical.vue +++ b/src/pages/Item/Card/ItemBotanical.vue @@ -83,7 +83,7 @@ onMounted(async () => { - + es: Genus: Genus Species: Especie diff --git a/src/pages/Item/Card/ItemDescriptor.vue b/src/pages/Item/Card/ItemDescriptor.vue index f2f9ed77a..e89f6ffd4 100644 --- a/src/pages/Item/Card/ItemDescriptor.vue +++ b/src/pages/Item/Card/ItemDescriptor.vue @@ -213,7 +213,7 @@ const openCloneDialog = async () => { - + es: Regularize stock: Regularizar stock All its properties will be copied: Todas sus propiedades serán copiadas diff --git a/src/pages/Item/Card/ItemDescriptorImage.vue b/src/pages/Item/Card/ItemDescriptorImage.vue index 7b44c7b9f..18a579dda 100644 --- a/src/pages/Item/Card/ItemDescriptorImage.vue +++ b/src/pages/Item/Card/ItemDescriptorImage.vue @@ -129,7 +129,7 @@ const handlePhotoUpdated = (evt = false) => { - + es: Regularize stock: Regularizar stock All it's properties will be copied: Todas sus propiedades serán copiadas diff --git a/src/pages/Item/Card/ItemSummary.vue b/src/pages/Item/Card/ItemSummary.vue index f80b3b2d4..d9751d222 100644 --- a/src/pages/Item/Card/ItemSummary.vue +++ b/src/pages/Item/Card/ItemSummary.vue @@ -164,7 +164,7 @@ const getUrl = (id, param) => `#/Item/${id}/${param}`; - + en: Este artículo necesita una foto: Este artículo necesita una foto diff --git a/src/pages/Item/ItemFixedPrice.vue b/src/pages/Item/ItemFixedPrice.vue index d97cf4b05..21b2780ae 100644 --- a/src/pages/Item/ItemFixedPrice.vue +++ b/src/pages/Item/ItemFixedPrice.vue @@ -644,7 +644,7 @@ tbody tr.highlight .q-td { color: var(--vn-label-color); } - + es: Add fixed price: Añadir precio fijado Edit fixed price(s): Editar precio(s) fijado(s) diff --git a/src/pages/Item/ItemList.vue b/src/pages/Item/ItemList.vue index 6c3382284..e2a829b89 100644 --- a/src/pages/Item/ItemList.vue +++ b/src/pages/Item/ItemList.vue @@ -576,7 +576,7 @@ onUnmounted(() => (stateStore.rightDrawer = false)); - + es: New item: Nuevo artículo All it's properties will be copied: Todas sus propiedades serán copiadas diff --git a/src/pages/Item/ItemListFilter.vue b/src/pages/Item/ItemListFilter.vue index 492300f94..c7fe1f9b7 100644 --- a/src/pages/Item/ItemListFilter.vue +++ b/src/pages/Item/ItemListFilter.vue @@ -422,7 +422,7 @@ onMounted(async () => { - + en: params: search: General search diff --git a/src/pages/Item/ItemRequest.vue b/src/pages/Item/ItemRequest.vue index fe0be5218..dca84496e 100644 --- a/src/pages/Item/ItemRequest.vue +++ b/src/pages/Item/ItemRequest.vue @@ -337,7 +337,7 @@ onBeforeMount(() => { - + es: Discard: Descartar You can search by Id or alias: Buscar peticiones por identificador o alias diff --git a/src/pages/Item/ItemRequestDenyForm.vue b/src/pages/Item/ItemRequestDenyForm.vue index a2f445b82..c276f7a48 100644 --- a/src/pages/Item/ItemRequestDenyForm.vue +++ b/src/pages/Item/ItemRequestDenyForm.vue @@ -51,7 +51,7 @@ onMounted(async () => { - + es: Specify the reasons to deny this request: Especifica las razones para descartar la petición diff --git a/src/pages/Item/ItemRequestFilter.vue b/src/pages/Item/ItemRequestFilter.vue index bd72e8515..2dc90d504 100644 --- a/src/pages/Item/ItemRequestFilter.vue +++ b/src/pages/Item/ItemRequestFilter.vue @@ -261,7 +261,7 @@ const decrement = (paramsObj, key) => { - + en: params: search: General search diff --git a/src/pages/ItemType/Card/ItemTypeDescriptor.vue b/src/pages/ItemType/Card/ItemTypeDescriptor.vue index 31ed993d4..fa9bc4141 100644 --- a/src/pages/ItemType/Card/ItemTypeDescriptor.vue +++ b/src/pages/ItemType/Card/ItemTypeDescriptor.vue @@ -65,7 +65,7 @@ const setData = (entity) => (data.value = useCardDescription(entity.code, entity - + es: Go to module index: Ir al índice del módulo diff --git a/src/pages/ItemType/ItemTypeFilter.vue b/src/pages/ItemType/ItemTypeFilter.vue index 2a86795c2..d3011a8d2 100644 --- a/src/pages/ItemType/ItemTypeFilter.vue +++ b/src/pages/ItemType/ItemTypeFilter.vue @@ -41,7 +41,7 @@ const emit = defineEmits(['search']); - + en: params: name: Name diff --git a/src/pages/ItemType/ItemTypeSearchbar.vue b/src/pages/ItemType/ItemTypeSearchbar.vue index 2d8cecc93..615af399d 100644 --- a/src/pages/ItemType/ItemTypeSearchbar.vue +++ b/src/pages/ItemType/ItemTypeSearchbar.vue @@ -12,7 +12,7 @@ const { t } = useI18n(); :info="t('Search itemType by id, name or code')" /> - + es: Search item type: Buscar familia Search itemType by id, name or code: Buscar familia por id, nombre o código diff --git a/src/pages/Login/LoginMain.vue b/src/pages/Login/LoginMain.vue index 230bead5c..e0558af4c 100644 --- a/src/pages/Login/LoginMain.vue +++ b/src/pages/Login/LoginMain.vue @@ -105,7 +105,7 @@ async function onSubmit() { } } - + es: I do not remember my password: No recuerdo mi contraseña diff --git a/src/pages/Login/VerifyEmail.vue b/src/pages/Login/VerifyEmail.vue index 755b0b81a..2cb594dc9 100644 --- a/src/pages/Login/VerifyEmail.vue +++ b/src/pages/Login/VerifyEmail.vue @@ -71,34 +71,39 @@ onMounted(async () => { - - { - "en": { - "verifyEmail": "Your email has been successfully verified. You can now log in to enjoy all the features of our platform.", - "goToShop": "Go to the shop", - "logIn": "Log In" + +{ + 'en': + { + 'verifyEmail': 'Your email has been successfully verified. You can now log in to enjoy all the features of our platform.', + 'goToShop': 'Go to the shop', + 'logIn': 'Log In', }, - "es": { - "verifyEmail": "Su correo electrónico ha sido verificado con éxito. Ahora puede iniciar sesión para disfrutar de todas las funcionalidades de nuestra plataforma.", - "goToShop": "Ir a la tienda", - "logIn": "Iniciar sesión" + 'es': + { + 'verifyEmail': 'Su correo electrónico ha sido verificado con éxito. Ahora puede iniciar sesión para disfrutar de todas las funcionalidades de nuestra plataforma.', + 'goToShop': 'Ir a la tienda', + 'logIn': 'Iniciar sesión', }, - "fr": { - "verifyEmail": "Votre courrier électronique a été vérifié avec succès. Vous pouvez maintenant vous connecter pour profiter de toutes les fonctionnalités de notre plateforme.", - "goToShop": "Aller à la boutique", - "logIn": "Se connecter" + 'fr': + { + 'verifyEmail': 'Votre courrier électronique a été vérifié avec succès. Vous pouvez maintenant vous connecter pour profiter de toutes les fonctionnalités de notre plateforme.', + 'goToShop': 'Aller à la boutique', + 'logIn': 'Se connecter', }, - "pt": { - "verifyEmail": "Seu e-mail foi verificado com sucesso. Agora você pode fazer o login para aproveitar todas as funcionalidades da nossa plataforma.", - "goToShop": "Ir para a loja", - "logIn": "Fazer login" + 'pt': + { + 'verifyEmail': 'Seu e-mail foi verificado com sucesso. Agora você pode fazer o login para aproveitar todas as funcionalidades da nossa plataforma.', + 'goToShop': 'Ir para a loja', + 'logIn': 'Fazer login', }, - "it": { - "verifyEmail": "La tua email è stata verificata con successo. Ora puoi accedere per godere di tutte le funzionalità della nostra piattaforma.", - "goToShop": "Vai al negozio", - "logIn": "Accedi" - } - } + 'it': + { + 'verifyEmail': 'La tua email è stata verificata con successo. Ora puoi accedere per godere di tutte le funzionalità della nostra piattaforma.', + 'goToShop': 'Vai al negozio', + 'logIn': 'Accedi', + }, +} - + { - "en": { - "notFound": "Oops. Nothing here..." - }, - "es": { - "notFound": "Vaya. Nada por aquí..." - } + 'en': { 'notFound': 'Oops. Nothing here...' }, + 'es': { 'notFound': 'Vaya. Nada por aquí...' }, } diff --git a/src/pages/Order/Card/OrderBasicData.vue b/src/pages/Order/Card/OrderBasicData.vue index b8f983ab3..6f6044b95 100644 --- a/src/pages/Order/Card/OrderBasicData.vue +++ b/src/pages/Order/Card/OrderBasicData.vue @@ -204,7 +204,7 @@ const onClientChange = async (clientId) => { - - es: - No default address found for the client: No hay ninguna dirección asociada a este cliente. + +es: + No default address found for the client: No hay ninguna dirección asociada a este cliente. diff --git a/src/pages/Order/Card/OrderCatalog.vue b/src/pages/Order/Card/OrderCatalog.vue index c1cd52670..53f81f722 100644 --- a/src/pages/Order/Card/OrderCatalog.vue +++ b/src/pages/Order/Card/OrderCatalog.vue @@ -127,7 +127,7 @@ function extractValueTags(items) { } - + es: You can search items by name or id: Puedes buscar items por nombre o id diff --git a/src/pages/Order/Card/OrderCatalogFilter.vue b/src/pages/Order/Card/OrderCatalogFilter.vue index 536926f4e..c1e1cb78f 100644 --- a/src/pages/Order/Card/OrderCatalogFilter.vue +++ b/src/pages/Order/Card/OrderCatalogFilter.vue @@ -434,7 +434,7 @@ function addOrder(value, field, params) { } - + en: params: type: Type diff --git a/src/pages/Order/Card/OrderCreateDialog.vue b/src/pages/Order/Card/OrderCreateDialog.vue index 7449cc499..33d5a0ef5 100644 --- a/src/pages/Order/Card/OrderCreateDialog.vue +++ b/src/pages/Order/Card/OrderCreateDialog.vue @@ -214,7 +214,7 @@ onMounted(async () => { - - es: - No default address found for the client: No hay ninguna dirección asociada a este cliente. + +es: + No default address found for the client: No hay ninguna dirección asociada a este cliente. diff --git a/src/pages/Order/Card/OrderDescriptorMenu.vue b/src/pages/Order/Card/OrderDescriptorMenu.vue index 23658bff9..c44281392 100644 --- a/src/pages/Order/Card/OrderDescriptorMenu.vue +++ b/src/pages/Order/Card/OrderDescriptorMenu.vue @@ -49,7 +49,7 @@ async function remove() { - + en: deleteOrder: Delete order confirmDeletionMessage: Are you sure you want to delete this order? @@ -57,5 +57,4 @@ en: es: deleteOrder: Eliminar pedido confirmDeletionMessage: Seguro que quieres eliminar este pedido? - diff --git a/src/pages/Order/Card/OrderFilter.vue b/src/pages/Order/Card/OrderFilter.vue index 574ea3bdc..5ee8df971 100644 --- a/src/pages/Order/Card/OrderFilter.vue +++ b/src/pages/Order/Card/OrderFilter.vue @@ -141,7 +141,7 @@ const sourceList = ref([]); - + en: params: search: Includes diff --git a/src/pages/Order/Card/OrderLines.vue b/src/pages/Order/Card/OrderLines.vue index fff50068c..f1a688f68 100644 --- a/src/pages/Order/Card/OrderLines.vue +++ b/src/pages/Order/Card/OrderLines.vue @@ -366,7 +366,7 @@ watch( } - + en: summary: Summary subtotal: Subtotal diff --git a/src/pages/Order/Card/OrderSearchbar.vue b/src/pages/Order/Card/OrderSearchbar.vue index fb0b8eb53..e37eace70 100644 --- a/src/pages/Order/Card/OrderSearchbar.vue +++ b/src/pages/Order/Card/OrderSearchbar.vue @@ -15,7 +15,7 @@ const { t } = useI18n(); - + es: Search order: Buscar orden Search orders by ticket id: Buscar pedido por id ticket diff --git a/src/pages/Order/Card/OrderVolume.vue b/src/pages/Order/Card/OrderVolume.vue index 0fe1a4b2c..9e6e7bdb1 100644 --- a/src/pages/Order/Card/OrderVolume.vue +++ b/src/pages/Order/Card/OrderVolume.vue @@ -138,7 +138,7 @@ onMounted(async () => (stateStore.rightDrawer = false)); text-transform: uppercase; } - + en: summary: Summary total: Total diff --git a/src/pages/Parking/ParkingFilter.vue b/src/pages/Parking/ParkingFilter.vue index 329df2456..cbbce2804 100644 --- a/src/pages/Parking/ParkingFilter.vue +++ b/src/pages/Parking/ParkingFilter.vue @@ -63,7 +63,7 @@ const emit = defineEmits(['search']); - + en: params: code: Code @@ -73,5 +73,4 @@ es: params: code: Código search: Búsqueda general - diff --git a/src/pages/Parking/ParkingList.vue b/src/pages/Parking/ParkingList.vue index 79ddf25f3..0ca0f8387 100644 --- a/src/pages/Parking/ParkingList.vue +++ b/src/pages/Parking/ParkingList.vue @@ -89,7 +89,7 @@ function exprBuilder(param, value) { - + es: Search parking: Buscar parking You can search by parking code: Puede buscar por el código del parking diff --git a/src/pages/Route/Agency/AgencyList.vue b/src/pages/Route/Agency/AgencyList.vue index 09358ee24..798402d06 100644 --- a/src/pages/Route/Agency/AgencyList.vue +++ b/src/pages/Route/Agency/AgencyList.vue @@ -82,13 +82,13 @@ const columns = computed(() => [ default-mode="card" /> - - es: - isOwn: Tiene propietario - isAnyVolumeAllowed: Permite cualquier volumen - Search agency: Buscar agencia - You can search by name: Puedes buscar por nombre - en: - isOwn: Has owner - isAnyVolumeAllowed: Allows any volume + +es: + isOwn: Tiene propietario + isAnyVolumeAllowed: Permite cualquier volumen + Search agency: Buscar agencia + You can search by name: Puedes buscar por nombre +en: + isOwn: Has owner + isAnyVolumeAllowed: Allows any volume diff --git a/src/pages/Route/Agency/Card/AgencyModes.vue b/src/pages/Route/Agency/Card/AgencyModes.vue index 4fb81914a..b4a592c10 100644 --- a/src/pages/Route/Agency/Card/AgencyModes.vue +++ b/src/pages/Route/Agency/Card/AgencyModes.vue @@ -46,15 +46,15 @@ const routeId = route.params.id; - - es: - isOwn: Tiene propietario - isAnyVolumeAllowed: Permite cualquier volumen - Search agency: Buscar agencia - You can search by name: Puedes buscar por nombre - deliveryMethod: Método de entrega - inflation: Inflación - en: - isOwn: Has owner - isAnyVolumeAllowed: Allows any volume + +es: + isOwn: Tiene propietario + isAnyVolumeAllowed: Permite cualquier volumen + Search agency: Buscar agencia + You can search by name: Puedes buscar por nombre + deliveryMethod: Método de entrega + inflation: Inflación +en: + isOwn: Has owner + isAnyVolumeAllowed: Allows any volume diff --git a/src/pages/Route/Agency/Card/AgencyWorkcenter.vue b/src/pages/Route/Agency/Card/AgencyWorkcenter.vue index 06c45f681..b1d9a46ca 100644 --- a/src/pages/Route/Agency/Card/AgencyWorkcenter.vue +++ b/src/pages/Route/Agency/Card/AgencyWorkcenter.vue @@ -127,10 +127,10 @@ async function deleteWorCenter(id) { margin: 0 auto; } - - es: - workCenter removed successfully: Centro de trabajo eliminado correctamente - This workCenter is already assigned to this agency: Este workCenter ya está asignado a esta agencia - Add work center: Añadir centro de trabajo - workCenter: Centro de trabajo + +es: + workCenter removed successfully: Centro de trabajo eliminado correctamente + This workCenter is already assigned to this agency: Este workCenter ya está asignado a esta agencia + Add work center: Añadir centro de trabajo + workCenter: Centro de trabajo diff --git a/src/pages/Route/Card/RouteAutonomousFilter.vue b/src/pages/Route/Card/RouteAutonomousFilter.vue index 7f3eaabbd..f2d13168b 100644 --- a/src/pages/Route/Card/RouteAutonomousFilter.vue +++ b/src/pages/Route/Card/RouteAutonomousFilter.vue @@ -208,7 +208,7 @@ const exprBuilder = (param, value) => { - + en: params: agencyModeFk: Agency route diff --git a/src/pages/Route/Card/RouteDescriptor.vue b/src/pages/Route/Card/RouteDescriptor.vue index 98d2ed902..f9ae6e079 100644 --- a/src/pages/Route/Card/RouteDescriptor.vue +++ b/src/pages/Route/Card/RouteDescriptor.vue @@ -94,7 +94,7 @@ const setData = (entity) => (data.value = useCardDescription(entity.code, entity - + es: Date: Fecha Agency: Agencia diff --git a/src/pages/Route/Card/RouteDescriptorMenu.vue b/src/pages/Route/Card/RouteDescriptorMenu.vue index 378bfefd8..12f888d15 100644 --- a/src/pages/Route/Card/RouteDescriptorMenu.vue +++ b/src/pages/Route/Card/RouteDescriptorMenu.vue @@ -92,7 +92,7 @@ async function remove() { - + en: confirmDeletion: Confirm deletion confirmDeletionMessage: Are you sure you want to delete this route? diff --git a/src/pages/Route/Card/RouteFilter.vue b/src/pages/Route/Card/RouteFilter.vue index 011725e77..a67e2430f 100644 --- a/src/pages/Route/Card/RouteFilter.vue +++ b/src/pages/Route/Card/RouteFilter.vue @@ -170,7 +170,7 @@ const emit = defineEmits(['search']); - + en: params: warehouseFk: Warehouse diff --git a/src/pages/Route/Card/RouteForm.vue b/src/pages/Route/Card/RouteForm.vue index aa99072a0..5aa58cfef 100644 --- a/src/pages/Route/Card/RouteForm.vue +++ b/src/pages/Route/Card/RouteForm.vue @@ -177,7 +177,7 @@ const onSave = (data, response) => { - + es: Worker: Trabajador Vehicle: Vehículo diff --git a/src/pages/Route/Card/RouteListTicketsDialog.vue b/src/pages/Route/Card/RouteListTicketsDialog.vue index cfe2b0b0b..3ced797c7 100644 --- a/src/pages/Route/Card/RouteListTicketsDialog.vue +++ b/src/pages/Route/Card/RouteListTicketsDialog.vue @@ -225,7 +225,7 @@ const setTicketsRoute = async () => { max-width: 1280px; } - + en: Unlink zone: Unlink zone {zone} from agency {agency} es: diff --git a/src/pages/Route/Card/RouteSearchbar.vue b/src/pages/Route/Card/RouteSearchbar.vue index 004aa4794..6f36f421a 100644 --- a/src/pages/Route/Card/RouteSearchbar.vue +++ b/src/pages/Route/Card/RouteSearchbar.vue @@ -11,7 +11,7 @@ const { t } = useI18n(); url="Routes/filter" /> - + es: Search route: Buscar rutas You can search by route reference: Puedes buscar por referencia de la ruta diff --git a/src/pages/Route/Card/RouteSummary.vue b/src/pages/Route/Card/RouteSummary.vue index a62507b45..859983479 100644 --- a/src/pages/Route/Card/RouteSummary.vue +++ b/src/pages/Route/Card/RouteSummary.vue @@ -258,7 +258,7 @@ const ticketColumns = ref([ - + en: route: summary: diff --git a/src/pages/Route/Roadmap/RoadmapAddStopForm.vue b/src/pages/Route/Roadmap/RoadmapAddStopForm.vue index b514dfaee..f05d9a230 100644 --- a/src/pages/Route/Roadmap/RoadmapAddStopForm.vue +++ b/src/pages/Route/Roadmap/RoadmapAddStopForm.vue @@ -110,7 +110,7 @@ const onFetch = (data) => { } - + es: Address: Dirección ETA date: Fecha ETA diff --git a/src/pages/Route/Roadmap/RoadmapBasicData.vue b/src/pages/Route/Roadmap/RoadmapBasicData.vue index 8bd1c2315..fc1f8e6c9 100644 --- a/src/pages/Route/Roadmap/RoadmapBasicData.vue +++ b/src/pages/Route/Roadmap/RoadmapBasicData.vue @@ -98,7 +98,7 @@ const onSave = (data, response) => { - + es: Roadmap: Troncal ETD date: Fecha ETD diff --git a/src/pages/Route/Roadmap/RoadmapDescriptor.vue b/src/pages/Route/Roadmap/RoadmapDescriptor.vue index bf86647e0..8f7bca777 100644 --- a/src/pages/Route/Roadmap/RoadmapDescriptor.vue +++ b/src/pages/Route/Roadmap/RoadmapDescriptor.vue @@ -56,7 +56,7 @@ const setData = (entity) => (data.value = useCardDescription(entity.code, entity - + es: Roadmap: Troncal Carrier: Transportista diff --git a/src/pages/Route/Roadmap/RoadmapDescriptorMenu.vue b/src/pages/Route/Roadmap/RoadmapDescriptorMenu.vue index e3846838b..d3f610cdd 100644 --- a/src/pages/Route/Roadmap/RoadmapDescriptorMenu.vue +++ b/src/pages/Route/Roadmap/RoadmapDescriptorMenu.vue @@ -49,7 +49,7 @@ async function remove() { - + es: Confirm deletion: Confirmar eliminación Are you sure you want to delete this roadmap?: ¿Estás seguro de que quieres eliminar esta troncal? diff --git a/src/pages/Route/Roadmap/RoadmapFilter.vue b/src/pages/Route/Roadmap/RoadmapFilter.vue index 375cd6d63..9bcef2ca1 100644 --- a/src/pages/Route/Roadmap/RoadmapFilter.vue +++ b/src/pages/Route/Roadmap/RoadmapFilter.vue @@ -151,7 +151,7 @@ const exprBuilder = (param, value) => { - + en: params: tractorPlate: Tractor Plate diff --git a/src/pages/Route/Roadmap/RoadmapStops.vue b/src/pages/Route/Roadmap/RoadmapStops.vue index a7b158890..b7c605e55 100644 --- a/src/pages/Route/Roadmap/RoadmapStops.vue +++ b/src/pages/Route/Roadmap/RoadmapStops.vue @@ -83,7 +83,7 @@ const updateDefaultStop = (data) => { - + es: Address: Consignatario ETA date: Fecha ETA diff --git a/src/pages/Route/Roadmap/RoadmapSummary.vue b/src/pages/Route/Roadmap/RoadmapSummary.vue index 32d754a3d..d2b5b1c7e 100644 --- a/src/pages/Route/Roadmap/RoadmapSummary.vue +++ b/src/pages/Route/Roadmap/RoadmapSummary.vue @@ -146,7 +146,7 @@ const filter = { - + es: Carrier: Transportista Tractor Plate: Matrícula tractora diff --git a/src/pages/Route/RouteAutonomous.vue b/src/pages/Route/RouteAutonomous.vue index b79e4f18f..9938d8e95 100644 --- a/src/pages/Route/RouteAutonomous.vue +++ b/src/pages/Route/RouteAutonomous.vue @@ -263,7 +263,7 @@ onUnmounted(() => (stateStore.rightDrawer = false)); /> - + es: Search autonomous: Buscar autónomos You can search by autonomous reference: Puedes buscar por referencia del autónomo diff --git a/src/pages/Route/RouteList.vue b/src/pages/Route/RouteList.vue index 57bb0b25b..0b64f2542 100644 --- a/src/pages/Route/RouteList.vue +++ b/src/pages/Route/RouteList.vue @@ -375,7 +375,7 @@ td:last-child { right: 0; } - + en: newRoute: New Route hourStarted: Started hour diff --git a/src/pages/Route/RouteRoadmap.vue b/src/pages/Route/RouteRoadmap.vue index 780b8f88c..93016a2b8 100644 --- a/src/pages/Route/RouteRoadmap.vue +++ b/src/pages/Route/RouteRoadmap.vue @@ -220,7 +220,7 @@ function confirmRemove() { gap: 12px; } - + es: Create routemap: Crear troncal Search roadmaps: Buscar troncales diff --git a/src/pages/Route/RouteTickets.vue b/src/pages/Route/RouteTickets.vue index 85143cdce..b0c66819b 100644 --- a/src/pages/Route/RouteTickets.vue +++ b/src/pages/Route/RouteTickets.vue @@ -419,7 +419,7 @@ const openSmsDialog = async () => { gap: 12px; } - + es: Order: Orden Street: Dirección fiscal diff --git a/src/pages/Shelving/Card/ShelvingDescriptorMenu.vue b/src/pages/Shelving/Card/ShelvingDescriptorMenu.vue index 49b0c67cd..3b0c23287 100644 --- a/src/pages/Shelving/Card/ShelvingDescriptorMenu.vue +++ b/src/pages/Shelving/Card/ShelvingDescriptorMenu.vue @@ -48,7 +48,7 @@ async function remove() { - + es: Confirm deletion: Confirmar eliminación Are you sure you want to delete this shelving?: ¿Seguro que quieres eliminar este carro? diff --git a/src/pages/Shelving/Card/ShelvingFilter.vue b/src/pages/Shelving/Card/ShelvingFilter.vue index 563643847..6ec673f63 100644 --- a/src/pages/Shelving/Card/ShelvingFilter.vue +++ b/src/pages/Shelving/Card/ShelvingFilter.vue @@ -89,7 +89,7 @@ function setWorkers(data) { - + en: params: parkingFk: Parking diff --git a/src/pages/Shelving/Card/ShelvingSearchbar.vue b/src/pages/Shelving/Card/ShelvingSearchbar.vue index 52ddfbbb9..e45bb6e1c 100644 --- a/src/pages/Shelving/Card/ShelvingSearchbar.vue +++ b/src/pages/Shelving/Card/ShelvingSearchbar.vue @@ -13,7 +13,7 @@ const { t } = useI18n(); /> - + es: Search shelving: Buscar carros You can search by shelving reference: Puedes buscar por referencia del carro diff --git a/src/pages/Supplier/Card/SupplierAccounts.vue b/src/pages/Supplier/Card/SupplierAccounts.vue index b11650755..c42e7ee0b 100644 --- a/src/pages/Supplier/Card/SupplierAccounts.vue +++ b/src/pages/Supplier/Card/SupplierAccounts.vue @@ -181,10 +181,10 @@ const setWireTransfer = async () => { - - es: - Do you want to change the pay method to wire transfer?: ¿Quieres modificar la forma de pago a transferencia? - Add account: Añadir cuenta - Remove account: Remover cuenta - Name of the bank account holder if different from the provider: Nombre del titular de la cuenta bancaria en caso de ser diferente del proveedor + +es: + Do you want to change the pay method to wire transfer?: ¿Quieres modificar la forma de pago a transferencia? + Add account: Añadir cuenta + Remove account: Remover cuenta + Name of the bank account holder if different from the provider: Nombre del titular de la cuenta bancaria en caso de ser diferente del proveedor diff --git a/src/pages/Supplier/Card/SupplierAddresses.vue b/src/pages/Supplier/Card/SupplierAddresses.vue index f46a3be19..9f77c5d67 100644 --- a/src/pages/Supplier/Card/SupplierAddresses.vue +++ b/src/pages/Supplier/Card/SupplierAddresses.vue @@ -101,7 +101,7 @@ const redirectToUpdateView = (addressData) => { - + es: New address: Nueva dirección diff --git a/src/pages/Supplier/Card/SupplierAgencyTerm.vue b/src/pages/Supplier/Card/SupplierAgencyTerm.vue index a453cd1bf..5ce0fa6c8 100644 --- a/src/pages/Supplier/Card/SupplierAgencyTerm.vue +++ b/src/pages/Supplier/Card/SupplierAgencyTerm.vue @@ -122,7 +122,7 @@ const redirectToCreateView = () => { - - es: - Remove row: Eliminar fila + +es: + Remove row: Eliminar fila diff --git a/src/pages/Supplier/Card/SupplierBasicData.vue b/src/pages/Supplier/Card/SupplierBasicData.vue index 84a42809b..f79ceed2e 100644 --- a/src/pages/Supplier/Card/SupplierBasicData.vue +++ b/src/pages/Supplier/Card/SupplierBasicData.vue @@ -86,7 +86,7 @@ const workersOptions = ref([]); - + es: Responsible for approving invoices: Responsable de aprobar las facturas diff --git a/src/pages/Supplier/Card/SupplierConsumption.vue b/src/pages/Supplier/Card/SupplierConsumption.vue index e9660fcaf..ad3a60ffb 100644 --- a/src/pages/Supplier/Card/SupplierConsumption.vue +++ b/src/pages/Supplier/Card/SupplierConsumption.vue @@ -235,7 +235,7 @@ onMounted(async () => { } - + es: Total entry: Total entrada Total entries: Total de las entradas diff --git a/src/pages/Supplier/Card/SupplierConsumptionFilter.vue b/src/pages/Supplier/Card/SupplierConsumptionFilter.vue index 401bde8fa..bdf7f6919 100644 --- a/src/pages/Supplier/Card/SupplierConsumptionFilter.vue +++ b/src/pages/Supplier/Card/SupplierConsumptionFilter.vue @@ -131,7 +131,7 @@ defineProps({ - + en: params: search: General search diff --git a/src/pages/Supplier/Card/SupplierContacts.vue b/src/pages/Supplier/Card/SupplierContacts.vue index 49d134b87..e82e47661 100644 --- a/src/pages/Supplier/Card/SupplierContacts.vue +++ b/src/pages/Supplier/Card/SupplierContacts.vue @@ -109,8 +109,8 @@ const insertRow = () => { } - - es: - Add contact: Añadir contacto - Remove contact: Remover contacto + +es: + Add contact: Añadir contacto + Remove contact: Remover contacto diff --git a/src/pages/Supplier/Card/SupplierDescriptor.vue b/src/pages/Supplier/Card/SupplierDescriptor.vue index badaabac1..e4acfa198 100644 --- a/src/pages/Supplier/Card/SupplierDescriptor.vue +++ b/src/pages/Supplier/Card/SupplierDescriptor.vue @@ -184,7 +184,7 @@ const getEntryQueryParams = (supplier) => { - + es: All entries with current supplier: Todas las entradas con proveedor actual Go to client: Ir a cliente diff --git a/src/pages/Supplier/Card/SupplierFiscalData.vue b/src/pages/Supplier/Card/SupplierFiscalData.vue index 6602f3558..b0d5e4179 100644 --- a/src/pages/Supplier/Card/SupplierFiscalData.vue +++ b/src/pages/Supplier/Card/SupplierFiscalData.vue @@ -184,7 +184,7 @@ function handleLocation(data, location) { - + es: When activating it, do not enter the country code in the ID field.: Al activarlo, no informar el código del país en el campo nif diff --git a/src/pages/Supplier/SupplierList.vue b/src/pages/Supplier/SupplierList.vue index 290637de7..02977e143 100644 --- a/src/pages/Supplier/SupplierList.vue +++ b/src/pages/Supplier/SupplierList.vue @@ -102,7 +102,7 @@ const columns = computed(() => [ /> - + en: Search suppliers: Search suppliers es: diff --git a/src/pages/Supplier/SupplierListFilter.vue b/src/pages/Supplier/SupplierListFilter.vue index d00ef60a8..470215d50 100644 --- a/src/pages/Supplier/SupplierListFilter.vue +++ b/src/pages/Supplier/SupplierListFilter.vue @@ -104,7 +104,7 @@ const countriesOptions = ref([]); - + en: params: search: General search diff --git a/src/pages/Ticket/Card/TicketCreateRequest.vue b/src/pages/Ticket/Card/TicketCreateRequest.vue index 27aa9faa9..49ecb4c57 100644 --- a/src/pages/Ticket/Card/TicketCreateRequest.vue +++ b/src/pages/Ticket/Card/TicketCreateRequest.vue @@ -63,7 +63,7 @@ const attendersOptions = ref([]); - - es: - Create request: Crear petición de compra + +es: + Create request: Crear petición de compra diff --git a/src/pages/Ticket/Card/TicketCreateServiceType.vue b/src/pages/Ticket/Card/TicketCreateServiceType.vue index 2d9a7f709..9845de899 100644 --- a/src/pages/Ticket/Card/TicketCreateServiceType.vue +++ b/src/pages/Ticket/Card/TicketCreateServiceType.vue @@ -43,7 +43,7 @@ onMounted(async () => { - + es: New service type: Nuevo tipo de servicio diff --git a/src/pages/Ticket/Card/TicketCreateTracking.vue b/src/pages/Ticket/Card/TicketCreateTracking.vue index 4e971ec2f..7705cd7d5 100644 --- a/src/pages/Ticket/Card/TicketCreateTracking.vue +++ b/src/pages/Ticket/Card/TicketCreateTracking.vue @@ -74,7 +74,7 @@ const onStateFkChange = (formData) => (formData.userFk = user.value.id); - - es: - Create tracking: Crear estado + +es: + Create tracking: Crear estado diff --git a/src/pages/Ticket/Card/TicketDescriptor.vue b/src/pages/Ticket/Card/TicketDescriptor.vue index aa3e2072b..2d120bd2e 100644 --- a/src/pages/Ticket/Card/TicketDescriptor.vue +++ b/src/pages/Ticket/Card/TicketDescriptor.vue @@ -164,7 +164,7 @@ const data = ref(useCardDescription()); - + es: This ticket is deleted: Este ticket está eliminado Go to module index: Ir al índice del modulo diff --git a/src/pages/Ticket/Card/TicketDescriptorMenu.vue b/src/pages/Ticket/Card/TicketDescriptorMenu.vue index dde7f11b4..4b84db26a 100644 --- a/src/pages/Ticket/Card/TicketDescriptorMenu.vue +++ b/src/pages/Ticket/Card/TicketDescriptorMenu.vue @@ -307,9 +307,9 @@ function openConfirmDialog(callback) { - + en: - invoiceIds: "Invoices have been generated with the following ids: {invoiceIds}" + invoiceIds: 'Invoices have been generated with the following ids: {invoiceIds}' es: Open Delivery Note...: Abrir albarán... @@ -331,5 +331,5 @@ es: Set weight: Establecer peso Weight set: Peso establecido This ticket may be invoiced, do you want to continue?: Es posible que se facture este ticket, desea continuar? - invoiceIds: "Se han generado las facturas con los siguientes ids: {invoiceIds}" + invoiceIds: 'Se han generado las facturas con los siguientes ids: {invoiceIds}' diff --git a/src/pages/Ticket/Card/TicketDms.vue b/src/pages/Ticket/Card/TicketDms.vue index cd998620f..feabc19a3 100644 --- a/src/pages/Ticket/Card/TicketDms.vue +++ b/src/pages/Ticket/Card/TicketDms.vue @@ -41,7 +41,7 @@ const onDataSaved = () => dmsListRef.value.dmsRef.fetch(); - + es: Import from existing: Importar desde existente diff --git a/src/pages/Ticket/Card/TicketDmsImportForm.vue b/src/pages/Ticket/Card/TicketDmsImportForm.vue index 2d893142a..4d3ccf663 100644 --- a/src/pages/Ticket/Card/TicketDmsImportForm.vue +++ b/src/pages/Ticket/Card/TicketDmsImportForm.vue @@ -68,7 +68,7 @@ const importDms = async () => { - + es: Select document id: Introduzca id de gestion documental Document: Documento diff --git a/src/pages/Ticket/Card/TicketEditMana.vue b/src/pages/Ticket/Card/TicketEditMana.vue index 428e5e8c2..79e2df0a6 100644 --- a/src/pages/Ticket/Card/TicketEditMana.vue +++ b/src/pages/Ticket/Card/TicketEditMana.vue @@ -90,7 +90,7 @@ const cancel = () => { } - + es: New price: Nuevo precio diff --git a/src/pages/Ticket/Card/TicketPicture.vue b/src/pages/Ticket/Card/TicketPicture.vue index b233a6ac1..d1a99c724 100644 --- a/src/pages/Ticket/Card/TicketPicture.vue +++ b/src/pages/Ticket/Card/TicketPicture.vue @@ -54,7 +54,7 @@ const sales = ref([]); } - + es: by: por diff --git a/src/pages/Ticket/Card/TicketPurchaseRequest.vue b/src/pages/Ticket/Card/TicketPurchaseRequest.vue index 8d84e2b46..02ca5c3ec 100644 --- a/src/pages/Ticket/Card/TicketPurchaseRequest.vue +++ b/src/pages/Ticket/Card/TicketPurchaseRequest.vue @@ -265,9 +265,9 @@ const openCreateModal = () => createTicketRequestDialogRef.value.show(); - - es: - New: Nueva - Denied: Denegada - Accepted: Aceptada + +es: + New: Nueva + Denied: Denegada + Accepted: Aceptada diff --git a/src/pages/Ticket/Card/TicketSale.vue b/src/pages/Ticket/Card/TicketSale.vue index 141f7e538..2407a83a7 100644 --- a/src/pages/Ticket/Card/TicketSale.vue +++ b/src/pages/Ticket/Card/TicketSale.vue @@ -754,7 +754,7 @@ onUnmounted(() => (stateStore.rightDrawer = false)); - + es: New item: Nuevo artículo Add item to basket: Añadir artículo a la cesta diff --git a/src/pages/Ticket/Card/TicketSaleMoreActions.vue b/src/pages/Ticket/Card/TicketSaleMoreActions.vue index 9e4abd471..a5d924fdf 100644 --- a/src/pages/Ticket/Card/TicketSaleMoreActions.vue +++ b/src/pages/Ticket/Card/TicketSaleMoreActions.vue @@ -280,7 +280,7 @@ const createRefund = async (withWarehouse) => { - + en: refundTicketCreated: 'The following refund ticket have been created {ticketId}' es: diff --git a/src/pages/Ticket/Card/TicketTransfer.vue b/src/pages/Ticket/Card/TicketTransfer.vue index 1944b80f4..84eec7e30 100644 --- a/src/pages/Ticket/Card/TicketTransfer.vue +++ b/src/pages/Ticket/Card/TicketTransfer.vue @@ -168,7 +168,7 @@ onMounted(() => (_transfer.value = $props.transfer)); - + es: Sales to transfer: Líneas a transferir Destination ticket: Ticket destinatario diff --git a/src/pages/Ticket/Card/TicketTransferForm.vue b/src/pages/Ticket/Card/TicketTransferForm.vue index 9507429e6..a454e4744 100644 --- a/src/pages/Ticket/Card/TicketTransferForm.vue +++ b/src/pages/Ticket/Card/TicketTransferForm.vue @@ -77,7 +77,7 @@ onMounted(() => (_transfer.value = $props.transfer)); - + es: Sales to transfer: Líneas a transferir Destination ticket: Ticket destinatario diff --git a/src/pages/Ticket/TicketAdvanceFilter.vue b/src/pages/Ticket/TicketAdvanceFilter.vue index 5e47ce4de..96f3c504d 100644 --- a/src/pages/Ticket/TicketAdvanceFilter.vue +++ b/src/pages/Ticket/TicketAdvanceFilter.vue @@ -146,7 +146,7 @@ onMounted(async () => await getItemPackingTypes()); - + en: iptInfo: IPT params: diff --git a/src/pages/Ticket/TicketFilter.vue b/src/pages/Ticket/TicketFilter.vue index 2d45a0002..38eaaf9ab 100644 --- a/src/pages/Ticket/TicketFilter.vue +++ b/src/pages/Ticket/TicketFilter.vue @@ -228,7 +228,7 @@ const warehouses = ref([]); - + en: params: search: Contains diff --git a/src/pages/Ticket/TicketFutureFilter.vue b/src/pages/Ticket/TicketFutureFilter.vue index 99655820a..2bb30516a 100644 --- a/src/pages/Ticket/TicketFutureFilter.vue +++ b/src/pages/Ticket/TicketFutureFilter.vue @@ -210,7 +210,7 @@ onMounted(async () => { - + en: iptInfo: IPT params: diff --git a/src/pages/Ticket/TicketList.vue b/src/pages/Ticket/TicketList.vue index bd0bda6e3..73a891acb 100644 --- a/src/pages/Ticket/TicketList.vue +++ b/src/pages/Ticket/TicketList.vue @@ -347,7 +347,7 @@ onMounted(() => { - + es: Search ticket: Buscar ticket You can search by ticket id or alias: Puedes buscar por id o alias del ticket diff --git a/src/pages/Ticket/TicketWeekly.vue b/src/pages/Ticket/TicketWeekly.vue index 0708c9c68..40300a454 100644 --- a/src/pages/Ticket/TicketWeekly.vue +++ b/src/pages/Ticket/TicketWeekly.vue @@ -238,7 +238,7 @@ onUnmounted(() => (stateStore.rightDrawer = false)); - + es: You are going to delete this weekly ticket: Vas a eliminar este ticket programado This ticket will be removed from weekly tickets! Continue anyway?: Este ticket se eliminará de tickets programados! ¿Continuar de todas formas? diff --git a/src/pages/Travel/Card/TravelDescriptor.vue b/src/pages/Travel/Card/TravelDescriptor.vue index 448cc6ae1..d467196b4 100644 --- a/src/pages/Travel/Card/TravelDescriptor.vue +++ b/src/pages/Travel/Card/TravelDescriptor.vue @@ -99,7 +99,7 @@ const setData = (entity) => (data.value = useCardDescription(entity.ref, entity. - + es: Go to module index: Ir al índice del módulo The travel will be deleted: El envío será eliminado diff --git a/src/pages/Travel/Card/TravelDescriptorMenuItems.vue b/src/pages/Travel/Card/TravelDescriptorMenuItems.vue index 24690f549..d01c18218 100644 --- a/src/pages/Travel/Card/TravelDescriptorMenuItems.vue +++ b/src/pages/Travel/Card/TravelDescriptorMenuItems.vue @@ -99,7 +99,7 @@ const deleteTravel = async (id) => { - + es: The travel will be deleted: El envío será eliminado Do you want to delete this travel?: ¿Quieres eliminar este envío? diff --git a/src/pages/Travel/Card/TravelThermographs.vue b/src/pages/Travel/Card/TravelThermographs.vue index d7d1bc4f9..1993f7d58 100644 --- a/src/pages/Travel/Card/TravelThermographs.vue +++ b/src/pages/Travel/Card/TravelThermographs.vue @@ -204,7 +204,7 @@ const removeThermograph = async (id) => { - + es: Add thermograph: Añadir termógrafo Download file: Descargar fichero diff --git a/src/pages/Travel/Card/TravelThermographsForm.vue b/src/pages/Travel/Card/TravelThermographsForm.vue index aa0707efe..5f7ce7256 100644 --- a/src/pages/Travel/Card/TravelThermographsForm.vue +++ b/src/pages/Travel/Card/TravelThermographsForm.vue @@ -324,7 +324,7 @@ const onThermographCreated = async (data) => { - + es: Select files: Selecciona ficheros Thermograph created: Termógrafo creado diff --git a/src/pages/Travel/ExtraCommunity.vue b/src/pages/Travel/ExtraCommunity.vue index 14bd55094..a3aa163bb 100644 --- a/src/pages/Travel/ExtraCommunity.vue +++ b/src/pages/Travel/ExtraCommunity.vue @@ -689,7 +689,7 @@ const getColor = (percentage) => { } - + en: searchExtraCommunity: Search for extra community shipping kg: BI. KG diff --git a/src/pages/Travel/ExtraCommunityFilter.vue b/src/pages/Travel/ExtraCommunityFilter.vue index aa2e86125..4635909e8 100644 --- a/src/pages/Travel/ExtraCommunityFilter.vue +++ b/src/pages/Travel/ExtraCommunityFilter.vue @@ -243,7 +243,7 @@ warehouses(); - + en: params: id: Id diff --git a/src/pages/Travel/TravelList.vue b/src/pages/Travel/TravelList.vue index d315719f3..1be7f573a 100644 --- a/src/pages/Travel/TravelList.vue +++ b/src/pages/Travel/TravelList.vue @@ -270,7 +270,7 @@ const columns = computed(() => [ - + en: Add entry: Add entry searchByIdOrReference: Search by ID or reference diff --git a/src/pages/Wagon/Type/WagonCreateTray.vue b/src/pages/Wagon/Type/WagonCreateTray.vue index 304fa83ac..3b4bca048 100644 --- a/src/pages/Wagon/Type/WagonCreateTray.vue +++ b/src/pages/Wagon/Type/WagonCreateTray.vue @@ -93,24 +93,24 @@ getTrays(); - - en: - Select a tray: Select a tray - colors: - white: White - red: Red - green: Green - blue: Blue - es: - Select a tray color: Seleccione un color - Add new tray: Añadir nueva bandeja - Height: Altura - The minimum height between trays is 50cm: La altura mínima entre bandejas es de 50cm - The maximum height of the wagon is 200cm: La altura máxima del vagón es de 200cm - A tray with the same height already exists, try with a different height: Ya existe una bandeja con la misma altura, prueba con una diferente - colors: - white: Blanco - red: Rojo - green: Verde - blue: Azul + +en: + Select a tray: Select a tray + colors: + white: White + red: Red + green: Green + blue: Blue +es: + Select a tray color: Seleccione un color + Add new tray: Añadir nueva bandeja + Height: Altura + The minimum height between trays is 50cm: La altura mínima entre bandejas es de 50cm + The maximum height of the wagon is 200cm: La altura máxima del vagón es de 200cm + A tray with the same height already exists, try with a different height: Ya existe una bandeja con la misma altura, prueba con una diferente + colors: + white: Blanco + red: Rojo + green: Verde + blue: Azul diff --git a/src/pages/Wagon/Type/WagonTypeEdit.vue b/src/pages/Wagon/Type/WagonTypeEdit.vue index af365c544..039f30f3f 100644 --- a/src/pages/Wagon/Type/WagonTypeEdit.vue +++ b/src/pages/Wagon/Type/WagonTypeEdit.vue @@ -276,18 +276,18 @@ watch( } - - en: - tray: Tray - wagonColor: Wagon color - Select a tray: Select a tray - es: - tray: Bandeja - wagonColor: Color de la bandeja - Select a tray: Seleccione una bandeja - Create new Wagon type: Crear nuevo tipo de vagón - Add new tray: Añadir nueva bandeja - Height: Altura - Tray added successfully: Bandeja añadida correctamente - Tray deleted successfully: Bandeja eliminada correctamente + +en: + tray: Tray + wagonColor: Wagon color + Select a tray: Select a tray +es: + tray: Bandeja + wagonColor: Color de la bandeja + Select a tray: Seleccione una bandeja + Create new Wagon type: Crear nuevo tipo de vagón + Add new tray: Añadir nueva bandeja + Height: Altura + Tray added successfully: Bandeja añadida correctamente + Tray deleted successfully: Bandeja eliminada correctamente diff --git a/src/pages/Wagon/Type/WagonTypeList.vue b/src/pages/Wagon/Type/WagonTypeList.vue index c0943c58e..6441649a3 100644 --- a/src/pages/Wagon/Type/WagonTypeList.vue +++ b/src/pages/Wagon/Type/WagonTypeList.vue @@ -126,7 +126,7 @@ async function remove(row) { - + en: nameNotEmpty: The name cannot be empty es: diff --git a/src/pages/Wagon/WagonCounter.vue b/src/pages/Wagon/WagonCounter.vue index a6cb110e6..7346bbbdf 100644 --- a/src/pages/Wagon/WagonCounter.vue +++ b/src/pages/Wagon/WagonCounter.vue @@ -137,7 +137,7 @@ function confirm() { } } - + es: Subtract 1: Quitar 1 Add 30: Añadir 30 diff --git a/src/pages/Worker/Card/WorkerBalance.vue b/src/pages/Worker/Card/WorkerBalance.vue index 1169cb397..dbf32548e 100644 --- a/src/pages/Worker/Card/WorkerBalance.vue +++ b/src/pages/Worker/Card/WorkerBalance.vue @@ -84,7 +84,7 @@ const columns = computed(() => [ /> - - es: - Create workerBalance: Crear balance + +es: + Create workerBalance: Crear balance diff --git a/src/pages/Worker/Card/WorkerBasicData.vue b/src/pages/Worker/Card/WorkerBasicData.vue index 96c75d26d..2b0c28ec8 100644 --- a/src/pages/Worker/Card/WorkerBasicData.vue +++ b/src/pages/Worker/Card/WorkerBasicData.vue @@ -156,7 +156,7 @@ const workerFilter = { - + es: Name: Nombre Last name: Apellidos diff --git a/src/pages/Worker/Card/WorkerCalendar.vue b/src/pages/Worker/Card/WorkerCalendar.vue index dc584ff48..274bd8141 100644 --- a/src/pages/Worker/Card/WorkerCalendar.vue +++ b/src/pages/Worker/Card/WorkerCalendar.vue @@ -229,7 +229,7 @@ watch([year, businessFk], () => refreshData()); } - + en: addAbsencesText: To start adding absences, click an absence type from the right menu and then on the day you want to add an absence diff --git a/src/pages/Worker/Card/WorkerCalendarFilter.vue b/src/pages/Worker/Card/WorkerCalendarFilter.vue index 7c363c334..2c0a61084 100644 --- a/src/pages/Worker/Card/WorkerCalendarFilter.vue +++ b/src/pages/Worker/Card/WorkerCalendarFilter.vue @@ -229,7 +229,7 @@ const yearList = ref(generateYears()); } - + en: spentHours: Spent {hoursEnjoyed} of {totalHours} hours usedDays: Used {holidaysEnjoyed} of {totalHolidays} days @@ -244,5 +244,4 @@ es: spentHours: Utilizadas {hoursEnjoyed} de {totalHours} horas usedDays: Utilizados {holidaysEnjoyed} de {totalHolidays} días paidHolidays: Vacaciones pagadas {payedHolidays} días - diff --git a/src/pages/Worker/Card/WorkerCalendarItem.vue b/src/pages/Worker/Card/WorkerCalendarItem.vue index 05a013d6b..cf77c2228 100644 --- a/src/pages/Worker/Card/WorkerCalendarItem.vue +++ b/src/pages/Worker/Card/WorkerCalendarItem.vue @@ -255,7 +255,7 @@ watch(_year, (newValue) => { } - + es: Choose an absence type from the right menu: Elige un tipo de ausencia desde el menú de la derecha diff --git a/src/pages/Worker/Card/WorkerChangePasswordForm.vue b/src/pages/Worker/Card/WorkerChangePasswordForm.vue index a03058115..a7b048883 100644 --- a/src/pages/Worker/Card/WorkerChangePasswordForm.vue +++ b/src/pages/Worker/Card/WorkerChangePasswordForm.vue @@ -89,7 +89,7 @@ onMounted(async () => await getPassRequirements()); - + es: Reset password: Restablecer contraseña New password: Nueva contraseña diff --git a/src/pages/Worker/Card/WorkerDescriptor.vue b/src/pages/Worker/Card/WorkerDescriptor.vue index 3c51ca70b..f9dcfb421 100644 --- a/src/pages/Worker/Card/WorkerDescriptor.vue +++ b/src/pages/Worker/Card/WorkerDescriptor.vue @@ -209,7 +209,7 @@ const refetch = async () => await cardDescriptorRef.value.getData(); } - + es: Click to allow the user to be disabled: Marcar para deshabilitar Click to exclude the user from getting disabled: Marcar para no deshabilitar diff --git a/src/pages/Worker/Card/WorkerFormation.vue b/src/pages/Worker/Card/WorkerFormation.vue index 21be7f2c0..d4d742c45 100644 --- a/src/pages/Worker/Card/WorkerFormation.vue +++ b/src/pages/Worker/Card/WorkerFormation.vue @@ -122,7 +122,7 @@ const columns = computed(() => [ :use-model="true" /> - + es: Create training course: Crear curso de formación diff --git a/src/pages/Worker/Card/WorkerPda.vue b/src/pages/Worker/Card/WorkerPda.vue index ec66e604f..7bbb796cd 100644 --- a/src/pages/Worker/Card/WorkerPda.vue +++ b/src/pages/Worker/Card/WorkerPda.vue @@ -173,7 +173,7 @@ function reloadData() { margin-top: 30px; } - + es: Model: Modelo Serial number: Número de serie diff --git a/src/pages/Worker/Card/WorkerTimeControl.vue b/src/pages/Worker/Card/WorkerTimeControl.vue index e6a693415..d9e394b37 100644 --- a/src/pages/Worker/Card/WorkerTimeControl.vue +++ b/src/pages/Worker/Card/WorkerTimeControl.vue @@ -614,7 +614,7 @@ onMounted(async () => { } - + es: Hours: Horas Total semana: Total semana diff --git a/src/pages/Worker/Card/WorkerTimeForm.vue b/src/pages/Worker/Card/WorkerTimeForm.vue index f7e0c8e0b..f37d9eaba 100644 --- a/src/pages/Worker/Card/WorkerTimeForm.vue +++ b/src/pages/Worker/Card/WorkerTimeForm.vue @@ -96,7 +96,7 @@ onBeforeMount(() => { - + es: Add time: Añadir hora Edit entry: Editar entrada diff --git a/src/pages/Worker/Card/WorkerTimeHourChip.vue b/src/pages/Worker/Card/WorkerTimeHourChip.vue index 836ef81b3..e7cec6d30 100644 --- a/src/pages/Worker/Card/WorkerTimeHourChip.vue +++ b/src/pages/Worker/Card/WorkerTimeHourChip.vue @@ -132,7 +132,7 @@ const showWorkerTimeForm = () => emit('showWorkerTimeForm'); } - + es: Entrada: Entrada Salida: Salida diff --git a/src/pages/Worker/Card/WorkerTimeReasonForm.vue b/src/pages/Worker/Card/WorkerTimeReasonForm.vue index e68e30118..b80732a83 100644 --- a/src/pages/Worker/Card/WorkerTimeReasonForm.vue +++ b/src/pages/Worker/Card/WorkerTimeReasonForm.vue @@ -46,7 +46,7 @@ const closeForm = () => { - + es: Reason: Motivo diff --git a/src/pages/Worker/CreateDepartmentChild.vue b/src/pages/Worker/CreateDepartmentChild.vue index e56d6da1f..c38fcdd27 100644 --- a/src/pages/Worker/CreateDepartmentChild.vue +++ b/src/pages/Worker/CreateDepartmentChild.vue @@ -92,7 +92,7 @@ onMounted(() => { } - + es: Name: Nombre New department: Nuevo departamento diff --git a/src/pages/Worker/WorkerDepartment.vue b/src/pages/Worker/WorkerDepartment.vue index fe4c23051..a5b494d54 100644 --- a/src/pages/Worker/WorkerDepartment.vue +++ b/src/pages/Worker/WorkerDepartment.vue @@ -8,7 +8,7 @@ import WorkerDepartmentTree from './WorkerDepartmentTree.vue'; - + es: Search worker: Buscar trabajador You can search by worker id or name: Puedes buscar por id o nombre del trabajador diff --git a/src/pages/Worker/WorkerDepartmentTree.vue b/src/pages/Worker/WorkerDepartmentTree.vue index c73cb59b9..ec21d8dd1 100644 --- a/src/pages/Worker/WorkerDepartmentTree.vue +++ b/src/pages/Worker/WorkerDepartmentTree.vue @@ -214,11 +214,11 @@ span { color: $primary; } - - es: - Departments: Departamentos - Remove: Quitar - Create: Crear - Are you sure you want to delete it?: ¿Seguro que quieres eliminarlo? - Delete department: Eliminar departamento + +es: + Departments: Departamentos + Remove: Quitar + Create: Crear + Are you sure you want to delete it?: ¿Seguro que quieres eliminarlo? + Delete department: Eliminar departamento diff --git a/src/pages/Worker/WorkerFilter.vue b/src/pages/Worker/WorkerFilter.vue index 3d2882a20..7de4344a4 100644 --- a/src/pages/Worker/WorkerFilter.vue +++ b/src/pages/Worker/WorkerFilter.vue @@ -95,7 +95,7 @@ const departments = ref(); - + en: params: search: Contains diff --git a/src/pages/Worker/WorkerList.vue b/src/pages/Worker/WorkerList.vue index 4c9964c0b..1313a7c50 100644 --- a/src/pages/Worker/WorkerList.vue +++ b/src/pages/Worker/WorkerList.vue @@ -337,7 +337,7 @@ async function autofillBic(worker) { - + es: Search worker: Buscar trabajador You can search by worker id or name: Puedes buscar por id o nombre del trabajador diff --git a/src/pages/Zone/Card/ZoneBasicData.vue b/src/pages/Zone/Card/ZoneBasicData.vue index 5c4738a27..63e2cb85f 100644 --- a/src/pages/Zone/Card/ZoneBasicData.vue +++ b/src/pages/Zone/Card/ZoneBasicData.vue @@ -116,7 +116,7 @@ const agencyOptions = ref([]); max-width: 10vw; } - + es: Name: Nombre Agency: Agencia diff --git a/src/pages/Zone/Card/ZoneDescriptor.vue b/src/pages/Zone/Card/ZoneDescriptor.vue index bd8e739e6..b8173f31d 100644 --- a/src/pages/Zone/Card/ZoneDescriptor.vue +++ b/src/pages/Zone/Card/ZoneDescriptor.vue @@ -66,7 +66,7 @@ const setData = (entity) => { - + es: Go to module index: Ir al índice del módulo diff --git a/src/pages/Zone/Card/ZoneDescriptorMenuItems.vue b/src/pages/Zone/Card/ZoneDescriptorMenuItems.vue index 72ead760e..f19715bd7 100644 --- a/src/pages/Zone/Card/ZoneDescriptorMenuItems.vue +++ b/src/pages/Zone/Card/ZoneDescriptorMenuItems.vue @@ -60,7 +60,7 @@ function openConfirmDialog(callback) { - + en: deleteZone: Delete cloneZone: Clone diff --git a/src/pages/Zone/ZoneList.vue b/src/pages/Zone/ZoneList.vue index 084b3c5e7..fff37bb5f 100644 --- a/src/pages/Zone/ZoneList.vue +++ b/src/pages/Zone/ZoneList.vue @@ -202,7 +202,7 @@ onMounted(() => (stateStore.rightDrawer = true)); - + es: Search zone: Buscar zona You can search zones by id or name: Puedes buscar zonas por id o nombre -- 2.40.1 From 3a35447a32d2adfa6df9ac8d5bf8fddb52f5e11b Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Fri, 27 Sep 2024 01:03:59 +0200 Subject: [PATCH 13/28] feat: refs #7220 add lang="yml --- test/cypress/components/CreateBankEntityForm.spec.js | 5 +++-- test/cypress/components/CreateManualInvoiceForm.spec.js | 9 +++++++++ test/cypress/components/CreateNewCityForm.spec.js | 9 +++++++++ test/cypress/components/CreateNewExpenseForm.spec.js | 9 +++++++++ test/cypress/components/CreateNewPostcodeForm.spec.js | 9 +++++++++ test/cypress/components/CreateNewProvinceForm.spec.js | 9 +++++++++ test/cypress/components/CreateThermographForm.spec.js | 9 +++++++++ test/cypress/components/CrudModel.spec.js | 9 +++++++++ test/cypress/components/EditPictureForm.spec.js | 9 +++++++++ test/cypress/components/EditTableCellValueForm.spec.js | 9 +++++++++ test/cypress/components/FetchData.spec.js | 9 +++++++++ test/cypress/components/FilterItemForm.spec.js | 9 +++++++++ test/cypress/components/FilterTravelForm.spec.js | 9 +++++++++ test/cypress/components/FormModel.spec.js | 8 ++++++++ test/cypress/components/FormModelPopup.spec.js | 9 +++++++++ test/cypress/components/FormPopup.spec.js | 9 +++++++++ test/cypress/components/ItemsFilterPanel.spec.js | 9 +++++++++ test/cypress/components/LeftMenu.spec.js | 9 +++++++++ test/cypress/components/LeftMenuItem.spec.js | 9 +++++++++ test/cypress/components/LeftMenuItemGroup.spec.js | 9 +++++++++ test/cypress/components/NavBar.spec.js | 9 +++++++++ test/cypress/components/PinnedModules.spec.js | 9 +++++++++ test/cypress/components/RefundInvoiceForm.spec.js | 9 +++++++++ test/cypress/components/RegularizeStockForm.spec.js | 9 +++++++++ test/cypress/components/TransferInvoiceForm.spec.js | 9 +++++++++ test/cypress/components/UserPanel.spec.js | 9 +++++++++ test/cypress/components/VnSelectProvince.spec.js | 9 +++++++++ test/cypress/components/common/SendEmailDialog.spec.js | 2 +- 28 files changed, 237 insertions(+), 3 deletions(-) create mode 100644 test/cypress/components/CreateManualInvoiceForm.spec.js create mode 100644 test/cypress/components/CreateNewCityForm.spec.js create mode 100644 test/cypress/components/CreateNewExpenseForm.spec.js create mode 100644 test/cypress/components/CreateNewPostcodeForm.spec.js create mode 100644 test/cypress/components/CreateNewProvinceForm.spec.js create mode 100644 test/cypress/components/CreateThermographForm.spec.js create mode 100644 test/cypress/components/CrudModel.spec.js create mode 100644 test/cypress/components/EditPictureForm.spec.js create mode 100644 test/cypress/components/EditTableCellValueForm.spec.js create mode 100644 test/cypress/components/FetchData.spec.js create mode 100644 test/cypress/components/FilterItemForm.spec.js create mode 100644 test/cypress/components/FilterTravelForm.spec.js create mode 100644 test/cypress/components/FormModel.spec.js create mode 100644 test/cypress/components/FormModelPopup.spec.js create mode 100644 test/cypress/components/FormPopup.spec.js create mode 100644 test/cypress/components/ItemsFilterPanel.spec.js create mode 100644 test/cypress/components/LeftMenu.spec.js create mode 100644 test/cypress/components/LeftMenuItem.spec.js create mode 100644 test/cypress/components/LeftMenuItemGroup.spec.js create mode 100644 test/cypress/components/NavBar.spec.js create mode 100644 test/cypress/components/PinnedModules.spec.js create mode 100644 test/cypress/components/RefundInvoiceForm.spec.js create mode 100644 test/cypress/components/RegularizeStockForm.spec.js create mode 100644 test/cypress/components/TransferInvoiceForm.spec.js create mode 100644 test/cypress/components/UserPanel.spec.js create mode 100644 test/cypress/components/VnSelectProvince.spec.js diff --git a/test/cypress/components/CreateBankEntityForm.spec.js b/test/cypress/components/CreateBankEntityForm.spec.js index 0248c9546..40a5f2513 100644 --- a/test/cypress/components/CreateBankEntityForm.spec.js +++ b/test/cypress/components/CreateBankEntityForm.spec.js @@ -1,8 +1,9 @@ + import CreateBankEntityForm from 'src/components/CreateBankEntityForm.vue'; describe('', () => { - it('renders', () => { + it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.mount(CreateBankEntityForm); + cy.vnMount(CreateBankEntityForm); }); }); diff --git a/test/cypress/components/CreateManualInvoiceForm.spec.js b/test/cypress/components/CreateManualInvoiceForm.spec.js new file mode 100644 index 000000000..bc064b461 --- /dev/null +++ b/test/cypress/components/CreateManualInvoiceForm.spec.js @@ -0,0 +1,9 @@ + +import CreateManualInvoiceForm from 'src/components/CreateManualInvoiceForm.vue'; + +describe('', () => { + it('TODO: boilerplate', () => { + // see: https://on.cypress.io/mounting-vue + cy.vnMount(CreateManualInvoiceForm); + }); +}); diff --git a/test/cypress/components/CreateNewCityForm.spec.js b/test/cypress/components/CreateNewCityForm.spec.js new file mode 100644 index 000000000..413838333 --- /dev/null +++ b/test/cypress/components/CreateNewCityForm.spec.js @@ -0,0 +1,9 @@ + +import CreateNewCityForm from 'src/components/CreateNewCityForm.vue'; + +describe('', () => { + it('TODO: boilerplate', () => { + // see: https://on.cypress.io/mounting-vue + cy.vnMount(CreateNewCityForm); + }); +}); diff --git a/test/cypress/components/CreateNewExpenseForm.spec.js b/test/cypress/components/CreateNewExpenseForm.spec.js new file mode 100644 index 000000000..e83710072 --- /dev/null +++ b/test/cypress/components/CreateNewExpenseForm.spec.js @@ -0,0 +1,9 @@ + +import CreateNewExpenseForm from 'src/components/CreateNewExpenseForm.vue'; + +describe('', () => { + it('TODO: boilerplate', () => { + // see: https://on.cypress.io/mounting-vue + cy.vnMount(CreateNewExpenseForm); + }); +}); diff --git a/test/cypress/components/CreateNewPostcodeForm.spec.js b/test/cypress/components/CreateNewPostcodeForm.spec.js new file mode 100644 index 000000000..6a6d796d7 --- /dev/null +++ b/test/cypress/components/CreateNewPostcodeForm.spec.js @@ -0,0 +1,9 @@ + +import CreateNewPostcodeForm from 'src/components/CreateNewPostcodeForm.vue'; + +describe('', () => { + it('TODO: boilerplate', () => { + // see: https://on.cypress.io/mounting-vue + cy.vnMount(CreateNewPostcodeForm); + }); +}); diff --git a/test/cypress/components/CreateNewProvinceForm.spec.js b/test/cypress/components/CreateNewProvinceForm.spec.js new file mode 100644 index 000000000..19fa4ab16 --- /dev/null +++ b/test/cypress/components/CreateNewProvinceForm.spec.js @@ -0,0 +1,9 @@ + +import CreateNewProvinceForm from 'src/components/CreateNewProvinceForm.vue'; + +describe('', () => { + it('TODO: boilerplate', () => { + // see: https://on.cypress.io/mounting-vue + cy.vnMount(CreateNewProvinceForm); + }); +}); diff --git a/test/cypress/components/CreateThermographForm.spec.js b/test/cypress/components/CreateThermographForm.spec.js new file mode 100644 index 000000000..262fdce1c --- /dev/null +++ b/test/cypress/components/CreateThermographForm.spec.js @@ -0,0 +1,9 @@ + +import CreateThermographForm from 'src/components/CreateThermographForm.vue'; + +describe('', () => { + it('TODO: boilerplate', () => { + // see: https://on.cypress.io/mounting-vue + cy.vnMount(CreateThermographForm); + }); +}); diff --git a/test/cypress/components/CrudModel.spec.js b/test/cypress/components/CrudModel.spec.js new file mode 100644 index 000000000..ae311159a --- /dev/null +++ b/test/cypress/components/CrudModel.spec.js @@ -0,0 +1,9 @@ + +import CrudModel from 'src/components/CrudModel.vue'; + +describe('', () => { + it('TODO: boilerplate', () => { + // see: https://on.cypress.io/mounting-vue + cy.vnMount(CrudModel); + }); +}); diff --git a/test/cypress/components/EditPictureForm.spec.js b/test/cypress/components/EditPictureForm.spec.js new file mode 100644 index 000000000..72f248ca8 --- /dev/null +++ b/test/cypress/components/EditPictureForm.spec.js @@ -0,0 +1,9 @@ + +import EditPictureForm from 'src/components/EditPictureForm.vue'; + +describe('', () => { + it('TODO: boilerplate', () => { + // see: https://on.cypress.io/mounting-vue + cy.vnMount(EditPictureForm); + }); +}); diff --git a/test/cypress/components/EditTableCellValueForm.spec.js b/test/cypress/components/EditTableCellValueForm.spec.js new file mode 100644 index 000000000..f54d6b599 --- /dev/null +++ b/test/cypress/components/EditTableCellValueForm.spec.js @@ -0,0 +1,9 @@ + +import EditTableCellValueForm from 'src/components/EditTableCellValueForm.vue'; + +describe('', () => { + it('TODO: boilerplate', () => { + // see: https://on.cypress.io/mounting-vue + cy.vnMount(EditTableCellValueForm); + }); +}); diff --git a/test/cypress/components/FetchData.spec.js b/test/cypress/components/FetchData.spec.js new file mode 100644 index 000000000..8accbc573 --- /dev/null +++ b/test/cypress/components/FetchData.spec.js @@ -0,0 +1,9 @@ + +import FetchData from 'src/components/FetchData.vue'; + +describe('', () => { + it('TODO: boilerplate', () => { + // see: https://on.cypress.io/mounting-vue + cy.vnMount(FetchData); + }); +}); diff --git a/test/cypress/components/FilterItemForm.spec.js b/test/cypress/components/FilterItemForm.spec.js new file mode 100644 index 000000000..524da2061 --- /dev/null +++ b/test/cypress/components/FilterItemForm.spec.js @@ -0,0 +1,9 @@ + +import FilterItemForm from 'src/components/FilterItemForm.vue'; + +describe('', () => { + it('TODO: boilerplate', () => { + // see: https://on.cypress.io/mounting-vue + cy.vnMount(FilterItemForm); + }); +}); diff --git a/test/cypress/components/FilterTravelForm.spec.js b/test/cypress/components/FilterTravelForm.spec.js new file mode 100644 index 000000000..b4dbd3836 --- /dev/null +++ b/test/cypress/components/FilterTravelForm.spec.js @@ -0,0 +1,9 @@ + +import FilterTravelForm from 'src/components/FilterTravelForm.vue'; + +describe('', () => { + it('TODO: boilerplate', () => { + // see: https://on.cypress.io/mounting-vue + cy.vnMount(FilterTravelForm); + }); +}); diff --git a/test/cypress/components/FormModel.spec.js b/test/cypress/components/FormModel.spec.js new file mode 100644 index 000000000..41e749d81 --- /dev/null +++ b/test/cypress/components/FormModel.spec.js @@ -0,0 +1,8 @@ +import FormModel from 'src/components/FormModel.vue'; + +describe('', () => { + it('TODO: boilerplate', () => { + // see: https://on.cypress.io/mounting-vue + cy.vnMount(FormModel, { props: {} }); + }); +}); diff --git a/test/cypress/components/FormModelPopup.spec.js b/test/cypress/components/FormModelPopup.spec.js new file mode 100644 index 000000000..d4bc87f83 --- /dev/null +++ b/test/cypress/components/FormModelPopup.spec.js @@ -0,0 +1,9 @@ + +import FormModelPopup from 'src/components/FormModelPopup.vue'; + +describe('', () => { + it('TODO: boilerplate', () => { + // see: https://on.cypress.io/mounting-vue + cy.vnMount(FormModelPopup); + }); +}); diff --git a/test/cypress/components/FormPopup.spec.js b/test/cypress/components/FormPopup.spec.js new file mode 100644 index 000000000..d6d189a51 --- /dev/null +++ b/test/cypress/components/FormPopup.spec.js @@ -0,0 +1,9 @@ + +import FormPopup from 'src/components/FormPopup.vue'; + +describe('', () => { + it('TODO: boilerplate', () => { + // see: https://on.cypress.io/mounting-vue + cy.vnMount(FormPopup); + }); +}); diff --git a/test/cypress/components/ItemsFilterPanel.spec.js b/test/cypress/components/ItemsFilterPanel.spec.js new file mode 100644 index 000000000..46e144399 --- /dev/null +++ b/test/cypress/components/ItemsFilterPanel.spec.js @@ -0,0 +1,9 @@ + +import ItemsFilterPanel from 'src/components/ItemsFilterPanel.vue'; + +describe('', () => { + it('TODO: boilerplate', () => { + // see: https://on.cypress.io/mounting-vue + cy.vnMount(ItemsFilterPanel); + }); +}); diff --git a/test/cypress/components/LeftMenu.spec.js b/test/cypress/components/LeftMenu.spec.js new file mode 100644 index 000000000..76577d176 --- /dev/null +++ b/test/cypress/components/LeftMenu.spec.js @@ -0,0 +1,9 @@ + +import LeftMenu from 'src/components/LeftMenu.vue'; + +describe('', () => { + it('TODO: boilerplate', () => { + // see: https://on.cypress.io/mounting-vue + cy.vnMount(LeftMenu); + }); +}); diff --git a/test/cypress/components/LeftMenuItem.spec.js b/test/cypress/components/LeftMenuItem.spec.js new file mode 100644 index 000000000..cdee51878 --- /dev/null +++ b/test/cypress/components/LeftMenuItem.spec.js @@ -0,0 +1,9 @@ + +import LeftMenuItem from 'src/components/LeftMenuItem.vue'; + +describe('', () => { + it('TODO: boilerplate', () => { + // see: https://on.cypress.io/mounting-vue + cy.vnMount(LeftMenuItem); + }); +}); diff --git a/test/cypress/components/LeftMenuItemGroup.spec.js b/test/cypress/components/LeftMenuItemGroup.spec.js new file mode 100644 index 000000000..c82e8a363 --- /dev/null +++ b/test/cypress/components/LeftMenuItemGroup.spec.js @@ -0,0 +1,9 @@ + +import LeftMenuItemGroup from 'src/components/LeftMenuItemGroup.vue'; + +describe('', () => { + it('TODO: boilerplate', () => { + // see: https://on.cypress.io/mounting-vue + cy.vnMount(LeftMenuItemGroup); + }); +}); diff --git a/test/cypress/components/NavBar.spec.js b/test/cypress/components/NavBar.spec.js new file mode 100644 index 000000000..b3c0302d7 --- /dev/null +++ b/test/cypress/components/NavBar.spec.js @@ -0,0 +1,9 @@ + +import NavBar from 'src/components/NavBar.vue'; + +describe('', () => { + it('TODO: boilerplate', () => { + // see: https://on.cypress.io/mounting-vue + cy.vnMount(NavBar); + }); +}); diff --git a/test/cypress/components/PinnedModules.spec.js b/test/cypress/components/PinnedModules.spec.js new file mode 100644 index 000000000..581e2620b --- /dev/null +++ b/test/cypress/components/PinnedModules.spec.js @@ -0,0 +1,9 @@ + +import PinnedModules from 'src/components/PinnedModules.vue'; + +describe('', () => { + it('TODO: boilerplate', () => { + // see: https://on.cypress.io/mounting-vue + cy.vnMount(PinnedModules); + }); +}); diff --git a/test/cypress/components/RefundInvoiceForm.spec.js b/test/cypress/components/RefundInvoiceForm.spec.js new file mode 100644 index 000000000..2427a3c8b --- /dev/null +++ b/test/cypress/components/RefundInvoiceForm.spec.js @@ -0,0 +1,9 @@ + +import RefundInvoiceForm from 'src/components/RefundInvoiceForm.vue'; + +describe('', () => { + it('TODO: boilerplate', () => { + // see: https://on.cypress.io/mounting-vue + cy.vnMount(RefundInvoiceForm); + }); +}); diff --git a/test/cypress/components/RegularizeStockForm.spec.js b/test/cypress/components/RegularizeStockForm.spec.js new file mode 100644 index 000000000..766f37c0b --- /dev/null +++ b/test/cypress/components/RegularizeStockForm.spec.js @@ -0,0 +1,9 @@ + +import RegularizeStockForm from 'src/components/RegularizeStockForm.vue'; + +describe('', () => { + it('TODO: boilerplate', () => { + // see: https://on.cypress.io/mounting-vue + cy.vnMount(RegularizeStockForm); + }); +}); diff --git a/test/cypress/components/TransferInvoiceForm.spec.js b/test/cypress/components/TransferInvoiceForm.spec.js new file mode 100644 index 000000000..82c56f4d3 --- /dev/null +++ b/test/cypress/components/TransferInvoiceForm.spec.js @@ -0,0 +1,9 @@ + +import TransferInvoiceForm from 'src/components/TransferInvoiceForm.vue'; + +describe('', () => { + it('TODO: boilerplate', () => { + // see: https://on.cypress.io/mounting-vue + cy.vnMount(TransferInvoiceForm); + }); +}); diff --git a/test/cypress/components/UserPanel.spec.js b/test/cypress/components/UserPanel.spec.js new file mode 100644 index 000000000..d4bd044c3 --- /dev/null +++ b/test/cypress/components/UserPanel.spec.js @@ -0,0 +1,9 @@ + +import UserPanel from 'src/components/UserPanel.vue'; + +describe('', () => { + it('TODO: boilerplate', () => { + // see: https://on.cypress.io/mounting-vue + cy.vnMount(UserPanel); + }); +}); diff --git a/test/cypress/components/VnSelectProvince.spec.js b/test/cypress/components/VnSelectProvince.spec.js new file mode 100644 index 000000000..aca106017 --- /dev/null +++ b/test/cypress/components/VnSelectProvince.spec.js @@ -0,0 +1,9 @@ + +import VnSelectProvince from 'src/components/VnSelectProvince.vue'; + +describe('', () => { + it('TODO: boilerplate', () => { + // see: https://on.cypress.io/mounting-vue + cy.vnMount(VnSelectProvince); + }); +}); diff --git a/test/cypress/components/common/SendEmailDialog.spec.js b/test/cypress/components/common/SendEmailDialog.spec.js index 5c36f76a8..f656d1a7f 100644 --- a/test/cypress/components/common/SendEmailDialog.spec.js +++ b/test/cypress/components/common/SendEmailDialog.spec.js @@ -3,6 +3,6 @@ import SendEmailDialog from 'src/components/common/SendEmailDialog.vue'; describe('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(SendEmailDialog); + cy.vnMount(SendEmailDialog, { props: { data: { address: '1234' } } }); }); }); -- 2.40.1 From dbf723343d63172f1e31206771cd755d507d4fbb Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Fri, 27 Sep 2024 09:58:23 +0200 Subject: [PATCH 14/28] feat: refs #7220 updates --- .vscode/launch.json | 15 +++++ cypress.config.js | 2 + cypress/support/commands.js | 57 ------------------- cypress/support/component-index.html | 12 ---- cypress/support/component.js | 27 --------- generate-tests.js | 12 ++-- src/components/NavBar.vue | 4 +- src/components/common/VnBreadcrumbs.vue | 5 +- .../common/src/css/quasar.variables.scss | 0 test/cypress/components/NavBar.spec.js | 1 - test/cypress/reports/index.html | 17 ++++++ test/cypress/support/component-index.html | 12 ++++ test/cypress/support/component.js | 28 +++++++++ 13 files changed, 87 insertions(+), 105 deletions(-) create mode 100644 .vscode/launch.json delete mode 100644 cypress/support/commands.js delete mode 100644 cypress/support/component-index.html delete mode 100644 cypress/support/component.js create mode 100644 src/components/common/src/css/quasar.variables.scss create mode 100644 test/cypress/reports/index.html create mode 100644 test/cypress/support/component-index.html diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 000000000..58835b53a --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,15 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "msedge", + "request": "launch", + "name": "Launch Chrome against localhost", + "url": "http://localhost:5000", + "webRoot": "${workspaceFolder}" + } + ] +} diff --git a/cypress.config.js b/cypress.config.js index 1221dcc63..c8c62c8fa 100644 --- a/cypress.config.js +++ b/cypress.config.js @@ -22,6 +22,8 @@ module.exports = defineConfig({ }, component: { + indexHtmlFile: 'test/cypress/support/component-index.html', + supportFile: 'test/cypress/support/component.js', specPattern: 'test/cypress/components/**/*.spec.js', devServer: { framework: 'vue', diff --git a/cypress/support/commands.js b/cypress/support/commands.js deleted file mode 100644 index d5040ee1b..000000000 --- a/cypress/support/commands.js +++ /dev/null @@ -1,57 +0,0 @@ -import { mount } from 'cypress/vue'; -import { Quasar } from 'quasar'; -import { i18n } from 'src/boot/i18n'; -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -import { createTestingPinia } from '@pinia/testing'; -import { shallowMount } from '@vue/test-utils'; -const pinia = createTestingPinia({ createSpy: () => {}, stubActions: false }); - -Cypress.Commands.add('vnMount', (component, options = {}) => { - const globalConfig = { - global: { - stubs: ['router-view', 'vue-i18n'], - plugins: [Quasar, i18n, pinia], - mocks: { t: (key) => key }, - }, - }; - // options.global = options.global || {}; - // options.global.stubs = options.global.stubs || {}; - // options.global.stubs.transition = false; - // options.global.components = options.global.components || {}; - // options.global.plugins = options.global.plugins || []; - - // Use store passed in from options, or initialize a new one - // const { /* store = getStore(), */ ...mountOptions } = options; - - // Add plugins here - // options.global.plugins.push({ - // install(app) { - // app.use(i18n); - // }, - // }); - return shallowMount(component, { ...globalConfig, ...options }); -}); diff --git a/cypress/support/component-index.html b/cypress/support/component-index.html deleted file mode 100644 index ac6e79fd8..000000000 --- a/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - \ No newline at end of file diff --git a/cypress/support/component.js b/cypress/support/component.js deleted file mode 100644 index b091808fa..000000000 --- a/cypress/support/component.js +++ /dev/null @@ -1,27 +0,0 @@ -// *********************************************************** -// This example support/component.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -import { mount } from 'cypress/vue' - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) \ No newline at end of file diff --git a/generate-tests.js b/generate-tests.js index 17218a3da..046081f6d 100644 --- a/generate-tests.js +++ b/generate-tests.js @@ -3,12 +3,12 @@ const path = require('path'); // Ruta de la carpeta de componentes // Ruta de la carpeta de pruebas -['common', 'ui'].forEach((folder) => { - generateTest(folder); -}); +// ['common', 'ui'].forEach((folder) => { +generateTest('folder'); +// }); function generateTest(type) { - const componentsDir = path.join(__dirname, `src/components/${type}`); - const testDir = path.join(__dirname, `test/cypress/components/${type}`); + const componentsDir = path.join(__dirname, `src/components`); + const testDir = path.join(__dirname, `test/cypress/components`); // Leer todos los archivos en la carpeta de componentes fs.readdir(componentsDir, (err, files) => { if (err) return console.error('Error leyendo la carpeta de componentes:', err); @@ -23,7 +23,7 @@ function generateTest(type) { // Contenido del archivo de prueba const testFileContent = ` -import ${componentName} from 'src/components/${type}/${file}'; +import ${componentName} from 'src/components/${file}'; describe('<${componentName} />', () => { it('TODO: boilerplate', () => { diff --git a/src/components/NavBar.vue b/src/components/NavBar.vue index ace1e7311..085c2a8d0 100644 --- a/src/components/NavBar.vue +++ b/src/components/NavBar.vue @@ -2,7 +2,7 @@ import { onMounted, ref } from 'vue'; import { useI18n } from 'vue-i18n'; import { useState } from 'src/composables/useState'; -import { useStateStore } from 'stores/useStateStore'; +import { useStateStore } from 'src/stores/useStateStore'; import { useQuasar } from 'quasar'; import PinnedModules from './PinnedModules.vue'; import UserPanel from 'src/components/UserPanel.vue'; @@ -98,6 +98,8 @@ const pinnedModulesRef = ref();
\ No newline at end of file diff --git a/test/cypress/support/component-index.html b/test/cypress/support/component-index.html new file mode 100644 index 000000000..3d489995f --- /dev/null +++ b/test/cypress/support/component-index.html @@ -0,0 +1,12 @@ + + + + + + + Components App + + +
+ + diff --git a/test/cypress/support/component.js b/test/cypress/support/component.js index 0cd10edb8..32c008206 100644 --- a/test/cypress/support/component.js +++ b/test/cypress/support/component.js @@ -49,3 +49,31 @@ function createWrapper(component, options) { Cypress.Commands.add('createWrapper', createWrapper); // Cypress.Commands.add('mount', mount); +import { shallowMount } from '@vue/test-utils'; +import { Quasar } from 'quasar'; + +Cypress.Commands.add('vnMount', (component, options = {}) => { + const globalConfig = { + global: { + stubs: ['router-view', 'vue-i18n'], + plugins: [Quasar, i18n, pinia], + mocks: { t: (key) => key }, + }, + }; + // options.global = options.global || {}; + // options.global.stubs = options.global.stubs || {}; + // options.global.stubs.transition = false; + // options.global.components = options.global.components || {}; + // options.global.plugins = options.global.plugins || []; + + // Use store passed in from options, or initialize a new one + // const { /* store = getStore(), */ ...mountOptions } = options; + + // Add plugins here + // options.global.plugins.push({ + // install(app) { + // app.use(i18n); + // }, + // }); + return shallowMount(component, { ...globalConfig, ...options }); +}); -- 2.40.1 From e18ae768201d71d68af1048d5f55ee258303daf8 Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Thu, 17 Oct 2024 11:39:14 +0200 Subject: [PATCH 15/28] feat: refs #7220 updates --- .eslintrc.cjs | 4 +- ...as detected outside of a test (failed).png | Bin 0 -> 125084 bytes generate-tests.js | 2 +- package.json | 4 +- .../components/CreateBankEntityForm.spec.js | 1 - .../CreateManualInvoiceForm.spec.js | 3 +- .../components/CreateNewCityForm.spec.js | 3 +- .../components/CreateNewExpenseForm.spec.js | 3 +- .../components/CreateNewPostcodeForm.spec.js | 3 +- .../components/CreateNewProvinceForm.spec.js | 3 +- .../components/CreateThermographForm.spec.js | 3 +- test/cypress/components/CrudModel.spec.js | 3 +- .../components/EditPictureForm.spec.js | 3 +- .../components/EditTableCellValueForm.spec.js | 3 +- test/cypress/components/FetchData.spec.js | 3 +- .../cypress/components/FilterItemForm.spec.js | 3 +- .../components/FilterTravelForm.spec.js | 3 +- test/cypress/components/FormModel.spec.js | 2 +- .../cypress/components/FormModelPopup.spec.js | 3 +- test/cypress/components/FormPopup.spec.js | 3 +- .../components/ItemsFilterPanel.spec.js | 3 +- test/cypress/components/LeftMenu.spec.js | 3 +- test/cypress/components/LeftMenuItem.spec.js | 3 +- .../components/LeftMenuItemGroup.spec.js | 3 +- test/cypress/components/NavBar.spec.js | 2 +- test/cypress/components/PinnedModules.spec.js | 3 +- .../components/RefundInvoiceForm.spec.js | 3 +- .../components/RegularizeStockForm.spec.js | 3 +- .../components/TransferInvoiceForm.spec.js | 3 +- test/cypress/components/UserPanel.spec.js | 3 +- test/cypress/components/VnLocation.spec.js | 17 ---- test/cypress/components/VnSelect.spec.js | 8 -- .../components/VnSelectProvince.spec.js | 9 -- .../components/common/RightMenu.spec.js | 3 +- .../components/common/SendEmailDialog.spec.js | 1 + .../components/common/SendSmsDialog.spec.js | 3 +- .../common/TableVisibleColumns.spec.js | 3 +- .../components/common/VnAccountNumber.spec.js | 3 +- .../components/common/VnBreadcrumbs.spec.js | 3 +- test/cypress/components/common/VnCard.spec.js | 3 +- .../components/common/VnComponent.spec.js | 3 +- test/cypress/components/common/VnDms.spec.js | 3 +- .../components/common/VnDmsList.spec.js | 3 +- .../cypress/components/common/VnInput.spec.js | 3 +- .../components/common/VnInputDate.spec.js | 3 +- .../components/common/VnInputNumber.spec.js | 3 +- .../components/common/VnInputTime.spec.js | 3 +- .../components/common/VnJsonValue.spec.js | 3 +- .../components/common/VnLocation.spec.js | 18 +++- test/cypress/components/common/VnLog.spec.js | 3 +- .../components/common/VnLogFilter.spec.js | 3 +- .../cypress/components/common/VnPopup.spec.js | 3 +- .../components/common/VnProgressModal.spec.js | 3 +- .../cypress/components/common/VnRadio.spec.js | 3 +- .../components/common/VnSectionMain.spec.js | 2 +- .../components/common/VnSelect.spec.js | 3 +- .../components/common/VnSelectCache.spec.js | 3 +- .../components/common/VnSelectDialog.spec.js | 3 +- .../components/common/VnSelectEnum.spec.js | 3 +- .../components/common/VnSmsDialog.spec.js | 3 +- .../components/common/VnSummaryDialog.spec.js | 3 +- .../cypress/components/common/VnTitle.spec.js | 86 +++++++++++++++++- .../components/common/VnWeekdayPicker.spec.js | 3 +- .../components/common/vnDiscount.spec.js | 3 +- .../components/ui/CardDescriptor.spec.js | 3 +- test/cypress/components/ui/CardList.spec.js | 3 +- .../cypress/components/ui/CardSummary.spec.js | 3 +- .../cypress/components/ui/CatalogItem.spec.js | 3 +- .../cypress/components/ui/FetchedTags.spec.js | 3 +- .../ui/QCalendarMonthWrapper.spec.js | 3 +- .../components/ui/SkeletonDescriptor.spec.js | 3 +- .../components/ui/SkeletonForm.spec.js | 3 +- .../components/ui/SkeletonSummary.spec.js | 3 +- .../components/ui/SkeletonTable.spec.js | 3 +- test/cypress/components/ui/VnAvatar.spec.js | 3 +- test/cypress/components/ui/VnConfirm.spec.js | 3 +- .../components/ui/VnFilterPanel.spec.js | 3 +- .../components/ui/VnFilterPanelChip.spec.js | 3 +- test/cypress/components/ui/VnImg.spec.js | 3 +- .../cypress/components/ui/VnLinkPhone.spec.js | 3 +- test/cypress/components/ui/VnLogo.spec.js | 3 +- test/cypress/components/ui/VnLv.spec.js | 3 +- test/cypress/components/ui/VnNotes.spec.js | 3 +- test/cypress/components/ui/VnOutForm.spec.js | 3 +- test/cypress/components/ui/VnPaginate.spec.js | 3 +- test/cypress/components/ui/VnRow.spec.js | 3 +- .../cypress/components/ui/VnSearchbar.spec.js | 3 +- test/cypress/components/ui/VnSms.spec.js | 3 +- .../components/ui/VnSubToolbar.spec.js | 3 +- test/cypress/components/ui/VnUserLink.spec.js | 3 +- test/cypress/support/component.js | 1 + 91 files changed, 182 insertions(+), 203 deletions(-) create mode 100644 cypress/screenshots/CreateNewCityForm.spec.js/An uncaught error was detected outside of a test (failed).png delete mode 100644 test/cypress/components/VnLocation.spec.js delete mode 100644 test/cypress/components/VnSelect.spec.js delete mode 100644 test/cypress/components/VnSelectProvince.spec.js diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 1d09a896f..1121c9cf0 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -25,7 +25,7 @@ module.exports = { // 'plugin:vue/vue3-essential', // Priority A: Essential (Error Prevention) 'plugin:vue/vue3-strongly-recommended', // Priority B: Strongly Recommended (Improving Readability) // 'plugin:vue/vue3-recommended', // Priority C: Recommended (Minimizing Arbitrary Choices and Cognitive Overhead) - + 'plugin:cypress/recommended', // https://github.com/prettier/eslint-config-prettier#installation // usage with Prettier, provided by 'eslint-config-prettier'. 'prettier', @@ -58,7 +58,7 @@ module.exports = { rules: { 'prefer-promise-reject-errors': 'off', 'no-unused-vars': 'warn', - "vue/no-multiple-template-root": "off" , + 'vue/no-multiple-template-root': 'off', // allow debugger during development only 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', }, diff --git a/cypress/screenshots/CreateNewCityForm.spec.js/An uncaught error was detected outside of a test (failed).png b/cypress/screenshots/CreateNewCityForm.spec.js/An uncaught error was detected outside of a test (failed).png new file mode 100644 index 0000000000000000000000000000000000000000..c7cb8e5f0b1e438835f8178092a4f4da41817962 GIT binary patch literal 125084 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�e|VTUe%i!r;Uv5LZYKIV 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

+oTqZSs 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 TKlVoa', () => { +describe.skip('<${componentName} />', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(${componentName}); diff --git a/package.json b/package.json index 981178cc1..92ae2dae6 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,8 @@ "lint": "eslint --ext .js,.vue ./", "format": "prettier --write \"**/*.{js,vue,scss,html,md,json}\" --ignore-path .gitignore", "test:e2e": "cypress open", - "test:components": "cypress run -p 9000 --component", + "test:e2e:unit": "cypress run --component", + "test:e2e:unit:ci": "cypress run -p 9000 --component", "test:e2e:ci": "cd ../salix && gulp docker && cd ../salix-front && cypress run", "test": "echo \"See package.json => scripts for available tests.\" && exit 0", "test:unit": "vitest", @@ -41,6 +42,7 @@ "@pinia/testing": "^0.1.2", "@quasar/app-vite": "^1.7.3", "@quasar/quasar-app-extension-qcalendar": "4.0.0-beta.15", + "@quasar/quasar-app-extension-testing-e2e-cypress": "^6.1.0", "@quasar/quasar-app-extension-testing-unit-vitest": "^0.4.0", "@vitest/ui": "^1.6.0", "@vue/test-utils": "^2.4.4", diff --git a/test/cypress/components/CreateBankEntityForm.spec.js b/test/cypress/components/CreateBankEntityForm.spec.js index 40a5f2513..3300e4f10 100644 --- a/test/cypress/components/CreateBankEntityForm.spec.js +++ b/test/cypress/components/CreateBankEntityForm.spec.js @@ -1,4 +1,3 @@ - import CreateBankEntityForm from 'src/components/CreateBankEntityForm.vue'; describe('', () => { diff --git a/test/cypress/components/CreateManualInvoiceForm.spec.js b/test/cypress/components/CreateManualInvoiceForm.spec.js index bc064b461..0ea075955 100644 --- a/test/cypress/components/CreateManualInvoiceForm.spec.js +++ b/test/cypress/components/CreateManualInvoiceForm.spec.js @@ -1,7 +1,6 @@ - import CreateManualInvoiceForm from 'src/components/CreateManualInvoiceForm.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(CreateManualInvoiceForm); diff --git a/test/cypress/components/CreateNewCityForm.spec.js b/test/cypress/components/CreateNewCityForm.spec.js index 413838333..087696074 100644 --- a/test/cypress/components/CreateNewCityForm.spec.js +++ b/test/cypress/components/CreateNewCityForm.spec.js @@ -1,7 +1,6 @@ - import CreateNewCityForm from 'src/components/CreateNewCityForm.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(CreateNewCityForm); diff --git a/test/cypress/components/CreateNewExpenseForm.spec.js b/test/cypress/components/CreateNewExpenseForm.spec.js index e83710072..0addea4d1 100644 --- a/test/cypress/components/CreateNewExpenseForm.spec.js +++ b/test/cypress/components/CreateNewExpenseForm.spec.js @@ -1,7 +1,6 @@ - import CreateNewExpenseForm from 'src/components/CreateNewExpenseForm.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(CreateNewExpenseForm); diff --git a/test/cypress/components/CreateNewPostcodeForm.spec.js b/test/cypress/components/CreateNewPostcodeForm.spec.js index 6a6d796d7..3b5d0da6a 100644 --- a/test/cypress/components/CreateNewPostcodeForm.spec.js +++ b/test/cypress/components/CreateNewPostcodeForm.spec.js @@ -1,7 +1,6 @@ - import CreateNewPostcodeForm from 'src/components/CreateNewPostcodeForm.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(CreateNewPostcodeForm); diff --git a/test/cypress/components/CreateNewProvinceForm.spec.js b/test/cypress/components/CreateNewProvinceForm.spec.js index 19fa4ab16..00041c2f1 100644 --- a/test/cypress/components/CreateNewProvinceForm.spec.js +++ b/test/cypress/components/CreateNewProvinceForm.spec.js @@ -1,7 +1,6 @@ - import CreateNewProvinceForm from 'src/components/CreateNewProvinceForm.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(CreateNewProvinceForm); diff --git a/test/cypress/components/CreateThermographForm.spec.js b/test/cypress/components/CreateThermographForm.spec.js index 262fdce1c..d6df3cb3e 100644 --- a/test/cypress/components/CreateThermographForm.spec.js +++ b/test/cypress/components/CreateThermographForm.spec.js @@ -1,7 +1,6 @@ - import CreateThermographForm from 'src/components/CreateThermographForm.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(CreateThermographForm); diff --git a/test/cypress/components/CrudModel.spec.js b/test/cypress/components/CrudModel.spec.js index ae311159a..2af8870fb 100644 --- a/test/cypress/components/CrudModel.spec.js +++ b/test/cypress/components/CrudModel.spec.js @@ -1,7 +1,6 @@ - import CrudModel from 'src/components/CrudModel.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(CrudModel); diff --git a/test/cypress/components/EditPictureForm.spec.js b/test/cypress/components/EditPictureForm.spec.js index 72f248ca8..72a5d07fa 100644 --- a/test/cypress/components/EditPictureForm.spec.js +++ b/test/cypress/components/EditPictureForm.spec.js @@ -1,7 +1,6 @@ - import EditPictureForm from 'src/components/EditPictureForm.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(EditPictureForm); diff --git a/test/cypress/components/EditTableCellValueForm.spec.js b/test/cypress/components/EditTableCellValueForm.spec.js index f54d6b599..4a8dffe1e 100644 --- a/test/cypress/components/EditTableCellValueForm.spec.js +++ b/test/cypress/components/EditTableCellValueForm.spec.js @@ -1,7 +1,6 @@ - import EditTableCellValueForm from 'src/components/EditTableCellValueForm.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(EditTableCellValueForm); diff --git a/test/cypress/components/FetchData.spec.js b/test/cypress/components/FetchData.spec.js index 8accbc573..d656c8700 100644 --- a/test/cypress/components/FetchData.spec.js +++ b/test/cypress/components/FetchData.spec.js @@ -1,7 +1,6 @@ - import FetchData from 'src/components/FetchData.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(FetchData); diff --git a/test/cypress/components/FilterItemForm.spec.js b/test/cypress/components/FilterItemForm.spec.js index 524da2061..33692c11e 100644 --- a/test/cypress/components/FilterItemForm.spec.js +++ b/test/cypress/components/FilterItemForm.spec.js @@ -1,7 +1,6 @@ - import FilterItemForm from 'src/components/FilterItemForm.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(FilterItemForm); diff --git a/test/cypress/components/FilterTravelForm.spec.js b/test/cypress/components/FilterTravelForm.spec.js index b4dbd3836..bf796426c 100644 --- a/test/cypress/components/FilterTravelForm.spec.js +++ b/test/cypress/components/FilterTravelForm.spec.js @@ -1,7 +1,6 @@ - import FilterTravelForm from 'src/components/FilterTravelForm.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(FilterTravelForm); diff --git a/test/cypress/components/FormModel.spec.js b/test/cypress/components/FormModel.spec.js index 41e749d81..18c6adc54 100644 --- a/test/cypress/components/FormModel.spec.js +++ b/test/cypress/components/FormModel.spec.js @@ -1,6 +1,6 @@ import FormModel from 'src/components/FormModel.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(FormModel, { props: {} }); diff --git a/test/cypress/components/FormModelPopup.spec.js b/test/cypress/components/FormModelPopup.spec.js index d4bc87f83..814f8e635 100644 --- a/test/cypress/components/FormModelPopup.spec.js +++ b/test/cypress/components/FormModelPopup.spec.js @@ -1,7 +1,6 @@ - import FormModelPopup from 'src/components/FormModelPopup.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(FormModelPopup); diff --git a/test/cypress/components/FormPopup.spec.js b/test/cypress/components/FormPopup.spec.js index d6d189a51..6a82e172d 100644 --- a/test/cypress/components/FormPopup.spec.js +++ b/test/cypress/components/FormPopup.spec.js @@ -1,7 +1,6 @@ - import FormPopup from 'src/components/FormPopup.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(FormPopup); diff --git a/test/cypress/components/ItemsFilterPanel.spec.js b/test/cypress/components/ItemsFilterPanel.spec.js index 46e144399..511a65445 100644 --- a/test/cypress/components/ItemsFilterPanel.spec.js +++ b/test/cypress/components/ItemsFilterPanel.spec.js @@ -1,7 +1,6 @@ - import ItemsFilterPanel from 'src/components/ItemsFilterPanel.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(ItemsFilterPanel); diff --git a/test/cypress/components/LeftMenu.spec.js b/test/cypress/components/LeftMenu.spec.js index 76577d176..ca2424181 100644 --- a/test/cypress/components/LeftMenu.spec.js +++ b/test/cypress/components/LeftMenu.spec.js @@ -1,7 +1,6 @@ - import LeftMenu from 'src/components/LeftMenu.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(LeftMenu); diff --git a/test/cypress/components/LeftMenuItem.spec.js b/test/cypress/components/LeftMenuItem.spec.js index cdee51878..a394f1aaa 100644 --- a/test/cypress/components/LeftMenuItem.spec.js +++ b/test/cypress/components/LeftMenuItem.spec.js @@ -1,7 +1,6 @@ - import LeftMenuItem from 'src/components/LeftMenuItem.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(LeftMenuItem); diff --git a/test/cypress/components/LeftMenuItemGroup.spec.js b/test/cypress/components/LeftMenuItemGroup.spec.js index c82e8a363..bbddb3eb1 100644 --- a/test/cypress/components/LeftMenuItemGroup.spec.js +++ b/test/cypress/components/LeftMenuItemGroup.spec.js @@ -1,7 +1,6 @@ - import LeftMenuItemGroup from 'src/components/LeftMenuItemGroup.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(LeftMenuItemGroup); diff --git a/test/cypress/components/NavBar.spec.js b/test/cypress/components/NavBar.spec.js index d11957179..719a18bc8 100644 --- a/test/cypress/components/NavBar.spec.js +++ b/test/cypress/components/NavBar.spec.js @@ -1,6 +1,6 @@ import NavBar from 'src/components/NavBar.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(NavBar); diff --git a/test/cypress/components/PinnedModules.spec.js b/test/cypress/components/PinnedModules.spec.js index 581e2620b..230518463 100644 --- a/test/cypress/components/PinnedModules.spec.js +++ b/test/cypress/components/PinnedModules.spec.js @@ -1,7 +1,6 @@ - import PinnedModules from 'src/components/PinnedModules.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(PinnedModules); diff --git a/test/cypress/components/RefundInvoiceForm.spec.js b/test/cypress/components/RefundInvoiceForm.spec.js index 2427a3c8b..976230fa5 100644 --- a/test/cypress/components/RefundInvoiceForm.spec.js +++ b/test/cypress/components/RefundInvoiceForm.spec.js @@ -1,7 +1,6 @@ - import RefundInvoiceForm from 'src/components/RefundInvoiceForm.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(RefundInvoiceForm); diff --git a/test/cypress/components/RegularizeStockForm.spec.js b/test/cypress/components/RegularizeStockForm.spec.js index 766f37c0b..f5a4770a8 100644 --- a/test/cypress/components/RegularizeStockForm.spec.js +++ b/test/cypress/components/RegularizeStockForm.spec.js @@ -1,7 +1,6 @@ - import RegularizeStockForm from 'src/components/RegularizeStockForm.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(RegularizeStockForm); diff --git a/test/cypress/components/TransferInvoiceForm.spec.js b/test/cypress/components/TransferInvoiceForm.spec.js index 82c56f4d3..4d962c456 100644 --- a/test/cypress/components/TransferInvoiceForm.spec.js +++ b/test/cypress/components/TransferInvoiceForm.spec.js @@ -1,7 +1,6 @@ - import TransferInvoiceForm from 'src/components/TransferInvoiceForm.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(TransferInvoiceForm); diff --git a/test/cypress/components/UserPanel.spec.js b/test/cypress/components/UserPanel.spec.js index d4bd044c3..d4754d915 100644 --- a/test/cypress/components/UserPanel.spec.js +++ b/test/cypress/components/UserPanel.spec.js @@ -1,7 +1,6 @@ - import UserPanel from 'src/components/UserPanel.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(UserPanel); diff --git a/test/cypress/components/VnLocation.spec.js b/test/cypress/components/VnLocation.spec.js deleted file mode 100644 index 57655ef2d..000000000 --- a/test/cypress/components/VnLocation.spec.js +++ /dev/null @@ -1,17 +0,0 @@ -import VnLocation from 'src/components/common/VnLocation.vue'; -describe('', () => { - it('renders', () => { - // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnLocation, { - props: { - modelValue: 1234, - location: { - postcode: '46600', - city: ' Alz', - province: { name: 'as' }, - country: { name: 'asdq' }, - }, - }, - }); - }); -}); diff --git a/test/cypress/components/VnSelect.spec.js b/test/cypress/components/VnSelect.spec.js deleted file mode 100644 index afc53beac..000000000 --- a/test/cypress/components/VnSelect.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -import VnSelect from 'src/components/common/VnSelect.vue'; - -describe('', () => { - it('renders', () => { - // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnSelect); - }); -}); diff --git a/test/cypress/components/VnSelectProvince.spec.js b/test/cypress/components/VnSelectProvince.spec.js deleted file mode 100644 index aca106017..000000000 --- a/test/cypress/components/VnSelectProvince.spec.js +++ /dev/null @@ -1,9 +0,0 @@ - -import VnSelectProvince from 'src/components/VnSelectProvince.vue'; - -describe('', () => { - it('TODO: boilerplate', () => { - // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnSelectProvince); - }); -}); diff --git a/test/cypress/components/common/RightMenu.spec.js b/test/cypress/components/common/RightMenu.spec.js index 17fc83d5f..6d568fcd2 100644 --- a/test/cypress/components/common/RightMenu.spec.js +++ b/test/cypress/components/common/RightMenu.spec.js @@ -1,7 +1,6 @@ - import RightMenu from 'src/components/common/RightMenu.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(RightMenu); diff --git a/test/cypress/components/common/SendEmailDialog.spec.js b/test/cypress/components/common/SendEmailDialog.spec.js index f656d1a7f..db79eea86 100644 --- a/test/cypress/components/common/SendEmailDialog.spec.js +++ b/test/cypress/components/common/SendEmailDialog.spec.js @@ -4,5 +4,6 @@ describe('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(SendEmailDialog, { props: { data: { address: '1234' } } }); + cy.get('input').type('1234'); }); }); diff --git a/test/cypress/components/common/SendSmsDialog.spec.js b/test/cypress/components/common/SendSmsDialog.spec.js index 9ce412693..75f83356a 100644 --- a/test/cypress/components/common/SendSmsDialog.spec.js +++ b/test/cypress/components/common/SendSmsDialog.spec.js @@ -1,7 +1,6 @@ - import SendSmsDialog from 'src/components/common/SendSmsDialog.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(SendSmsDialog); diff --git a/test/cypress/components/common/TableVisibleColumns.spec.js b/test/cypress/components/common/TableVisibleColumns.spec.js index 3a1344e05..2ff946ee4 100644 --- a/test/cypress/components/common/TableVisibleColumns.spec.js +++ b/test/cypress/components/common/TableVisibleColumns.spec.js @@ -1,7 +1,6 @@ - import TableVisibleColumns from 'src/components/common/TableVisibleColumns.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(TableVisibleColumns); diff --git a/test/cypress/components/common/VnAccountNumber.spec.js b/test/cypress/components/common/VnAccountNumber.spec.js index 0348cedfd..ace77bcda 100644 --- a/test/cypress/components/common/VnAccountNumber.spec.js +++ b/test/cypress/components/common/VnAccountNumber.spec.js @@ -1,7 +1,6 @@ - import VnAccountNumber from 'src/components/common/VnAccountNumber.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnAccountNumber); diff --git a/test/cypress/components/common/VnBreadcrumbs.spec.js b/test/cypress/components/common/VnBreadcrumbs.spec.js index 238863b77..c590fb3d0 100644 --- a/test/cypress/components/common/VnBreadcrumbs.spec.js +++ b/test/cypress/components/common/VnBreadcrumbs.spec.js @@ -1,7 +1,6 @@ - import VnBreadcrumbs from 'src/components/common/VnBreadcrumbs.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnBreadcrumbs); diff --git a/test/cypress/components/common/VnCard.spec.js b/test/cypress/components/common/VnCard.spec.js index c81e05deb..f3d51b0c3 100644 --- a/test/cypress/components/common/VnCard.spec.js +++ b/test/cypress/components/common/VnCard.spec.js @@ -1,7 +1,6 @@ - import VnCard from 'src/components/common/VnCard.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnCard); diff --git a/test/cypress/components/common/VnComponent.spec.js b/test/cypress/components/common/VnComponent.spec.js index 69206dd97..42a2aa109 100644 --- a/test/cypress/components/common/VnComponent.spec.js +++ b/test/cypress/components/common/VnComponent.spec.js @@ -1,7 +1,6 @@ - import VnComponent from 'src/components/common/VnComponent.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnComponent); diff --git a/test/cypress/components/common/VnDms.spec.js b/test/cypress/components/common/VnDms.spec.js index 5c9ae1717..14a7d06f6 100644 --- a/test/cypress/components/common/VnDms.spec.js +++ b/test/cypress/components/common/VnDms.spec.js @@ -1,7 +1,6 @@ - import VnDms from 'src/components/common/VnDms.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnDms); diff --git a/test/cypress/components/common/VnDmsList.spec.js b/test/cypress/components/common/VnDmsList.spec.js index 817ba153c..8c0d09a44 100644 --- a/test/cypress/components/common/VnDmsList.spec.js +++ b/test/cypress/components/common/VnDmsList.spec.js @@ -1,7 +1,6 @@ - import VnDmsList from 'src/components/common/VnDmsList.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnDmsList); diff --git a/test/cypress/components/common/VnInput.spec.js b/test/cypress/components/common/VnInput.spec.js index 58f2ecd47..b17eae882 100644 --- a/test/cypress/components/common/VnInput.spec.js +++ b/test/cypress/components/common/VnInput.spec.js @@ -1,7 +1,6 @@ - import VnInput from 'src/components/common/VnInput.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnInput); diff --git a/test/cypress/components/common/VnInputDate.spec.js b/test/cypress/components/common/VnInputDate.spec.js index 1c902b322..a0cf6dbe3 100644 --- a/test/cypress/components/common/VnInputDate.spec.js +++ b/test/cypress/components/common/VnInputDate.spec.js @@ -1,7 +1,6 @@ - import VnInputDate from 'src/components/common/VnInputDate.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnInputDate); diff --git a/test/cypress/components/common/VnInputNumber.spec.js b/test/cypress/components/common/VnInputNumber.spec.js index 36c0fbd59..23ee3080e 100644 --- a/test/cypress/components/common/VnInputNumber.spec.js +++ b/test/cypress/components/common/VnInputNumber.spec.js @@ -1,7 +1,6 @@ - import VnInputNumber from 'src/components/common/VnInputNumber.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnInputNumber); diff --git a/test/cypress/components/common/VnInputTime.spec.js b/test/cypress/components/common/VnInputTime.spec.js index 2b074aa7e..9c003d1c9 100644 --- a/test/cypress/components/common/VnInputTime.spec.js +++ b/test/cypress/components/common/VnInputTime.spec.js @@ -1,7 +1,6 @@ - import VnInputTime from 'src/components/common/VnInputTime.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnInputTime); diff --git a/test/cypress/components/common/VnJsonValue.spec.js b/test/cypress/components/common/VnJsonValue.spec.js index d738366ca..c8c7ebb2f 100644 --- a/test/cypress/components/common/VnJsonValue.spec.js +++ b/test/cypress/components/common/VnJsonValue.spec.js @@ -1,7 +1,6 @@ - import VnJsonValue from 'src/components/common/VnJsonValue.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnJsonValue); diff --git a/test/cypress/components/common/VnLocation.spec.js b/test/cypress/components/common/VnLocation.spec.js index f03595d5f..f2a9e319f 100644 --- a/test/cypress/components/common/VnLocation.spec.js +++ b/test/cypress/components/common/VnLocation.spec.js @@ -1,9 +1,17 @@ - import VnLocation from 'src/components/common/VnLocation.vue'; - -describe('', () => { - it('TODO: boilerplate', () => { +describe.skip('', () => { + it('renders', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnLocation); + cy.vnMount(VnLocation, { + props: { + modelValue: 1234, + location: { + postcode: '46600', + city: ' Alz', + province: { name: 'as' }, + country: { name: 'asdq' }, + }, + }, + }); }); }); diff --git a/test/cypress/components/common/VnLog.spec.js b/test/cypress/components/common/VnLog.spec.js index 857e4dba4..2a22dd45c 100644 --- a/test/cypress/components/common/VnLog.spec.js +++ b/test/cypress/components/common/VnLog.spec.js @@ -1,7 +1,6 @@ - import VnLog from 'src/components/common/VnLog.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnLog); diff --git a/test/cypress/components/common/VnLogFilter.spec.js b/test/cypress/components/common/VnLogFilter.spec.js index 2e39c1df8..f5df4c3b1 100644 --- a/test/cypress/components/common/VnLogFilter.spec.js +++ b/test/cypress/components/common/VnLogFilter.spec.js @@ -1,7 +1,6 @@ - import VnLogFilter from 'src/components/common/VnLogFilter.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnLogFilter); diff --git a/test/cypress/components/common/VnPopup.spec.js b/test/cypress/components/common/VnPopup.spec.js index b497ecb90..bb8e6db10 100644 --- a/test/cypress/components/common/VnPopup.spec.js +++ b/test/cypress/components/common/VnPopup.spec.js @@ -1,7 +1,6 @@ - import VnPopup from 'src/components/common/VnPopup.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnPopup); diff --git a/test/cypress/components/common/VnProgressModal.spec.js b/test/cypress/components/common/VnProgressModal.spec.js index 43620117e..4616b032b 100644 --- a/test/cypress/components/common/VnProgressModal.spec.js +++ b/test/cypress/components/common/VnProgressModal.spec.js @@ -1,7 +1,6 @@ - import VnProgressModal from 'src/components/common/VnProgressModal.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnProgressModal); diff --git a/test/cypress/components/common/VnRadio.spec.js b/test/cypress/components/common/VnRadio.spec.js index 3934e1243..4060c781f 100644 --- a/test/cypress/components/common/VnRadio.spec.js +++ b/test/cypress/components/common/VnRadio.spec.js @@ -1,7 +1,6 @@ - import VnRadio from 'src/components/common/VnRadio.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnRadio); diff --git a/test/cypress/components/common/VnSectionMain.spec.js b/test/cypress/components/common/VnSectionMain.spec.js index 1f7821128..dfb6cb069 100644 --- a/test/cypress/components/common/VnSectionMain.spec.js +++ b/test/cypress/components/common/VnSectionMain.spec.js @@ -1,6 +1,6 @@ import VnSectionMain from 'src/components/common/VnSectionMain.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnSectionMain, { diff --git a/test/cypress/components/common/VnSelect.spec.js b/test/cypress/components/common/VnSelect.spec.js index 5c61bfbea..218a271a4 100644 --- a/test/cypress/components/common/VnSelect.spec.js +++ b/test/cypress/components/common/VnSelect.spec.js @@ -1,7 +1,6 @@ - import VnSelect from 'src/components/common/VnSelect.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnSelect); diff --git a/test/cypress/components/common/VnSelectCache.spec.js b/test/cypress/components/common/VnSelectCache.spec.js index 450516d11..ca271bea5 100644 --- a/test/cypress/components/common/VnSelectCache.spec.js +++ b/test/cypress/components/common/VnSelectCache.spec.js @@ -1,7 +1,6 @@ - import VnSelectCache from 'src/components/common/VnSelectCache.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnSelectCache); diff --git a/test/cypress/components/common/VnSelectDialog.spec.js b/test/cypress/components/common/VnSelectDialog.spec.js index 7aabfef98..def2c129a 100644 --- a/test/cypress/components/common/VnSelectDialog.spec.js +++ b/test/cypress/components/common/VnSelectDialog.spec.js @@ -1,7 +1,6 @@ - import VnSelectDialog from 'src/components/common/VnSelectDialog.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnSelectDialog); diff --git a/test/cypress/components/common/VnSelectEnum.spec.js b/test/cypress/components/common/VnSelectEnum.spec.js index 16b43184a..1260660e3 100644 --- a/test/cypress/components/common/VnSelectEnum.spec.js +++ b/test/cypress/components/common/VnSelectEnum.spec.js @@ -1,7 +1,6 @@ - import VnSelectEnum from 'src/components/common/VnSelectEnum.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnSelectEnum); diff --git a/test/cypress/components/common/VnSmsDialog.spec.js b/test/cypress/components/common/VnSmsDialog.spec.js index f854f2ce8..a5a302485 100644 --- a/test/cypress/components/common/VnSmsDialog.spec.js +++ b/test/cypress/components/common/VnSmsDialog.spec.js @@ -1,7 +1,6 @@ - import VnSmsDialog from 'src/components/common/VnSmsDialog.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnSmsDialog); diff --git a/test/cypress/components/common/VnSummaryDialog.spec.js b/test/cypress/components/common/VnSummaryDialog.spec.js index c14825026..d83e15a53 100644 --- a/test/cypress/components/common/VnSummaryDialog.spec.js +++ b/test/cypress/components/common/VnSummaryDialog.spec.js @@ -1,7 +1,6 @@ - import VnSummaryDialog from 'src/components/common/VnSummaryDialog.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnSummaryDialog); diff --git a/test/cypress/components/common/VnTitle.spec.js b/test/cypress/components/common/VnTitle.spec.js index ec8564d92..e00f60583 100644 --- a/test/cypress/components/common/VnTitle.spec.js +++ b/test/cypress/components/common/VnTitle.spec.js @@ -1,9 +1,87 @@ - import VnTitle from 'src/components/common/VnTitle.vue'; describe('', () => { - it('TODO: boilerplate', () => { - // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnTitle); + it('renders text with link', () => { + cy.vnMount(VnTitle, { + props: { + url: 'https://example.com', + text: 'Example Link', + }, + }); + cy.get('a').should('exist'); + cy.get('a').should('have.attr', 'href', 'https://example.com'); + cy.get('a').should('contain.text', 'Example Link'); + }); + it('renders text without link', () => { + cy.vnMount(VnTitle, { + props: { + text: 'No Link', + }, + }); + cy.get('a').should('exist'); + cy.get('a').should('not.have.attr', 'href'); + cy.get('a').should('contain.text', 'No Link'); + }); + + it('applies correct classes based on url prop', () => { + cy.vnMount(VnTitle, { + props: { + url: 'https://example.com', + }, + }); + cy.get('a').should('have.class', 'link'); + + cy.vnMount(VnTitle, { + props: {}, + }); + cy.get('a').should('have.class', 'color-vn-text'); + }); + + it('displays icon when url is provided', () => { + cy.vnMount(VnTitle, { + props: { + url: 'https://example.com', + }, + }); + cy.get('.q-icon').should('exist'); + }); + + it('does not display icon when url is not provided', () => { + cy.vnMount(VnTitle, { + props: {}, + }); + cy.get('.q-icon').should('not.exist'); + }); + + it('applies correct cursor style based on url prop', () => { + cy.vnMount(VnTitle, { + props: { + url: 'https://example.com', + }, + }); + cy.get('.header-link').should('have.css', 'cursor', 'pointer'); + + cy.vnMount(VnTitle, { + props: {}, + }); + cy.get('.header-link').should('have.css', 'cursor', 'default'); + }); + it('renders default icon when no icon prop is provided', () => { + cy.vnMount(VnTitle, { + props: { + url: 'https://example.com', + }, + }); + cy.get('i').should('contain.text', 'open_in_new'); + }); + + it('renders custom icon when icon prop is provided', () => { + cy.vnMount(VnTitle, { + props: { + url: 'https://example.com', + icon: 'custom_icon', + }, + }); + cy.get('i').should('contain.text', 'custom_icon'); }); }); diff --git a/test/cypress/components/common/VnWeekdayPicker.spec.js b/test/cypress/components/common/VnWeekdayPicker.spec.js index dd9d123e8..fbe588a46 100644 --- a/test/cypress/components/common/VnWeekdayPicker.spec.js +++ b/test/cypress/components/common/VnWeekdayPicker.spec.js @@ -1,7 +1,6 @@ - import VnWeekdayPicker from 'src/components/common/VnWeekdayPicker.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnWeekdayPicker); diff --git a/test/cypress/components/common/vnDiscount.spec.js b/test/cypress/components/common/vnDiscount.spec.js index 5239b1544..fd5648df9 100644 --- a/test/cypress/components/common/vnDiscount.spec.js +++ b/test/cypress/components/common/vnDiscount.spec.js @@ -1,7 +1,6 @@ - import vnDiscount from 'src/components/common/vnDiscount.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(vnDiscount); diff --git a/test/cypress/components/ui/CardDescriptor.spec.js b/test/cypress/components/ui/CardDescriptor.spec.js index 1b6a7f040..086a1fd6f 100644 --- a/test/cypress/components/ui/CardDescriptor.spec.js +++ b/test/cypress/components/ui/CardDescriptor.spec.js @@ -1,7 +1,6 @@ - import CardDescriptor from 'src/components/ui/CardDescriptor.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(CardDescriptor); diff --git a/test/cypress/components/ui/CardList.spec.js b/test/cypress/components/ui/CardList.spec.js index 68bd99bc2..b180f9f9c 100644 --- a/test/cypress/components/ui/CardList.spec.js +++ b/test/cypress/components/ui/CardList.spec.js @@ -1,7 +1,6 @@ - import CardList from 'src/components/ui/CardList.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(CardList); diff --git a/test/cypress/components/ui/CardSummary.spec.js b/test/cypress/components/ui/CardSummary.spec.js index 9e1282496..f9f78685c 100644 --- a/test/cypress/components/ui/CardSummary.spec.js +++ b/test/cypress/components/ui/CardSummary.spec.js @@ -1,7 +1,6 @@ - import CardSummary from 'src/components/ui/CardSummary.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(CardSummary); diff --git a/test/cypress/components/ui/CatalogItem.spec.js b/test/cypress/components/ui/CatalogItem.spec.js index 9050071c0..4b9896928 100644 --- a/test/cypress/components/ui/CatalogItem.spec.js +++ b/test/cypress/components/ui/CatalogItem.spec.js @@ -1,7 +1,6 @@ - import CatalogItem from 'src/components/ui/CatalogItem.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(CatalogItem); diff --git a/test/cypress/components/ui/FetchedTags.spec.js b/test/cypress/components/ui/FetchedTags.spec.js index e2effeade..d148f6784 100644 --- a/test/cypress/components/ui/FetchedTags.spec.js +++ b/test/cypress/components/ui/FetchedTags.spec.js @@ -1,7 +1,6 @@ - import FetchedTags from 'src/components/ui/FetchedTags.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(FetchedTags); diff --git a/test/cypress/components/ui/QCalendarMonthWrapper.spec.js b/test/cypress/components/ui/QCalendarMonthWrapper.spec.js index 58523d358..e21df9112 100644 --- a/test/cypress/components/ui/QCalendarMonthWrapper.spec.js +++ b/test/cypress/components/ui/QCalendarMonthWrapper.spec.js @@ -1,7 +1,6 @@ - import QCalendarMonthWrapper from 'src/components/ui/QCalendarMonthWrapper.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(QCalendarMonthWrapper); diff --git a/test/cypress/components/ui/SkeletonDescriptor.spec.js b/test/cypress/components/ui/SkeletonDescriptor.spec.js index 5db73ca46..ad863140a 100644 --- a/test/cypress/components/ui/SkeletonDescriptor.spec.js +++ b/test/cypress/components/ui/SkeletonDescriptor.spec.js @@ -1,7 +1,6 @@ - import SkeletonDescriptor from 'src/components/ui/SkeletonDescriptor.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(SkeletonDescriptor); diff --git a/test/cypress/components/ui/SkeletonForm.spec.js b/test/cypress/components/ui/SkeletonForm.spec.js index b6a12c544..787372979 100644 --- a/test/cypress/components/ui/SkeletonForm.spec.js +++ b/test/cypress/components/ui/SkeletonForm.spec.js @@ -1,7 +1,6 @@ - import SkeletonForm from 'src/components/ui/SkeletonForm.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(SkeletonForm); diff --git a/test/cypress/components/ui/SkeletonSummary.spec.js b/test/cypress/components/ui/SkeletonSummary.spec.js index 4a652b9ec..6a0fed75e 100644 --- a/test/cypress/components/ui/SkeletonSummary.spec.js +++ b/test/cypress/components/ui/SkeletonSummary.spec.js @@ -1,7 +1,6 @@ - import SkeletonSummary from 'src/components/ui/SkeletonSummary.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(SkeletonSummary); diff --git a/test/cypress/components/ui/SkeletonTable.spec.js b/test/cypress/components/ui/SkeletonTable.spec.js index 2c9e23b98..78ca4d962 100644 --- a/test/cypress/components/ui/SkeletonTable.spec.js +++ b/test/cypress/components/ui/SkeletonTable.spec.js @@ -1,7 +1,6 @@ - import SkeletonTable from 'src/components/ui/SkeletonTable.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(SkeletonTable); diff --git a/test/cypress/components/ui/VnAvatar.spec.js b/test/cypress/components/ui/VnAvatar.spec.js index 09d6cd1b8..cee78ed9e 100644 --- a/test/cypress/components/ui/VnAvatar.spec.js +++ b/test/cypress/components/ui/VnAvatar.spec.js @@ -1,7 +1,6 @@ - import VnAvatar from 'src/components/ui/VnAvatar.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnAvatar); diff --git a/test/cypress/components/ui/VnConfirm.spec.js b/test/cypress/components/ui/VnConfirm.spec.js index 068ecf8ee..7a1439ff5 100644 --- a/test/cypress/components/ui/VnConfirm.spec.js +++ b/test/cypress/components/ui/VnConfirm.spec.js @@ -1,7 +1,6 @@ - import VnConfirm from 'src/components/ui/VnConfirm.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnConfirm); diff --git a/test/cypress/components/ui/VnFilterPanel.spec.js b/test/cypress/components/ui/VnFilterPanel.spec.js index a70926f5c..fe6cfbda2 100644 --- a/test/cypress/components/ui/VnFilterPanel.spec.js +++ b/test/cypress/components/ui/VnFilterPanel.spec.js @@ -1,7 +1,6 @@ - import VnFilterPanel from 'src/components/ui/VnFilterPanel.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnFilterPanel); diff --git a/test/cypress/components/ui/VnFilterPanelChip.spec.js b/test/cypress/components/ui/VnFilterPanelChip.spec.js index 7385fa48f..ad68b3480 100644 --- a/test/cypress/components/ui/VnFilterPanelChip.spec.js +++ b/test/cypress/components/ui/VnFilterPanelChip.spec.js @@ -1,7 +1,6 @@ - import VnFilterPanelChip from 'src/components/ui/VnFilterPanelChip.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnFilterPanelChip); diff --git a/test/cypress/components/ui/VnImg.spec.js b/test/cypress/components/ui/VnImg.spec.js index 967920c94..34969f1d9 100644 --- a/test/cypress/components/ui/VnImg.spec.js +++ b/test/cypress/components/ui/VnImg.spec.js @@ -1,7 +1,6 @@ - import VnImg from 'src/components/ui/VnImg.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnImg); diff --git a/test/cypress/components/ui/VnLinkPhone.spec.js b/test/cypress/components/ui/VnLinkPhone.spec.js index dbd403d4d..cf1b484f4 100644 --- a/test/cypress/components/ui/VnLinkPhone.spec.js +++ b/test/cypress/components/ui/VnLinkPhone.spec.js @@ -1,7 +1,6 @@ - import VnLinkPhone from 'src/components/ui/VnLinkPhone.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnLinkPhone); diff --git a/test/cypress/components/ui/VnLogo.spec.js b/test/cypress/components/ui/VnLogo.spec.js index 35409fd13..1f6dbdc5b 100644 --- a/test/cypress/components/ui/VnLogo.spec.js +++ b/test/cypress/components/ui/VnLogo.spec.js @@ -1,7 +1,6 @@ - import VnLogo from 'src/components/ui/VnLogo.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnLogo); diff --git a/test/cypress/components/ui/VnLv.spec.js b/test/cypress/components/ui/VnLv.spec.js index 9524d7b5d..342c59610 100644 --- a/test/cypress/components/ui/VnLv.spec.js +++ b/test/cypress/components/ui/VnLv.spec.js @@ -1,7 +1,6 @@ - import VnLv from 'src/components/ui/VnLv.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnLv); diff --git a/test/cypress/components/ui/VnNotes.spec.js b/test/cypress/components/ui/VnNotes.spec.js index d94c77dd0..3966f54c2 100644 --- a/test/cypress/components/ui/VnNotes.spec.js +++ b/test/cypress/components/ui/VnNotes.spec.js @@ -1,7 +1,6 @@ - import VnNotes from 'src/components/ui/VnNotes.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnNotes); diff --git a/test/cypress/components/ui/VnOutForm.spec.js b/test/cypress/components/ui/VnOutForm.spec.js index 01c21823d..ffc3f98d1 100644 --- a/test/cypress/components/ui/VnOutForm.spec.js +++ b/test/cypress/components/ui/VnOutForm.spec.js @@ -1,7 +1,6 @@ - import VnOutForm from 'src/components/ui/VnOutForm.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnOutForm); diff --git a/test/cypress/components/ui/VnPaginate.spec.js b/test/cypress/components/ui/VnPaginate.spec.js index 56d58bbcb..73cb34ca0 100644 --- a/test/cypress/components/ui/VnPaginate.spec.js +++ b/test/cypress/components/ui/VnPaginate.spec.js @@ -1,7 +1,6 @@ - import VnPaginate from 'src/components/ui/VnPaginate.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnPaginate); diff --git a/test/cypress/components/ui/VnRow.spec.js b/test/cypress/components/ui/VnRow.spec.js index 1ef6417c1..6cc01f41d 100644 --- a/test/cypress/components/ui/VnRow.spec.js +++ b/test/cypress/components/ui/VnRow.spec.js @@ -1,7 +1,6 @@ - import VnRow from 'src/components/ui/VnRow.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnRow); diff --git a/test/cypress/components/ui/VnSearchbar.spec.js b/test/cypress/components/ui/VnSearchbar.spec.js index f0701beb7..b66012270 100644 --- a/test/cypress/components/ui/VnSearchbar.spec.js +++ b/test/cypress/components/ui/VnSearchbar.spec.js @@ -1,7 +1,6 @@ - import VnSearchbar from 'src/components/ui/VnSearchbar.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnSearchbar); diff --git a/test/cypress/components/ui/VnSms.spec.js b/test/cypress/components/ui/VnSms.spec.js index 34fb240fc..39b17b2e3 100644 --- a/test/cypress/components/ui/VnSms.spec.js +++ b/test/cypress/components/ui/VnSms.spec.js @@ -1,7 +1,6 @@ - import VnSms from 'src/components/ui/VnSms.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnSms); diff --git a/test/cypress/components/ui/VnSubToolbar.spec.js b/test/cypress/components/ui/VnSubToolbar.spec.js index 93c708fbf..232e45a45 100644 --- a/test/cypress/components/ui/VnSubToolbar.spec.js +++ b/test/cypress/components/ui/VnSubToolbar.spec.js @@ -1,7 +1,6 @@ - import VnSubToolbar from 'src/components/ui/VnSubToolbar.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnSubToolbar); diff --git a/test/cypress/components/ui/VnUserLink.spec.js b/test/cypress/components/ui/VnUserLink.spec.js index 7b64d6768..edb93d08b 100644 --- a/test/cypress/components/ui/VnUserLink.spec.js +++ b/test/cypress/components/ui/VnUserLink.spec.js @@ -1,7 +1,6 @@ - import VnUserLink from 'src/components/ui/VnUserLink.vue'; -describe('', () => { +describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue cy.vnMount(VnUserLink); diff --git a/test/cypress/support/component.js b/test/cypress/support/component.js index 32c008206..103f4d055 100644 --- a/test/cypress/support/component.js +++ b/test/cypress/support/component.js @@ -75,5 +75,6 @@ Cypress.Commands.add('vnMount', (component, options = {}) => { // app.use(i18n); // }, // }); + console.log({ ...globalConfig, ...options }); return shallowMount(component, { ...globalConfig, ...options }); }); -- 2.40.1 From d00354553dd7b7224f6c82f81e8ab67a4d87a113 Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Thu, 17 Oct 2024 11:59:28 +0200 Subject: [PATCH 16/28] feat: refs #7220 updates --- generate-tests.js | 2 +- .../components/CreateBankEntityForm.spec.js | 2 +- .../CreateManualInvoiceForm.spec.js | 2 +- .../components/CreateNewCityForm.spec.js | 2 +- .../components/CreateNewExpenseForm.spec.js | 2 +- .../components/CreateNewPostcodeForm.spec.js | 2 +- .../components/CreateNewProvinceForm.spec.js | 2 +- .../components/CreateThermographForm.spec.js | 2 +- test/cypress/components/CrudModel.spec.js | 2 +- .../components/EditPictureForm.spec.js | 2 +- .../components/EditTableCellValueForm.spec.js | 2 +- test/cypress/components/FetchData.spec.js | 2 +- .../cypress/components/FilterItemForm.spec.js | 2 +- .../components/FilterTravelForm.spec.js | 2 +- test/cypress/components/FormModel.spec.js | 2 +- .../cypress/components/FormModelPopup.spec.js | 2 +- test/cypress/components/FormPopup.spec.js | 2 +- .../components/ItemsFilterPanel.spec.js | 2 +- test/cypress/components/LeftMenu.spec.js | 2 +- test/cypress/components/LeftMenuItem.spec.js | 2 +- .../components/LeftMenuItemGroup.spec.js | 2 +- test/cypress/components/NavBar.spec.js | 2 +- test/cypress/components/PinnedModules.spec.js | 2 +- .../components/RefundInvoiceForm.spec.js | 2 +- .../components/RegularizeStockForm.spec.js | 2 +- .../components/TransferInvoiceForm.spec.js | 2 +- test/cypress/components/UserPanel.spec.js | 2 +- test/cypress/components/VnTitle.spec.js | 87 ------------------- .../components/common/RightMenu.spec.js | 2 +- .../components/common/SendEmailDialog.spec.js | 2 +- .../components/common/SendSmsDialog.spec.js | 2 +- .../common/TableVisibleColumns.spec.js | 2 +- .../components/common/VnAccountNumber.spec.js | 2 +- .../components/common/VnBreadcrumbs.spec.js | 2 +- test/cypress/components/common/VnCard.spec.js | 2 +- .../components/common/VnComponent.spec.js | 2 +- test/cypress/components/common/VnDms.spec.js | 2 +- .../components/common/VnDmsList.spec.js | 2 +- .../cypress/components/common/VnInput.spec.js | 2 +- .../components/common/VnInputDate.spec.js | 2 +- .../components/common/VnInputNumber.spec.js | 2 +- .../components/common/VnInputTime.spec.js | 2 +- .../components/common/VnJsonValue.spec.js | 2 +- .../components/common/VnLocation.spec.js | 2 +- test/cypress/components/common/VnLog.spec.js | 2 +- .../components/common/VnLogFilter.spec.js | 2 +- .../cypress/components/common/VnPopup.spec.js | 2 +- .../components/common/VnProgressModal.spec.js | 2 +- .../cypress/components/common/VnRadio.spec.js | 2 +- .../components/common/VnSectionMain.spec.js | 2 +- .../components/common/VnSelect.spec.js | 2 +- .../components/common/VnSelectCache.spec.js | 2 +- .../components/common/VnSelectDialog.spec.js | 2 +- .../components/common/VnSelectEnum.spec.js | 2 +- .../components/common/VnSmsDialog.spec.js | 2 +- .../components/common/VnSummaryDialog.spec.js | 2 +- .../cypress/components/common/VnTitle.spec.js | 20 ++--- .../components/common/VnWeekdayPicker.spec.js | 2 +- .../components/common/vnDiscount.spec.js | 2 +- .../components/ui/CardDescriptor.spec.js | 2 +- test/cypress/components/ui/CardList.spec.js | 2 +- .../cypress/components/ui/CardSummary.spec.js | 2 +- .../cypress/components/ui/CatalogItem.spec.js | 2 +- .../cypress/components/ui/FetchedTags.spec.js | 2 +- .../ui/QCalendarMonthWrapper.spec.js | 2 +- .../components/ui/SkeletonDescriptor.spec.js | 2 +- .../components/ui/SkeletonForm.spec.js | 2 +- .../components/ui/SkeletonSummary.spec.js | 2 +- .../components/ui/SkeletonTable.spec.js | 2 +- test/cypress/components/ui/VnAvatar.spec.js | 2 +- test/cypress/components/ui/VnConfirm.spec.js | 2 +- .../components/ui/VnFilterPanel.spec.js | 2 +- .../components/ui/VnFilterPanelChip.spec.js | 2 +- test/cypress/components/ui/VnImg.spec.js | 2 +- .../cypress/components/ui/VnLinkPhone.spec.js | 2 +- test/cypress/components/ui/VnLogo.spec.js | 2 +- test/cypress/components/ui/VnLv.spec.js | 2 +- test/cypress/components/ui/VnNotes.spec.js | 2 +- test/cypress/components/ui/VnOutForm.spec.js | 2 +- test/cypress/components/ui/VnPaginate.spec.js | 2 +- test/cypress/components/ui/VnRow.spec.js | 2 +- .../cypress/components/ui/VnSearchbar.spec.js | 2 +- test/cypress/components/ui/VnSms.spec.js | 2 +- .../components/ui/VnSubToolbar.spec.js | 2 +- test/cypress/components/ui/VnUserLink.spec.js | 2 +- test/cypress/support/component.js | 34 +------- 86 files changed, 95 insertions(+), 212 deletions(-) delete mode 100644 test/cypress/components/VnTitle.spec.js diff --git a/generate-tests.js b/generate-tests.js index 00da60230..4a3fca408 100644 --- a/generate-tests.js +++ b/generate-tests.js @@ -28,7 +28,7 @@ import ${componentName} from 'src/components/${file}'; describe.skip('<${componentName} />', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(${componentName}); + cy.createWrapper(${componentName}); }); }); `; diff --git a/test/cypress/components/CreateBankEntityForm.spec.js b/test/cypress/components/CreateBankEntityForm.spec.js index 3300e4f10..f639799e3 100644 --- a/test/cypress/components/CreateBankEntityForm.spec.js +++ b/test/cypress/components/CreateBankEntityForm.spec.js @@ -3,6 +3,6 @@ import CreateBankEntityForm from 'src/components/CreateBankEntityForm.vue'; describe('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(CreateBankEntityForm); + cy.createWrapper(CreateBankEntityForm); }); }); diff --git a/test/cypress/components/CreateManualInvoiceForm.spec.js b/test/cypress/components/CreateManualInvoiceForm.spec.js index 0ea075955..83d963ff0 100644 --- a/test/cypress/components/CreateManualInvoiceForm.spec.js +++ b/test/cypress/components/CreateManualInvoiceForm.spec.js @@ -3,6 +3,6 @@ import CreateManualInvoiceForm from 'src/components/CreateManualInvoiceForm.vue' describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(CreateManualInvoiceForm); + cy.createWrapper(CreateManualInvoiceForm); }); }); diff --git a/test/cypress/components/CreateNewCityForm.spec.js b/test/cypress/components/CreateNewCityForm.spec.js index 087696074..43c97a8a1 100644 --- a/test/cypress/components/CreateNewCityForm.spec.js +++ b/test/cypress/components/CreateNewCityForm.spec.js @@ -3,6 +3,6 @@ import CreateNewCityForm from 'src/components/CreateNewCityForm.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(CreateNewCityForm); + cy.createWrapper(CreateNewCityForm); }); }); diff --git a/test/cypress/components/CreateNewExpenseForm.spec.js b/test/cypress/components/CreateNewExpenseForm.spec.js index 0addea4d1..e42ebe9f4 100644 --- a/test/cypress/components/CreateNewExpenseForm.spec.js +++ b/test/cypress/components/CreateNewExpenseForm.spec.js @@ -3,6 +3,6 @@ import CreateNewExpenseForm from 'src/components/CreateNewExpenseForm.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(CreateNewExpenseForm); + cy.createWrapper(CreateNewExpenseForm); }); }); diff --git a/test/cypress/components/CreateNewPostcodeForm.spec.js b/test/cypress/components/CreateNewPostcodeForm.spec.js index 3b5d0da6a..f3f8c9ce1 100644 --- a/test/cypress/components/CreateNewPostcodeForm.spec.js +++ b/test/cypress/components/CreateNewPostcodeForm.spec.js @@ -3,6 +3,6 @@ import CreateNewPostcodeForm from 'src/components/CreateNewPostcodeForm.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(CreateNewPostcodeForm); + cy.createWrapper(CreateNewPostcodeForm); }); }); diff --git a/test/cypress/components/CreateNewProvinceForm.spec.js b/test/cypress/components/CreateNewProvinceForm.spec.js index 00041c2f1..507e72aaa 100644 --- a/test/cypress/components/CreateNewProvinceForm.spec.js +++ b/test/cypress/components/CreateNewProvinceForm.spec.js @@ -3,6 +3,6 @@ import CreateNewProvinceForm from 'src/components/CreateNewProvinceForm.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(CreateNewProvinceForm); + cy.createWrapper(CreateNewProvinceForm); }); }); diff --git a/test/cypress/components/CreateThermographForm.spec.js b/test/cypress/components/CreateThermographForm.spec.js index d6df3cb3e..8e5c89f17 100644 --- a/test/cypress/components/CreateThermographForm.spec.js +++ b/test/cypress/components/CreateThermographForm.spec.js @@ -3,6 +3,6 @@ import CreateThermographForm from 'src/components/CreateThermographForm.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(CreateThermographForm); + cy.createWrapper(CreateThermographForm); }); }); diff --git a/test/cypress/components/CrudModel.spec.js b/test/cypress/components/CrudModel.spec.js index 2af8870fb..a2a6dc14c 100644 --- a/test/cypress/components/CrudModel.spec.js +++ b/test/cypress/components/CrudModel.spec.js @@ -3,6 +3,6 @@ import CrudModel from 'src/components/CrudModel.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(CrudModel); + cy.createWrapper(CrudModel); }); }); diff --git a/test/cypress/components/EditPictureForm.spec.js b/test/cypress/components/EditPictureForm.spec.js index 72a5d07fa..c2f73f3a4 100644 --- a/test/cypress/components/EditPictureForm.spec.js +++ b/test/cypress/components/EditPictureForm.spec.js @@ -3,6 +3,6 @@ import EditPictureForm from 'src/components/EditPictureForm.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(EditPictureForm); + cy.createWrapper(EditPictureForm); }); }); diff --git a/test/cypress/components/EditTableCellValueForm.spec.js b/test/cypress/components/EditTableCellValueForm.spec.js index 4a8dffe1e..602278f84 100644 --- a/test/cypress/components/EditTableCellValueForm.spec.js +++ b/test/cypress/components/EditTableCellValueForm.spec.js @@ -3,6 +3,6 @@ import EditTableCellValueForm from 'src/components/EditTableCellValueForm.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(EditTableCellValueForm); + cy.createWrapper(EditTableCellValueForm); }); }); diff --git a/test/cypress/components/FetchData.spec.js b/test/cypress/components/FetchData.spec.js index d656c8700..efc7a49cb 100644 --- a/test/cypress/components/FetchData.spec.js +++ b/test/cypress/components/FetchData.spec.js @@ -3,6 +3,6 @@ import FetchData from 'src/components/FetchData.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(FetchData); + cy.createWrapper(FetchData); }); }); diff --git a/test/cypress/components/FilterItemForm.spec.js b/test/cypress/components/FilterItemForm.spec.js index 33692c11e..1a4976eb2 100644 --- a/test/cypress/components/FilterItemForm.spec.js +++ b/test/cypress/components/FilterItemForm.spec.js @@ -3,6 +3,6 @@ import FilterItemForm from 'src/components/FilterItemForm.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(FilterItemForm); + cy.createWrapper(FilterItemForm); }); }); diff --git a/test/cypress/components/FilterTravelForm.spec.js b/test/cypress/components/FilterTravelForm.spec.js index bf796426c..110e1d5ea 100644 --- a/test/cypress/components/FilterTravelForm.spec.js +++ b/test/cypress/components/FilterTravelForm.spec.js @@ -3,6 +3,6 @@ import FilterTravelForm from 'src/components/FilterTravelForm.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(FilterTravelForm); + cy.createWrapper(FilterTravelForm); }); }); diff --git a/test/cypress/components/FormModel.spec.js b/test/cypress/components/FormModel.spec.js index 18c6adc54..859c1f9a1 100644 --- a/test/cypress/components/FormModel.spec.js +++ b/test/cypress/components/FormModel.spec.js @@ -3,6 +3,6 @@ import FormModel from 'src/components/FormModel.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(FormModel, { props: {} }); + cy.createWrapper(FormModel, { props: {} }); }); }); diff --git a/test/cypress/components/FormModelPopup.spec.js b/test/cypress/components/FormModelPopup.spec.js index 814f8e635..a2a5ab572 100644 --- a/test/cypress/components/FormModelPopup.spec.js +++ b/test/cypress/components/FormModelPopup.spec.js @@ -3,6 +3,6 @@ import FormModelPopup from 'src/components/FormModelPopup.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(FormModelPopup); + cy.createWrapper(FormModelPopup); }); }); diff --git a/test/cypress/components/FormPopup.spec.js b/test/cypress/components/FormPopup.spec.js index 6a82e172d..d5b49ec43 100644 --- a/test/cypress/components/FormPopup.spec.js +++ b/test/cypress/components/FormPopup.spec.js @@ -3,6 +3,6 @@ import FormPopup from 'src/components/FormPopup.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(FormPopup); + cy.createWrapper(FormPopup); }); }); diff --git a/test/cypress/components/ItemsFilterPanel.spec.js b/test/cypress/components/ItemsFilterPanel.spec.js index 511a65445..763f4b3ea 100644 --- a/test/cypress/components/ItemsFilterPanel.spec.js +++ b/test/cypress/components/ItemsFilterPanel.spec.js @@ -3,6 +3,6 @@ import ItemsFilterPanel from 'src/components/ItemsFilterPanel.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(ItemsFilterPanel); + cy.createWrapper(ItemsFilterPanel); }); }); diff --git a/test/cypress/components/LeftMenu.spec.js b/test/cypress/components/LeftMenu.spec.js index ca2424181..ee13c09a6 100644 --- a/test/cypress/components/LeftMenu.spec.js +++ b/test/cypress/components/LeftMenu.spec.js @@ -3,6 +3,6 @@ import LeftMenu from 'src/components/LeftMenu.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(LeftMenu); + cy.createWrapper(LeftMenu); }); }); diff --git a/test/cypress/components/LeftMenuItem.spec.js b/test/cypress/components/LeftMenuItem.spec.js index a394f1aaa..6355548f9 100644 --- a/test/cypress/components/LeftMenuItem.spec.js +++ b/test/cypress/components/LeftMenuItem.spec.js @@ -3,6 +3,6 @@ import LeftMenuItem from 'src/components/LeftMenuItem.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(LeftMenuItem); + cy.createWrapper(LeftMenuItem); }); }); diff --git a/test/cypress/components/LeftMenuItemGroup.spec.js b/test/cypress/components/LeftMenuItemGroup.spec.js index bbddb3eb1..28393f20f 100644 --- a/test/cypress/components/LeftMenuItemGroup.spec.js +++ b/test/cypress/components/LeftMenuItemGroup.spec.js @@ -3,6 +3,6 @@ import LeftMenuItemGroup from 'src/components/LeftMenuItemGroup.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(LeftMenuItemGroup); + cy.createWrapper(LeftMenuItemGroup); }); }); diff --git a/test/cypress/components/NavBar.spec.js b/test/cypress/components/NavBar.spec.js index 719a18bc8..38ad6b95e 100644 --- a/test/cypress/components/NavBar.spec.js +++ b/test/cypress/components/NavBar.spec.js @@ -3,6 +3,6 @@ import NavBar from 'src/components/NavBar.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(NavBar); + cy.createWrapper(NavBar); }); }); diff --git a/test/cypress/components/PinnedModules.spec.js b/test/cypress/components/PinnedModules.spec.js index 230518463..1932ecfc1 100644 --- a/test/cypress/components/PinnedModules.spec.js +++ b/test/cypress/components/PinnedModules.spec.js @@ -3,6 +3,6 @@ import PinnedModules from 'src/components/PinnedModules.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(PinnedModules); + cy.createWrapper(PinnedModules); }); }); diff --git a/test/cypress/components/RefundInvoiceForm.spec.js b/test/cypress/components/RefundInvoiceForm.spec.js index 976230fa5..04bc7fdbe 100644 --- a/test/cypress/components/RefundInvoiceForm.spec.js +++ b/test/cypress/components/RefundInvoiceForm.spec.js @@ -3,6 +3,6 @@ import RefundInvoiceForm from 'src/components/RefundInvoiceForm.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(RefundInvoiceForm); + cy.createWrapper(RefundInvoiceForm); }); }); diff --git a/test/cypress/components/RegularizeStockForm.spec.js b/test/cypress/components/RegularizeStockForm.spec.js index f5a4770a8..1810018bf 100644 --- a/test/cypress/components/RegularizeStockForm.spec.js +++ b/test/cypress/components/RegularizeStockForm.spec.js @@ -3,6 +3,6 @@ import RegularizeStockForm from 'src/components/RegularizeStockForm.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(RegularizeStockForm); + cy.createWrapper(RegularizeStockForm); }); }); diff --git a/test/cypress/components/TransferInvoiceForm.spec.js b/test/cypress/components/TransferInvoiceForm.spec.js index 4d962c456..2c4bb276b 100644 --- a/test/cypress/components/TransferInvoiceForm.spec.js +++ b/test/cypress/components/TransferInvoiceForm.spec.js @@ -3,6 +3,6 @@ import TransferInvoiceForm from 'src/components/TransferInvoiceForm.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(TransferInvoiceForm); + cy.createWrapper(TransferInvoiceForm); }); }); diff --git a/test/cypress/components/UserPanel.spec.js b/test/cypress/components/UserPanel.spec.js index d4754d915..b6fa73283 100644 --- a/test/cypress/components/UserPanel.spec.js +++ b/test/cypress/components/UserPanel.spec.js @@ -3,6 +3,6 @@ import UserPanel from 'src/components/UserPanel.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(UserPanel); + cy.createWrapper(UserPanel); }); }); diff --git a/test/cypress/components/VnTitle.spec.js b/test/cypress/components/VnTitle.spec.js deleted file mode 100644 index e00f60583..000000000 --- a/test/cypress/components/VnTitle.spec.js +++ /dev/null @@ -1,87 +0,0 @@ -import VnTitle from 'src/components/common/VnTitle.vue'; - -describe('', () => { - it('renders text with link', () => { - cy.vnMount(VnTitle, { - props: { - url: 'https://example.com', - text: 'Example Link', - }, - }); - cy.get('a').should('exist'); - cy.get('a').should('have.attr', 'href', 'https://example.com'); - cy.get('a').should('contain.text', 'Example Link'); - }); - it('renders text without link', () => { - cy.vnMount(VnTitle, { - props: { - text: 'No Link', - }, - }); - cy.get('a').should('exist'); - cy.get('a').should('not.have.attr', 'href'); - cy.get('a').should('contain.text', 'No Link'); - }); - - it('applies correct classes based on url prop', () => { - cy.vnMount(VnTitle, { - props: { - url: 'https://example.com', - }, - }); - cy.get('a').should('have.class', 'link'); - - cy.vnMount(VnTitle, { - props: {}, - }); - cy.get('a').should('have.class', 'color-vn-text'); - }); - - it('displays icon when url is provided', () => { - cy.vnMount(VnTitle, { - props: { - url: 'https://example.com', - }, - }); - cy.get('.q-icon').should('exist'); - }); - - it('does not display icon when url is not provided', () => { - cy.vnMount(VnTitle, { - props: {}, - }); - cy.get('.q-icon').should('not.exist'); - }); - - it('applies correct cursor style based on url prop', () => { - cy.vnMount(VnTitle, { - props: { - url: 'https://example.com', - }, - }); - cy.get('.header-link').should('have.css', 'cursor', 'pointer'); - - cy.vnMount(VnTitle, { - props: {}, - }); - cy.get('.header-link').should('have.css', 'cursor', 'default'); - }); - it('renders default icon when no icon prop is provided', () => { - cy.vnMount(VnTitle, { - props: { - url: 'https://example.com', - }, - }); - cy.get('i').should('contain.text', 'open_in_new'); - }); - - it('renders custom icon when icon prop is provided', () => { - cy.vnMount(VnTitle, { - props: { - url: 'https://example.com', - icon: 'custom_icon', - }, - }); - cy.get('i').should('contain.text', 'custom_icon'); - }); -}); diff --git a/test/cypress/components/common/RightMenu.spec.js b/test/cypress/components/common/RightMenu.spec.js index 6d568fcd2..049941ede 100644 --- a/test/cypress/components/common/RightMenu.spec.js +++ b/test/cypress/components/common/RightMenu.spec.js @@ -3,6 +3,6 @@ import RightMenu from 'src/components/common/RightMenu.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(RightMenu); + cy.createWrapper(RightMenu); }); }); diff --git a/test/cypress/components/common/SendEmailDialog.spec.js b/test/cypress/components/common/SendEmailDialog.spec.js index db79eea86..04bcafffc 100644 --- a/test/cypress/components/common/SendEmailDialog.spec.js +++ b/test/cypress/components/common/SendEmailDialog.spec.js @@ -3,7 +3,7 @@ import SendEmailDialog from 'src/components/common/SendEmailDialog.vue'; describe('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(SendEmailDialog, { props: { data: { address: '1234' } } }); + cy.createWrapper(SendEmailDialog, { props: { data: { address: '1234' } } }); cy.get('input').type('1234'); }); }); diff --git a/test/cypress/components/common/SendSmsDialog.spec.js b/test/cypress/components/common/SendSmsDialog.spec.js index 75f83356a..6a53f3b85 100644 --- a/test/cypress/components/common/SendSmsDialog.spec.js +++ b/test/cypress/components/common/SendSmsDialog.spec.js @@ -3,6 +3,6 @@ import SendSmsDialog from 'src/components/common/SendSmsDialog.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(SendSmsDialog); + cy.createWrapper(SendSmsDialog); }); }); diff --git a/test/cypress/components/common/TableVisibleColumns.spec.js b/test/cypress/components/common/TableVisibleColumns.spec.js index 2ff946ee4..4a96e603a 100644 --- a/test/cypress/components/common/TableVisibleColumns.spec.js +++ b/test/cypress/components/common/TableVisibleColumns.spec.js @@ -3,6 +3,6 @@ import TableVisibleColumns from 'src/components/common/TableVisibleColumns.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(TableVisibleColumns); + cy.createWrapper(TableVisibleColumns); }); }); diff --git a/test/cypress/components/common/VnAccountNumber.spec.js b/test/cypress/components/common/VnAccountNumber.spec.js index ace77bcda..3bf3db78d 100644 --- a/test/cypress/components/common/VnAccountNumber.spec.js +++ b/test/cypress/components/common/VnAccountNumber.spec.js @@ -3,6 +3,6 @@ import VnAccountNumber from 'src/components/common/VnAccountNumber.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnAccountNumber); + cy.createWrapper(VnAccountNumber); }); }); diff --git a/test/cypress/components/common/VnBreadcrumbs.spec.js b/test/cypress/components/common/VnBreadcrumbs.spec.js index c590fb3d0..80eefc32c 100644 --- a/test/cypress/components/common/VnBreadcrumbs.spec.js +++ b/test/cypress/components/common/VnBreadcrumbs.spec.js @@ -3,6 +3,6 @@ import VnBreadcrumbs from 'src/components/common/VnBreadcrumbs.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnBreadcrumbs); + cy.createWrapper(VnBreadcrumbs); }); }); diff --git a/test/cypress/components/common/VnCard.spec.js b/test/cypress/components/common/VnCard.spec.js index f3d51b0c3..26c131ec3 100644 --- a/test/cypress/components/common/VnCard.spec.js +++ b/test/cypress/components/common/VnCard.spec.js @@ -3,6 +3,6 @@ import VnCard from 'src/components/common/VnCard.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnCard); + cy.createWrapper(VnCard); }); }); diff --git a/test/cypress/components/common/VnComponent.spec.js b/test/cypress/components/common/VnComponent.spec.js index 42a2aa109..9262615fa 100644 --- a/test/cypress/components/common/VnComponent.spec.js +++ b/test/cypress/components/common/VnComponent.spec.js @@ -3,6 +3,6 @@ import VnComponent from 'src/components/common/VnComponent.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnComponent); + cy.createWrapper(VnComponent); }); }); diff --git a/test/cypress/components/common/VnDms.spec.js b/test/cypress/components/common/VnDms.spec.js index 14a7d06f6..501a1cb1b 100644 --- a/test/cypress/components/common/VnDms.spec.js +++ b/test/cypress/components/common/VnDms.spec.js @@ -3,6 +3,6 @@ import VnDms from 'src/components/common/VnDms.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnDms); + cy.createWrapper(VnDms); }); }); diff --git a/test/cypress/components/common/VnDmsList.spec.js b/test/cypress/components/common/VnDmsList.spec.js index 8c0d09a44..1293b7061 100644 --- a/test/cypress/components/common/VnDmsList.spec.js +++ b/test/cypress/components/common/VnDmsList.spec.js @@ -3,6 +3,6 @@ import VnDmsList from 'src/components/common/VnDmsList.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnDmsList); + cy.createWrapper(VnDmsList); }); }); diff --git a/test/cypress/components/common/VnInput.spec.js b/test/cypress/components/common/VnInput.spec.js index b17eae882..3b58dde55 100644 --- a/test/cypress/components/common/VnInput.spec.js +++ b/test/cypress/components/common/VnInput.spec.js @@ -3,6 +3,6 @@ import VnInput from 'src/components/common/VnInput.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnInput); + cy.createWrapper(VnInput); }); }); diff --git a/test/cypress/components/common/VnInputDate.spec.js b/test/cypress/components/common/VnInputDate.spec.js index a0cf6dbe3..c3e128c65 100644 --- a/test/cypress/components/common/VnInputDate.spec.js +++ b/test/cypress/components/common/VnInputDate.spec.js @@ -3,6 +3,6 @@ import VnInputDate from 'src/components/common/VnInputDate.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnInputDate); + cy.createWrapper(VnInputDate); }); }); diff --git a/test/cypress/components/common/VnInputNumber.spec.js b/test/cypress/components/common/VnInputNumber.spec.js index 23ee3080e..a4035e5b1 100644 --- a/test/cypress/components/common/VnInputNumber.spec.js +++ b/test/cypress/components/common/VnInputNumber.spec.js @@ -3,6 +3,6 @@ import VnInputNumber from 'src/components/common/VnInputNumber.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnInputNumber); + cy.createWrapper(VnInputNumber); }); }); diff --git a/test/cypress/components/common/VnInputTime.spec.js b/test/cypress/components/common/VnInputTime.spec.js index 9c003d1c9..25e97ef0f 100644 --- a/test/cypress/components/common/VnInputTime.spec.js +++ b/test/cypress/components/common/VnInputTime.spec.js @@ -3,6 +3,6 @@ import VnInputTime from 'src/components/common/VnInputTime.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnInputTime); + cy.createWrapper(VnInputTime); }); }); diff --git a/test/cypress/components/common/VnJsonValue.spec.js b/test/cypress/components/common/VnJsonValue.spec.js index c8c7ebb2f..2a135aa8c 100644 --- a/test/cypress/components/common/VnJsonValue.spec.js +++ b/test/cypress/components/common/VnJsonValue.spec.js @@ -3,6 +3,6 @@ import VnJsonValue from 'src/components/common/VnJsonValue.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnJsonValue); + cy.createWrapper(VnJsonValue); }); }); diff --git a/test/cypress/components/common/VnLocation.spec.js b/test/cypress/components/common/VnLocation.spec.js index f2a9e319f..aee7b2087 100644 --- a/test/cypress/components/common/VnLocation.spec.js +++ b/test/cypress/components/common/VnLocation.spec.js @@ -2,7 +2,7 @@ import VnLocation from 'src/components/common/VnLocation.vue'; describe.skip('', () => { it('renders', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnLocation, { + cy.createWrapper(VnLocation, { props: { modelValue: 1234, location: { diff --git a/test/cypress/components/common/VnLog.spec.js b/test/cypress/components/common/VnLog.spec.js index 2a22dd45c..b9907fbeb 100644 --- a/test/cypress/components/common/VnLog.spec.js +++ b/test/cypress/components/common/VnLog.spec.js @@ -3,6 +3,6 @@ import VnLog from 'src/components/common/VnLog.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnLog); + cy.createWrapper(VnLog); }); }); diff --git a/test/cypress/components/common/VnLogFilter.spec.js b/test/cypress/components/common/VnLogFilter.spec.js index f5df4c3b1..288e0a604 100644 --- a/test/cypress/components/common/VnLogFilter.spec.js +++ b/test/cypress/components/common/VnLogFilter.spec.js @@ -3,6 +3,6 @@ import VnLogFilter from 'src/components/common/VnLogFilter.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnLogFilter); + cy.createWrapper(VnLogFilter); }); }); diff --git a/test/cypress/components/common/VnPopup.spec.js b/test/cypress/components/common/VnPopup.spec.js index bb8e6db10..34a88393d 100644 --- a/test/cypress/components/common/VnPopup.spec.js +++ b/test/cypress/components/common/VnPopup.spec.js @@ -3,6 +3,6 @@ import VnPopup from 'src/components/common/VnPopup.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnPopup); + cy.createWrapper(VnPopup); }); }); diff --git a/test/cypress/components/common/VnProgressModal.spec.js b/test/cypress/components/common/VnProgressModal.spec.js index 4616b032b..8d755acf7 100644 --- a/test/cypress/components/common/VnProgressModal.spec.js +++ b/test/cypress/components/common/VnProgressModal.spec.js @@ -3,6 +3,6 @@ import VnProgressModal from 'src/components/common/VnProgressModal.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnProgressModal); + cy.createWrapper(VnProgressModal); }); }); diff --git a/test/cypress/components/common/VnRadio.spec.js b/test/cypress/components/common/VnRadio.spec.js index 4060c781f..c22dbf1e3 100644 --- a/test/cypress/components/common/VnRadio.spec.js +++ b/test/cypress/components/common/VnRadio.spec.js @@ -3,6 +3,6 @@ import VnRadio from 'src/components/common/VnRadio.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnRadio); + cy.createWrapper(VnRadio); }); }); diff --git a/test/cypress/components/common/VnSectionMain.spec.js b/test/cypress/components/common/VnSectionMain.spec.js index dfb6cb069..46e178e2d 100644 --- a/test/cypress/components/common/VnSectionMain.spec.js +++ b/test/cypress/components/common/VnSectionMain.spec.js @@ -3,7 +3,7 @@ import VnSectionMain from 'src/components/common/VnSectionMain.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnSectionMain, { + cy.createWrapper(VnSectionMain, { props: { leftDrawer: true, }, diff --git a/test/cypress/components/common/VnSelect.spec.js b/test/cypress/components/common/VnSelect.spec.js index 218a271a4..6488728d0 100644 --- a/test/cypress/components/common/VnSelect.spec.js +++ b/test/cypress/components/common/VnSelect.spec.js @@ -3,6 +3,6 @@ import VnSelect from 'src/components/common/VnSelect.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnSelect); + cy.createWrapper(VnSelect); }); }); diff --git a/test/cypress/components/common/VnSelectCache.spec.js b/test/cypress/components/common/VnSelectCache.spec.js index ca271bea5..c10514879 100644 --- a/test/cypress/components/common/VnSelectCache.spec.js +++ b/test/cypress/components/common/VnSelectCache.spec.js @@ -3,6 +3,6 @@ import VnSelectCache from 'src/components/common/VnSelectCache.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnSelectCache); + cy.createWrapper(VnSelectCache); }); }); diff --git a/test/cypress/components/common/VnSelectDialog.spec.js b/test/cypress/components/common/VnSelectDialog.spec.js index def2c129a..73966aef2 100644 --- a/test/cypress/components/common/VnSelectDialog.spec.js +++ b/test/cypress/components/common/VnSelectDialog.spec.js @@ -3,6 +3,6 @@ import VnSelectDialog from 'src/components/common/VnSelectDialog.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnSelectDialog); + cy.createWrapper(VnSelectDialog); }); }); diff --git a/test/cypress/components/common/VnSelectEnum.spec.js b/test/cypress/components/common/VnSelectEnum.spec.js index 1260660e3..119e35d80 100644 --- a/test/cypress/components/common/VnSelectEnum.spec.js +++ b/test/cypress/components/common/VnSelectEnum.spec.js @@ -3,6 +3,6 @@ import VnSelectEnum from 'src/components/common/VnSelectEnum.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnSelectEnum); + cy.createWrapper(VnSelectEnum); }); }); diff --git a/test/cypress/components/common/VnSmsDialog.spec.js b/test/cypress/components/common/VnSmsDialog.spec.js index a5a302485..e3ffaf95f 100644 --- a/test/cypress/components/common/VnSmsDialog.spec.js +++ b/test/cypress/components/common/VnSmsDialog.spec.js @@ -3,6 +3,6 @@ import VnSmsDialog from 'src/components/common/VnSmsDialog.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnSmsDialog); + cy.createWrapper(VnSmsDialog); }); }); diff --git a/test/cypress/components/common/VnSummaryDialog.spec.js b/test/cypress/components/common/VnSummaryDialog.spec.js index d83e15a53..5896631fb 100644 --- a/test/cypress/components/common/VnSummaryDialog.spec.js +++ b/test/cypress/components/common/VnSummaryDialog.spec.js @@ -3,6 +3,6 @@ import VnSummaryDialog from 'src/components/common/VnSummaryDialog.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnSummaryDialog); + cy.createWrapper(VnSummaryDialog); }); }); diff --git a/test/cypress/components/common/VnTitle.spec.js b/test/cypress/components/common/VnTitle.spec.js index e00f60583..30bf268d4 100644 --- a/test/cypress/components/common/VnTitle.spec.js +++ b/test/cypress/components/common/VnTitle.spec.js @@ -2,7 +2,7 @@ import VnTitle from 'src/components/common/VnTitle.vue'; describe('', () => { it('renders text with link', () => { - cy.vnMount(VnTitle, { + cy.createWrapper(VnTitle, { props: { url: 'https://example.com', text: 'Example Link', @@ -13,7 +13,7 @@ describe('', () => { cy.get('a').should('contain.text', 'Example Link'); }); it('renders text without link', () => { - cy.vnMount(VnTitle, { + cy.createWrapper(VnTitle, { props: { text: 'No Link', }, @@ -24,21 +24,21 @@ describe('', () => { }); it('applies correct classes based on url prop', () => { - cy.vnMount(VnTitle, { + cy.createWrapper(VnTitle, { props: { url: 'https://example.com', }, }); cy.get('a').should('have.class', 'link'); - cy.vnMount(VnTitle, { + cy.createWrapper(VnTitle, { props: {}, }); cy.get('a').should('have.class', 'color-vn-text'); }); it('displays icon when url is provided', () => { - cy.vnMount(VnTitle, { + cy.createWrapper(VnTitle, { props: { url: 'https://example.com', }, @@ -47,27 +47,27 @@ describe('', () => { }); it('does not display icon when url is not provided', () => { - cy.vnMount(VnTitle, { + cy.createWrapper(VnTitle, { props: {}, }); cy.get('.q-icon').should('not.exist'); }); it('applies correct cursor style based on url prop', () => { - cy.vnMount(VnTitle, { + cy.createWrapper(VnTitle, { props: { url: 'https://example.com', }, }); cy.get('.header-link').should('have.css', 'cursor', 'pointer'); - cy.vnMount(VnTitle, { + cy.createWrapper(VnTitle, { props: {}, }); cy.get('.header-link').should('have.css', 'cursor', 'default'); }); it('renders default icon when no icon prop is provided', () => { - cy.vnMount(VnTitle, { + cy.createWrapper(VnTitle, { props: { url: 'https://example.com', }, @@ -76,7 +76,7 @@ describe('', () => { }); it('renders custom icon when icon prop is provided', () => { - cy.vnMount(VnTitle, { + cy.createWrapper(VnTitle, { props: { url: 'https://example.com', icon: 'custom_icon', diff --git a/test/cypress/components/common/VnWeekdayPicker.spec.js b/test/cypress/components/common/VnWeekdayPicker.spec.js index fbe588a46..46363e8e8 100644 --- a/test/cypress/components/common/VnWeekdayPicker.spec.js +++ b/test/cypress/components/common/VnWeekdayPicker.spec.js @@ -3,6 +3,6 @@ import VnWeekdayPicker from 'src/components/common/VnWeekdayPicker.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnWeekdayPicker); + cy.createWrapper(VnWeekdayPicker); }); }); diff --git a/test/cypress/components/common/vnDiscount.spec.js b/test/cypress/components/common/vnDiscount.spec.js index fd5648df9..990c5121d 100644 --- a/test/cypress/components/common/vnDiscount.spec.js +++ b/test/cypress/components/common/vnDiscount.spec.js @@ -3,6 +3,6 @@ import vnDiscount from 'src/components/common/vnDiscount.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(vnDiscount); + cy.createWrapper(vnDiscount); }); }); diff --git a/test/cypress/components/ui/CardDescriptor.spec.js b/test/cypress/components/ui/CardDescriptor.spec.js index 086a1fd6f..bfa793580 100644 --- a/test/cypress/components/ui/CardDescriptor.spec.js +++ b/test/cypress/components/ui/CardDescriptor.spec.js @@ -3,6 +3,6 @@ import CardDescriptor from 'src/components/ui/CardDescriptor.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(CardDescriptor); + cy.createWrapper(CardDescriptor); }); }); diff --git a/test/cypress/components/ui/CardList.spec.js b/test/cypress/components/ui/CardList.spec.js index b180f9f9c..dbb3dc89b 100644 --- a/test/cypress/components/ui/CardList.spec.js +++ b/test/cypress/components/ui/CardList.spec.js @@ -3,6 +3,6 @@ import CardList from 'src/components/ui/CardList.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(CardList); + cy.createWrapper(CardList); }); }); diff --git a/test/cypress/components/ui/CardSummary.spec.js b/test/cypress/components/ui/CardSummary.spec.js index f9f78685c..62c60b86b 100644 --- a/test/cypress/components/ui/CardSummary.spec.js +++ b/test/cypress/components/ui/CardSummary.spec.js @@ -3,6 +3,6 @@ import CardSummary from 'src/components/ui/CardSummary.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(CardSummary); + cy.createWrapper(CardSummary); }); }); diff --git a/test/cypress/components/ui/CatalogItem.spec.js b/test/cypress/components/ui/CatalogItem.spec.js index 4b9896928..ae3159cdd 100644 --- a/test/cypress/components/ui/CatalogItem.spec.js +++ b/test/cypress/components/ui/CatalogItem.spec.js @@ -3,6 +3,6 @@ import CatalogItem from 'src/components/ui/CatalogItem.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(CatalogItem); + cy.createWrapper(CatalogItem); }); }); diff --git a/test/cypress/components/ui/FetchedTags.spec.js b/test/cypress/components/ui/FetchedTags.spec.js index d148f6784..9cb11e165 100644 --- a/test/cypress/components/ui/FetchedTags.spec.js +++ b/test/cypress/components/ui/FetchedTags.spec.js @@ -3,6 +3,6 @@ import FetchedTags from 'src/components/ui/FetchedTags.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(FetchedTags); + cy.createWrapper(FetchedTags); }); }); diff --git a/test/cypress/components/ui/QCalendarMonthWrapper.spec.js b/test/cypress/components/ui/QCalendarMonthWrapper.spec.js index e21df9112..7bdd1e046 100644 --- a/test/cypress/components/ui/QCalendarMonthWrapper.spec.js +++ b/test/cypress/components/ui/QCalendarMonthWrapper.spec.js @@ -3,6 +3,6 @@ import QCalendarMonthWrapper from 'src/components/ui/QCalendarMonthWrapper.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(QCalendarMonthWrapper); + cy.createWrapper(QCalendarMonthWrapper); }); }); diff --git a/test/cypress/components/ui/SkeletonDescriptor.spec.js b/test/cypress/components/ui/SkeletonDescriptor.spec.js index ad863140a..e3876d38b 100644 --- a/test/cypress/components/ui/SkeletonDescriptor.spec.js +++ b/test/cypress/components/ui/SkeletonDescriptor.spec.js @@ -3,6 +3,6 @@ import SkeletonDescriptor from 'src/components/ui/SkeletonDescriptor.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(SkeletonDescriptor); + cy.createWrapper(SkeletonDescriptor); }); }); diff --git a/test/cypress/components/ui/SkeletonForm.spec.js b/test/cypress/components/ui/SkeletonForm.spec.js index 787372979..7547b79b1 100644 --- a/test/cypress/components/ui/SkeletonForm.spec.js +++ b/test/cypress/components/ui/SkeletonForm.spec.js @@ -3,6 +3,6 @@ import SkeletonForm from 'src/components/ui/SkeletonForm.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(SkeletonForm); + cy.createWrapper(SkeletonForm); }); }); diff --git a/test/cypress/components/ui/SkeletonSummary.spec.js b/test/cypress/components/ui/SkeletonSummary.spec.js index 6a0fed75e..5e06e35c6 100644 --- a/test/cypress/components/ui/SkeletonSummary.spec.js +++ b/test/cypress/components/ui/SkeletonSummary.spec.js @@ -3,6 +3,6 @@ import SkeletonSummary from 'src/components/ui/SkeletonSummary.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(SkeletonSummary); + cy.createWrapper(SkeletonSummary); }); }); diff --git a/test/cypress/components/ui/SkeletonTable.spec.js b/test/cypress/components/ui/SkeletonTable.spec.js index 78ca4d962..cebd421a7 100644 --- a/test/cypress/components/ui/SkeletonTable.spec.js +++ b/test/cypress/components/ui/SkeletonTable.spec.js @@ -3,6 +3,6 @@ import SkeletonTable from 'src/components/ui/SkeletonTable.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(SkeletonTable); + cy.createWrapper(SkeletonTable); }); }); diff --git a/test/cypress/components/ui/VnAvatar.spec.js b/test/cypress/components/ui/VnAvatar.spec.js index cee78ed9e..375c66104 100644 --- a/test/cypress/components/ui/VnAvatar.spec.js +++ b/test/cypress/components/ui/VnAvatar.spec.js @@ -3,6 +3,6 @@ import VnAvatar from 'src/components/ui/VnAvatar.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnAvatar); + cy.createWrapper(VnAvatar); }); }); diff --git a/test/cypress/components/ui/VnConfirm.spec.js b/test/cypress/components/ui/VnConfirm.spec.js index 7a1439ff5..111770197 100644 --- a/test/cypress/components/ui/VnConfirm.spec.js +++ b/test/cypress/components/ui/VnConfirm.spec.js @@ -3,6 +3,6 @@ import VnConfirm from 'src/components/ui/VnConfirm.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnConfirm); + cy.createWrapper(VnConfirm); }); }); diff --git a/test/cypress/components/ui/VnFilterPanel.spec.js b/test/cypress/components/ui/VnFilterPanel.spec.js index fe6cfbda2..ea5f5aaa2 100644 --- a/test/cypress/components/ui/VnFilterPanel.spec.js +++ b/test/cypress/components/ui/VnFilterPanel.spec.js @@ -3,6 +3,6 @@ import VnFilterPanel from 'src/components/ui/VnFilterPanel.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnFilterPanel); + cy.createWrapper(VnFilterPanel); }); }); diff --git a/test/cypress/components/ui/VnFilterPanelChip.spec.js b/test/cypress/components/ui/VnFilterPanelChip.spec.js index ad68b3480..fa8979f77 100644 --- a/test/cypress/components/ui/VnFilterPanelChip.spec.js +++ b/test/cypress/components/ui/VnFilterPanelChip.spec.js @@ -3,6 +3,6 @@ import VnFilterPanelChip from 'src/components/ui/VnFilterPanelChip.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnFilterPanelChip); + cy.createWrapper(VnFilterPanelChip); }); }); diff --git a/test/cypress/components/ui/VnImg.spec.js b/test/cypress/components/ui/VnImg.spec.js index 34969f1d9..e0efefa84 100644 --- a/test/cypress/components/ui/VnImg.spec.js +++ b/test/cypress/components/ui/VnImg.spec.js @@ -3,6 +3,6 @@ import VnImg from 'src/components/ui/VnImg.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnImg); + cy.createWrapper(VnImg); }); }); diff --git a/test/cypress/components/ui/VnLinkPhone.spec.js b/test/cypress/components/ui/VnLinkPhone.spec.js index cf1b484f4..478ada35b 100644 --- a/test/cypress/components/ui/VnLinkPhone.spec.js +++ b/test/cypress/components/ui/VnLinkPhone.spec.js @@ -3,6 +3,6 @@ import VnLinkPhone from 'src/components/ui/VnLinkPhone.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnLinkPhone); + cy.createWrapper(VnLinkPhone); }); }); diff --git a/test/cypress/components/ui/VnLogo.spec.js b/test/cypress/components/ui/VnLogo.spec.js index 1f6dbdc5b..02df1c3e3 100644 --- a/test/cypress/components/ui/VnLogo.spec.js +++ b/test/cypress/components/ui/VnLogo.spec.js @@ -3,6 +3,6 @@ import VnLogo from 'src/components/ui/VnLogo.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnLogo); + cy.createWrapper(VnLogo); }); }); diff --git a/test/cypress/components/ui/VnLv.spec.js b/test/cypress/components/ui/VnLv.spec.js index 342c59610..8c9e01927 100644 --- a/test/cypress/components/ui/VnLv.spec.js +++ b/test/cypress/components/ui/VnLv.spec.js @@ -3,6 +3,6 @@ import VnLv from 'src/components/ui/VnLv.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnLv); + cy.createWrapper(VnLv); }); }); diff --git a/test/cypress/components/ui/VnNotes.spec.js b/test/cypress/components/ui/VnNotes.spec.js index 3966f54c2..7e3768997 100644 --- a/test/cypress/components/ui/VnNotes.spec.js +++ b/test/cypress/components/ui/VnNotes.spec.js @@ -3,6 +3,6 @@ import VnNotes from 'src/components/ui/VnNotes.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnNotes); + cy.createWrapper(VnNotes); }); }); diff --git a/test/cypress/components/ui/VnOutForm.spec.js b/test/cypress/components/ui/VnOutForm.spec.js index ffc3f98d1..dfdaeea9a 100644 --- a/test/cypress/components/ui/VnOutForm.spec.js +++ b/test/cypress/components/ui/VnOutForm.spec.js @@ -3,6 +3,6 @@ import VnOutForm from 'src/components/ui/VnOutForm.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnOutForm); + cy.createWrapper(VnOutForm); }); }); diff --git a/test/cypress/components/ui/VnPaginate.spec.js b/test/cypress/components/ui/VnPaginate.spec.js index 73cb34ca0..a986f5ca7 100644 --- a/test/cypress/components/ui/VnPaginate.spec.js +++ b/test/cypress/components/ui/VnPaginate.spec.js @@ -3,6 +3,6 @@ import VnPaginate from 'src/components/ui/VnPaginate.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnPaginate); + cy.createWrapper(VnPaginate); }); }); diff --git a/test/cypress/components/ui/VnRow.spec.js b/test/cypress/components/ui/VnRow.spec.js index 6cc01f41d..89ba138db 100644 --- a/test/cypress/components/ui/VnRow.spec.js +++ b/test/cypress/components/ui/VnRow.spec.js @@ -3,6 +3,6 @@ import VnRow from 'src/components/ui/VnRow.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnRow); + cy.createWrapper(VnRow); }); }); diff --git a/test/cypress/components/ui/VnSearchbar.spec.js b/test/cypress/components/ui/VnSearchbar.spec.js index b66012270..fd2ccb627 100644 --- a/test/cypress/components/ui/VnSearchbar.spec.js +++ b/test/cypress/components/ui/VnSearchbar.spec.js @@ -3,6 +3,6 @@ import VnSearchbar from 'src/components/ui/VnSearchbar.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnSearchbar); + cy.createWrapper(VnSearchbar); }); }); diff --git a/test/cypress/components/ui/VnSms.spec.js b/test/cypress/components/ui/VnSms.spec.js index 39b17b2e3..2a3ab6240 100644 --- a/test/cypress/components/ui/VnSms.spec.js +++ b/test/cypress/components/ui/VnSms.spec.js @@ -3,6 +3,6 @@ import VnSms from 'src/components/ui/VnSms.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnSms); + cy.createWrapper(VnSms); }); }); diff --git a/test/cypress/components/ui/VnSubToolbar.spec.js b/test/cypress/components/ui/VnSubToolbar.spec.js index 232e45a45..1fcc17f34 100644 --- a/test/cypress/components/ui/VnSubToolbar.spec.js +++ b/test/cypress/components/ui/VnSubToolbar.spec.js @@ -3,6 +3,6 @@ import VnSubToolbar from 'src/components/ui/VnSubToolbar.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnSubToolbar); + cy.createWrapper(VnSubToolbar); }); }); diff --git a/test/cypress/components/ui/VnUserLink.spec.js b/test/cypress/components/ui/VnUserLink.spec.js index edb93d08b..d7e0c016d 100644 --- a/test/cypress/components/ui/VnUserLink.spec.js +++ b/test/cypress/components/ui/VnUserLink.spec.js @@ -3,6 +3,6 @@ import VnUserLink from 'src/components/ui/VnUserLink.vue'; describe.skip('', () => { it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.vnMount(VnUserLink); + cy.createWrapper(VnUserLink); }); }); diff --git a/test/cypress/support/component.js b/test/cypress/support/component.js index 103f4d055..f3ca76ed1 100644 --- a/test/cypress/support/component.js +++ b/test/cypress/support/component.js @@ -1,7 +1,7 @@ import { createTestingPinia } from '@pinia/testing'; import { mount } from 'cypress/vue'; import { i18n } from 'src/boot/i18n'; - +import { Quasar } from 'quasar'; const pinia = createTestingPinia({ createSpy: () => {}, stubActions: false }); // // Run this code before each *test*. @@ -16,7 +16,7 @@ const pinia = createTestingPinia({ createSpy: () => {}, stubActions: false }); function createWrapper(component, options) { const defaultOptions = { global: { - plugins: [i18n, pinia], + plugins: [Quasar, i18n, pinia], }, mocks: { t: (tKey) => tKey, @@ -48,33 +48,3 @@ function createWrapper(component, options) { // } Cypress.Commands.add('createWrapper', createWrapper); -// Cypress.Commands.add('mount', mount); -import { shallowMount } from '@vue/test-utils'; -import { Quasar } from 'quasar'; - -Cypress.Commands.add('vnMount', (component, options = {}) => { - const globalConfig = { - global: { - stubs: ['router-view', 'vue-i18n'], - plugins: [Quasar, i18n, pinia], - mocks: { t: (key) => key }, - }, - }; - // options.global = options.global || {}; - // options.global.stubs = options.global.stubs || {}; - // options.global.stubs.transition = false; - // options.global.components = options.global.components || {}; - // options.global.plugins = options.global.plugins || []; - - // Use store passed in from options, or initialize a new one - // const { /* store = getStore(), */ ...mountOptions } = options; - - // Add plugins here - // options.global.plugins.push({ - // install(app) { - // app.use(i18n); - // }, - // }); - console.log({ ...globalConfig, ...options }); - return shallowMount(component, { ...globalConfig, ...options }); -}); -- 2.40.1 From 1d7e3f61196ef86c9dd21a830f5f43de181cf420 Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Fri, 18 Oct 2024 08:32:48 +0200 Subject: [PATCH 17/28] feat: refs #7220 ok --- test/cypress/components/FetchData.spec.js | 59 ++++++++++++++++++++++- 1 file changed, 57 insertions(+), 2 deletions(-) diff --git a/test/cypress/components/FetchData.spec.js b/test/cypress/components/FetchData.spec.js index efc7a49cb..c0819f30e 100644 --- a/test/cypress/components/FetchData.spec.js +++ b/test/cypress/components/FetchData.spec.js @@ -1,8 +1,63 @@ import FetchData from 'src/components/FetchData.vue'; -describe.skip('', () => { +describe.only('', () => { + const mockApiResponse = { results: [{ id: 1, name: 'Test' }] }; it('TODO: boilerplate', () => { // see: https://on.cypress.io/mounting-vue - cy.createWrapper(FetchData); + let _wrapper = null; + const onFetchSpy = cy.spy().as('onFetchSpy'); + cy.createWrapper(FetchData, { + props: { + autoLoad: true, + url: 'http://localhost:9000/api/Schemas/modelinfo', + }, + emits: { onFetch: onFetchSpy }, + }); + cy.get('@onFetchSpy').should('have.been.called'); + // Intercepta la petición de axios para simular una respuesta + // cy.intercept('http://localhost:9000/api/Schemas/modelinfo', { + // statusCode: 200, + // body: mockApiResponse, + // }).as('dataFetched'); // Alias para poder esperar en el test + + // Verifica que la petición fue realizada automáticamente y la data es correcta + // cy.wait('@dataFetched').then(({ request, response }) => { + // expect(response.body).to.deep.equal(mockApiResponse); // Verifica la respuesta + // }); + // debugger; + + // Verifica que el evento onFetch fue emitido con los datos correctos + }); + xit('TODO: boilerplate2', () => { + // see: https://on.cypress.io/mounting-vue + cy.createWrapper(FetchData, { + props: { + autoLoad: false, + url: '/api/test-url', // La URL que va a usar en el fetch + }, + }); + // Intercepta la petición de axios para simular una respuesta + cy.intercept('GET', '**/api/test-url', { + statusCode: 200, + body: mockApiResponse, + }).as('fetchData'); // Alias para poder esperar en el test + // Verifica que no se hizo ninguna petición al montar el componente + cy.get('@fetchDataManual').should('not.exist'); + + // Llama manualmente al método fetch desde el componente expuesto + cy.window().then((win) => { + win.$vm.fetch(); // Llama al método fetch + }); + + // Verifica que la petición se ejecutó manualmente y la data es correcta + cy.wait('@fetchDataManual').then(({ request, response }) => { + expect(response.body).to.deep.equal(mockApiResponse); + }); + + // Verifica que el evento onFetch fue emitido con los datos correctos + cy.wrap(Cypress.vueWrapper.emitted('onFetch')[0][0]).should( + 'deep.equal', + mockApiResponse + ); }); }); -- 2.40.1 From 3a04fc5029f694b6073de578d6276e4f516f6531 Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Fri, 18 Oct 2024 13:51:41 +0200 Subject: [PATCH 18/28] feat: refs #7220 ok --- cypress.config.js | 19 +++- quasar.config.js | 1 + src/components/FormModel.vue | 2 +- src/pages/Claim/Card/ClaimLines.vue | 26 +++-- .../components/CreateBankEntityForm.spec.js | 81 ++++++++++++- test/cypress/components/FetchData.spec.js | 67 +++++------ test/cypress/support/component.js | 106 +++++++++++++++++- 7 files changed, 242 insertions(+), 60 deletions(-) diff --git a/cypress.config.js b/cypress.config.js index c8c62c8fa..b30df2b3d 100644 --- a/cypress.config.js +++ b/cypress.config.js @@ -1,4 +1,7 @@ const { defineConfig } = require('cypress'); +const { + injectQuasarDevServerConfig, +} = require('@quasar/quasar-app-extension-testing-e2e-cypress/cct-dev-server'); module.exports = defineConfig({ e2e: { @@ -18,6 +21,11 @@ module.exports = defineConfig({ }, setupNodeEvents(on, config) { // implement node event listeners here + on('after:spec', (results) => { + // `results` is the tests results + console.error('results: ', results); + cy.exec('cd ../salix && gulp docker'); + }); }, }, @@ -25,9 +33,14 @@ module.exports = defineConfig({ indexHtmlFile: 'test/cypress/support/component-index.html', supportFile: 'test/cypress/support/component.js', specPattern: 'test/cypress/components/**/*.spec.js', - devServer: { - framework: 'vue', - bundler: 'vite', + devServer: injectQuasarDevServerConfig(), + setupNodeEvents(on, config) { + // implement node event listeners here + on('after:spec', (results) => { + // `results` is the tests results + console.error('results: ', results); + cy.exec('cd ../salix && gulp docker'); + }); }, }, }); diff --git a/quasar.config.js b/quasar.config.js index b59c62eeb..68d113622 100644 --- a/quasar.config.js +++ b/quasar.config.js @@ -87,6 +87,7 @@ module.exports = configure(function (/* ctx */) { alias: { composables: path.join(__dirname, './src/composables'), filters: path.join(__dirname, './src/filters'), + components: path.join(__dirname, './src/components'), }, vitePlugins: [ diff --git a/src/components/FormModel.vue b/src/components/FormModel.vue index a8bdc2368..47554330a 100644 --- a/src/components/FormModel.vue +++ b/src/components/FormModel.vue @@ -363,7 +363,7 @@ defineExpose({ diff --git a/src/pages/Claim/Card/ClaimLines.vue b/src/pages/Claim/Card/ClaimLines.vue index 395413034..1db57567b 100644 --- a/src/pages/Claim/Card/ClaimLines.vue +++ b/src/pages/Claim/Card/ClaimLines.vue @@ -5,11 +5,11 @@ import { useI18n } from 'vue-i18n'; import { useQuasar } from 'quasar'; import { useRoute } from 'vue-router'; import { useStateStore } from 'stores/useStateStore'; -import { useArrayData } from 'src/composables/useArrayData'; +import { useArrayData } from 'composables/useArrayData'; import { toDate, toCurrency, toPercentage } from 'filters/index'; -import CrudModel from 'src/components/CrudModel.vue'; -import FetchData from 'src/components/FetchData.vue'; -import VnDiscount from 'src/components/common/vnDiscount.vue'; +import CrudModel from 'components/CrudModel.vue'; +import FetchData from 'components/FetchData.vue'; +import VnDiscount from 'components/common/vnDiscount.vue'; import ClaimLinesImport from './ClaimLinesImport.vue'; import ItemDescriptorProxy from 'src/pages/Item/Card/ItemDescriptorProxy.vue'; @@ -20,7 +20,7 @@ const { t } = useI18n(); const stateStore = useStateStore(); const arrayData = useArrayData('ClaimLines'); const store = arrayData.store; - +const itemDescriptorProxy = ref(null); const claimFilter = { fields: ['ticketFk'], }; @@ -221,10 +221,12 @@ async function saveWhenHasChanges() { - + en: You are about to remove {count} rows: ' You are about to remove {count} row | diff --git a/test/cypress/components/CreateBankEntityForm.spec.js b/test/cypress/components/CreateBankEntityForm.spec.js index f639799e3..c4adc76dc 100644 --- a/test/cypress/components/CreateBankEntityForm.spec.js +++ b/test/cypress/components/CreateBankEntityForm.spec.js @@ -1,8 +1,83 @@ +import axios from 'axios'; import CreateBankEntityForm from 'src/components/CreateBankEntityForm.vue'; +import { useArrayData } from 'src/composables/useArrayData'; +import { useArrayDataStore } from 'src/stores/useArrayDataStore'; +// import { useRouter } from 'vue-router'; +// import vueRouter from 'vue-router'; describe('', () => { - it('TODO: boilerplate', () => { - // see: https://on.cypress.io/mounting-vue - cy.createWrapper(CreateBankEntityForm); + const mockApiResponse = { results: [{ id: 1, name: 'Test' }] }; + const arrayDataStore = useArrayDataStore(); + const mockStoreData = { filter: {}, userFilter: {}, userParams: {}, url: 'mockUrl' }; + + before(() => { + cy.login('developer'); + // cy.stub(arrayDataStore, 'get').callsFake(() => 'asd'); + + cy.stub(arrayDataStore, 'get') + .callsFake((e, fn) => (e = fn)) + .as('update'); + const arrayData = useArrayData('ArrayData', { url: 'mockUrl' }); + + cy.stub(arrayData).callsFake(() => ({ + userParams: {}, + userFilter: {}, + order: {}, + searchUrl: 'searchUrl', + })); + // cy.stub(vueRouter, 'useRouter').callsFake(() => ({ + // push: () => {}, + // replace: () => {}, + // currentRoute: { + // value: { + // params: { + // id: 1, + // }, + // meta: { moduleName: 'mockName' }, + // matched: [{ path: 'mockName/list' }], + // }, + // }, + // })); + }); + beforeEach(() => { + // Stub del método get del store + // cy.spy(useRouter(), 'replace'); + // cy.spy(useRouter(), 'push'); + }); + + it('should intercept axios.get for a specific route', () => { + // Intercepta la llamada a axios.get para una ruta específica + cy.stub(axios, 'get') + .callsFake((url, params) => { + if (url === 'Countries') { + return Promise.resolve({ data: mockApiResponse }); + } + // Si la URL no coincide, llama al método original + return axios.get.wrappedMethod(url, params); + }) + .as('axiosStub'); + + const onFetchSpy = cy.spy().as('onFetchSpy'); + + cy.createWrapper(CreateBankEntityForm, { + props: { + showEntityField: true, + }, + attrs: { + onFetch: onFetchSpy, + }, + }); + + cy.get('@axiosStub').should((spy) => { + expect(spy).to.have.been.calledWith('Countries'); + }); + + cy.get('@onFetchSpy').should((spy) => { + expect(spy).to.have.been.calledWith(mockApiResponse); + }); + + // Verifica que los datos emitidos por el hijo son manejados por el padre + // cy.get('p').should('contain', 'Datos recibidos:'); // Verifica que los datos se muestran en el DOM + // cy.get('p').should('contain', 'Test'); // Verifica que el contenido de los datos es correcto }); }); diff --git a/test/cypress/components/FetchData.spec.js b/test/cypress/components/FetchData.spec.js index c0819f30e..de22cb886 100644 --- a/test/cypress/components/FetchData.spec.js +++ b/test/cypress/components/FetchData.spec.js @@ -1,63 +1,46 @@ +import axios from 'axios'; import FetchData from 'src/components/FetchData.vue'; describe.only('', () => { const mockApiResponse = { results: [{ id: 1, name: 'Test' }] }; - it('TODO: boilerplate', () => { + const url = '/api/Schemas/modelinfo'; + it('Autoload: true', () => { // see: https://on.cypress.io/mounting-vue - let _wrapper = null; + cy.stub(axios, 'get').resolves({ data: mockApiResponse }).as('axiosStub'); const onFetchSpy = cy.spy().as('onFetchSpy'); cy.createWrapper(FetchData, { props: { autoLoad: true, - url: 'http://localhost:9000/api/Schemas/modelinfo', + url, }, emits: { onFetch: onFetchSpy }, }); - cy.get('@onFetchSpy').should('have.been.called'); - // Intercepta la petición de axios para simular una respuesta - // cy.intercept('http://localhost:9000/api/Schemas/modelinfo', { - // statusCode: 200, - // body: mockApiResponse, - // }).as('dataFetched'); // Alias para poder esperar en el test - - // Verifica que la petición fue realizada automáticamente y la data es correcta - // cy.wait('@dataFetched').then(({ request, response }) => { - // expect(response.body).to.deep.equal(mockApiResponse); // Verifica la respuesta - // }); - // debugger; - - // Verifica que el evento onFetch fue emitido con los datos correctos + cy.get('@axiosStub').should((spy) => { + expect(spy).to.have.been.calledWith('/api/Schemas/modelinfo'); + const [url, params] = spy.getCall(0).args; + expect(url).to.equal('/api/Schemas/modelinfo'); + expect(params).to.deep.equal({ + params: { + filter: '{}', + }, + }); + }); + /*cy.get('@onFetchSpy').should('have.been.calledWith', mockApiResponse);*/ + cy.get('@onFetchSpy').should((spy) => { + expect(spy).to.have.been.calledWith(mockApiResponse); + }); }); - xit('TODO: boilerplate2', () => { + it('Autoload: false', () => { // see: https://on.cypress.io/mounting-vue + cy.stub(axios, 'get').resolves({ data: mockApiResponse }).as('axiosStub'); + const onFetchSpy = cy.spy().as('onFetchSpy'); cy.createWrapper(FetchData, { props: { autoLoad: false, - url: '/api/test-url', // La URL que va a usar en el fetch + url, }, + emits: { onFetch: onFetchSpy }, }); - // Intercepta la petición de axios para simular una respuesta - cy.intercept('GET', '**/api/test-url', { - statusCode: 200, - body: mockApiResponse, - }).as('fetchData'); // Alias para poder esperar en el test - // Verifica que no se hizo ninguna petición al montar el componente - cy.get('@fetchDataManual').should('not.exist'); - - // Llama manualmente al método fetch desde el componente expuesto - cy.window().then((win) => { - win.$vm.fetch(); // Llama al método fetch - }); - - // Verifica que la petición se ejecutó manualmente y la data es correcta - cy.wait('@fetchDataManual').then(({ request, response }) => { - expect(response.body).to.deep.equal(mockApiResponse); - }); - - // Verifica que el evento onFetch fue emitido con los datos correctos - cy.wrap(Cypress.vueWrapper.emitted('onFetch')[0][0]).should( - 'deep.equal', - mockApiResponse - ); + cy.get('@onFetchSpy').should('not.to.have.been.called'); }); }); diff --git a/test/cypress/support/component.js b/test/cypress/support/component.js index f3ca76ed1..65e1bc61d 100644 --- a/test/cypress/support/component.js +++ b/test/cypress/support/component.js @@ -17,6 +17,19 @@ function createWrapper(component, options) { const defaultOptions = { global: { plugins: [Quasar, i18n, pinia], + stubs: [ + 'router-link', + 'router-view', + 'vue-router', + 'vnPaginate', + 'useState', + 'arrayData', + 'arrayDataStore', + 'useArrayData', + 'useArrayDataStore', + 'useStateStore', + 'vue-i18n', + ], }, mocks: { t: (tKey) => tKey, @@ -33,7 +46,19 @@ function createWrapper(component, options) { mountOptions.global.plugins = defaultOptions.global.plugins; } } - + // create router if one is not provided + if (!options.router) { + options.router = createRouter({ + routes: [], + history: createMemoryHistory(), + }); + } + mountOptions.global.plugins.push({ + install(app) { + app.use(i18n); + app.use(options.router); + }, + }); const wrapper = mount(component, mountOptions); const vm = wrapper.vm; @@ -48,3 +73,82 @@ function createWrapper(component, options) { // } Cypress.Commands.add('createWrapper', createWrapper); + +Cypress.Commands.add('_vnMount', (component, options = {}) => { + const globalConfig = { + global: { + stubs: ['router-view', 'vue-i18n'], + plugins: [Quasar, i18n, pinia], + mocks: { t: (key) => key }, + }, + }; + options.global = options.global || {}; + // options.global.stubs = options.global.stubs || {}; + // options.global.stubs.transition = false; + // options.global.components = options.global.components || {}; + options.global.plugins = options.global.plugins || []; + + // Use store passed in from options, or initialize a new one + // const { /* store = getStore(), */ ...mountOptions } = options; + + // Add plugins here + options.global.plugins.push({ + install(app) { + app.use(i18n); + }, + }); + // Spy para capturar el evento onFetch + + // Agregar el spy a los atributos del componente + const finalOptions = { + ...globalConfig, + ...options, + attrs: { + ...options.attrs, + }, + }; + + console.log(finalOptions); + const cmp = mount(component, finalOptions); + return cmp; +}); +import 'quasar/dist/quasar.css'; +import { createRouter } from 'vue-router'; +import { createMemoryHistory } from 'vue-router'; +Cypress.Commands.add('vue', () => { + return cy.wrap(Cypress.vueWrapper); +}); +Cypress.Commands.add('_mount', (component, options) => { + // Wrap any parent components needed + // ie: return mount({component}, options) + options.global = options.global || {}; + options.global.plugins = options.global.plugins || []; + options.global.plugins.push([Quasar, {}]); + options.global.plugins.push([i18n]); + + return mount(component, options); +}); + +Cypress.Commands.add('login', (user) => { + //cy.visit('/#/login'); + cy.request({ + method: 'POST', + url: 'http://localhost:9000/api/accounts/login', + + body: { + user: user, + password: 'nightmare', + }, + }).then((response) => { + window.localStorage.setItem('token', response.body.token); + cy.request({ + method: 'GET', + url: 'http://localhost:9000/api/VnUsers/ShareToken', + headers: { + Authorization: window.localStorage.getItem('token'), + }, + }).then(({ body }) => { + window.localStorage.setItem('tokenMultimedia', body.multimediaToken.id); + }); + }); +}); -- 2.40.1 From e49a91255f646036ca4d8f0031594ee194f5833f Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Sun, 20 Oct 2024 01:46:20 +0200 Subject: [PATCH 19/28] feat: refs #7220 ok FormModel --- cypress.config.js | 8 +- src/stores/useArrayDataStore.js | 5 +- src/stores/useArrayDataStore.test.js | 22 +++ .../components/CreateBankEntityForm.spec.js | 92 ++++++++++-- test/cypress/components/FormModel.spec.js | 142 +++++++++++++++++- test/cypress/support/component.js | 99 +++++++++++- 6 files changed, 339 insertions(+), 29 deletions(-) create mode 100644 src/stores/useArrayDataStore.test.js diff --git a/cypress.config.js b/cypress.config.js index b30df2b3d..f629c5b28 100644 --- a/cypress.config.js +++ b/cypress.config.js @@ -4,6 +4,9 @@ const { } = require('@quasar/quasar-app-extension-testing-e2e-cypress/cct-dev-server'); module.exports = defineConfig({ + env: { + baseUrl: 'http://localhost:9000/', + }, e2e: { baseUrl: 'http://localhost:9000/', experimentalStudio: true, @@ -33,7 +36,10 @@ module.exports = defineConfig({ indexHtmlFile: 'test/cypress/support/component-index.html', supportFile: 'test/cypress/support/component.js', specPattern: 'test/cypress/components/**/*.spec.js', - devServer: injectQuasarDevServerConfig(), + devServer: { + framework: 'quasar', + bundler: 'vite', + }, setupNodeEvents(on, config) { // implement node event listeners here on('after:spec', (results) => { diff --git a/src/stores/useArrayDataStore.js b/src/stores/useArrayDataStore.js index ea029bc12..7efda1430 100644 --- a/src/stores/useArrayDataStore.js +++ b/src/stores/useArrayDataStore.js @@ -1,8 +1,9 @@ -import { ref } from 'vue'; import { defineStore } from 'pinia'; +import { ref } from 'vue'; export const useArrayDataStore = defineStore('arrayDataStore', () => { const state = ref({}); + const defaultOpts = { filter: {}, userFilter: {}, @@ -24,7 +25,7 @@ export const useArrayDataStore = defineStore('arrayDataStore', () => { } function set(key) { - state.value[key] = getDefaultState(); + state.value[key] = getDefaultState(); // Ahora asigna el estado a la clave 'key' } function clear(key) { diff --git a/src/stores/useArrayDataStore.test.js b/src/stores/useArrayDataStore.test.js new file mode 100644 index 000000000..2543f030f --- /dev/null +++ b/src/stores/useArrayDataStore.test.js @@ -0,0 +1,22 @@ +import { setActivePinia, createPinia } from 'pinia'; +import { useArrayDataStore } from './useArrayDataStore'; + +describe('useArrayDataStore', () => { + beforeEach(() => { + setActivePinia(createPinia()); + }); + + it('should initialize isLoading to false', () => { + const store = useArrayDataStore(); + store.set('testKey'); + expect(store.get('testKey').isLoading).toBe(false); + }); + + it('should reset isLoading to false', () => { + const store = useArrayDataStore(); + store.set('testKey'); + store.get('testKey').isLoading = true; + store.reset('testKey', ['isLoading']); + expect(store.get('testKey').isLoading).toBe(false); + }); +}); diff --git a/test/cypress/components/CreateBankEntityForm.spec.js b/test/cypress/components/CreateBankEntityForm.spec.js index c4adc76dc..0739c0e1c 100644 --- a/test/cypress/components/CreateBankEntityForm.spec.js +++ b/test/cypress/components/CreateBankEntityForm.spec.js @@ -1,31 +1,34 @@ +import { createTestingPinia } from '@pinia/testing'; import axios from 'axios'; +import { setActivePinia } from 'pinia'; +import { createPinia } from 'pinia'; import CreateBankEntityForm from 'src/components/CreateBankEntityForm.vue'; import { useArrayData } from 'src/composables/useArrayData'; import { useArrayDataStore } from 'src/stores/useArrayDataStore'; -// import { useRouter } from 'vue-router'; +import { useRouter } from 'vue-router'; // import vueRouter from 'vue-router'; describe('', () => { const mockApiResponse = { results: [{ id: 1, name: 'Test' }] }; - const arrayDataStore = useArrayDataStore(); + // const arrayDataStore = useArrayDataStore(); const mockStoreData = { filter: {}, userFilter: {}, userParams: {}, url: 'mockUrl' }; - + let store, arrayData; before(() => { cy.login('developer'); // cy.stub(arrayDataStore, 'get').callsFake(() => 'asd'); - cy.stub(arrayDataStore, 'get') - .callsFake((e, fn) => (e = fn)) - .as('update'); - const arrayData = useArrayData('ArrayData', { url: 'mockUrl' }); + // cy.stub(arrayDataStore, 'get') + // .callsFake((e, fn) => (e = fn)) + // .as('update'); + // const arrayData = useArrayData('ArrayData', { url: 'mockUrl' }); - cy.stub(arrayData).callsFake(() => ({ - userParams: {}, - userFilter: {}, - order: {}, - searchUrl: 'searchUrl', - })); - // cy.stub(vueRouter, 'useRouter').callsFake(() => ({ + // cy.stub(arrayData).callsFake(() => ({ + // userParams: {}, + // userFilter: {}, + // order: {}, + // searchUrl: 'searchUrl', + // })); + // cy.stub(vueRouter).callsFake(() => ({ // push: () => {}, // replace: () => {}, // currentRoute: { @@ -38,14 +41,69 @@ describe('', () => { // }, // }, // })); + Cypress.config('defaultCommandTimeout', 500); + + // const spy = cy.spy(); + // createTestingPinia({ + // createSpy: () => spy, + // }); + + // // one way: + // store = useArrayDataStore(); + + // // another way with the same error: + // useArrayDataStore( + // createTestingPinia({ + // createSpy: () => spy, + // initialState: { + // state: { ArrayData: cy.spy() }, + // }, + // }) + // ); + + // cy.stub(useArrayDataStore, 'get').callsFake(() => cy.spy()); + // cy.stub(useArrayData, 'get').callsFake(() => store); + // arrayData = useArrayData('ArrayData', { url: 'mockUrl' }); }); beforeEach(() => { + // cy._mount(CreateBankEntityForm, { + // global: { + // plugins: [store], + // }, + // }); // Stub del método get del store // cy.spy(useRouter(), 'replace'); // cy.spy(useRouter(), 'push'); }); it('should intercept axios.get for a specific route', () => { + // Configura Pinia y la store + const pinia = createPinia(); + setActivePinia(pinia); + const arrayDataStore = useArrayDataStore(); + cy.stub(arrayDataStore, 'get').returns(mockStoreData).as('getStub'); + + cy.stub(arrayData, 'arrayDataStore').callsFake(() => store); + cy.createWrapper(CreateBankEntityForm); + // Obtén la instancia de la store de Pinia + // const store = useArrayDataStore(); + // Asegúrate de que el método `set` esté disponible + // Usar cy.stub() para espiar la función set y personalizar su comportamiento + // cy.stub(store, 'set').callsFake(() => { + // console.log('store.set fue llamado'); + // // Simular que set se ejecuta correctamente + // store.get('key').data = 'Fake Data'; + // }); + // expect(store.set).to.be.a('function'); + // store.set('key'); // Inicializar el estado con `set` + // store.get('key').data = 'Test Data'; // Simular que tenemos datos + // // Simula que agregamos usuarios a la store + // store.setUsers([ + // { id: 1, name: 'John Doe' }, + // { id: 2, name: 'Jane Doe' }, + // ]); + }); + xit('should intercept axios.get for a specific route', () => { // Intercepta la llamada a axios.get para una ruta específica cy.stub(axios, 'get') .callsFake((url, params) => { @@ -58,7 +116,11 @@ describe('', () => { .as('axiosStub'); const onFetchSpy = cy.spy().as('onFetchSpy'); - + // Configura Pinia y la store + const pinia = createPinia(); + setActivePinia(pinia); + const arrayDataStore = useArrayDataStore(); + cy.stub(arrayDataStore, 'get').returns(mockStoreData).as('getStub'); cy.createWrapper(CreateBankEntityForm, { props: { showEntityField: true, diff --git a/test/cypress/components/FormModel.spec.js b/test/cypress/components/FormModel.spec.js index 859c1f9a1..22cf8ab82 100644 --- a/test/cypress/components/FormModel.spec.js +++ b/test/cypress/components/FormModel.spec.js @@ -1,8 +1,142 @@ +import { Notify } from 'quasar'; import FormModel from 'src/components/FormModel.vue'; +// import useNotify from 'src/composables/useNotify'; +import { useState } from 'src/composables/useState'; +import { useStateStore } from 'src/stores/useStateStore'; -describe.skip('', () => { - it('TODO: boilerplate', () => { - // see: https://on.cypress.io/mounting-vue - cy.createWrapper(FormModel, { props: {} }); +describe('', () => { + let piniaOptions = null; + let saveSpy, notifySpy, component, wrapper; + beforeEach(() => { + piniaOptions = { + stubActions: false, + createSpy: cy.spy, // Use Cypress spy function + }; + const state = useState(); + const stateStore = useStateStore(); + cy.stub(stateStore, 'isSubToolbarShown').returns(true).as('isSubToolbarShown'); + state.set('testModel', { name: 'Test', age: 30 }); + const props = { + url: '', + model: 'testModel', + filter: {}, + urlUpdate: '', + urlCreate: '/api/test/create', + defaultActions: true, + defaultButtons: {}, + autoLoad: false, + formInitialData: {}, + observeFormChanges: true, + mapper: null, + clearStoreOnUnmount: true, + saveFn: null, + goTo: '', + reload: false, + defaultTrim: true, + }; + cy.mount(FormModel, { + piniaOptions, + props, + slots: { + form: ``, + moreActions: ``, + }, + }).then(({ component: cmp, wrapper: wpr }) => { + component = cmp; + wrapper = wpr; + saveSpy = cy.spy(component, 'save').as('saveSpy'); + notifySpy = cy.spy(Notify, 'create').as('notifySpy'); + }); }); + it('should mount the component', () => { + cy.get('#formModel').should('exist'); + }); + + it('should call the save method when the save button is clicked without changes', () => { + cy.get('#formModel').should('exist'); + cy.get('button').contains('Save').click(); + cy.get('@saveSpy').should('not.have.been.called'); + cy.get('@notifySpy').should((spy) => { + expect(spy).to.have.been.calledWith({ + message: 'No changes to save', + type: 'negative', + icon: 'error', + }); + }); + }); + it('should call the save method when the save button is clicked with changes', () => { + cy.get('#formModel').should('exist'); + cy.get('[data-cy="name"]').type('John Doe'); + cy.get('button').contains('Save').click(); + cy.get('@saveSpy').should('not.have.been.called'); + cy.get('@notifySpy').should((spy) => { + const [args] = spy.getCall(0)?.args || []; + expect(args.type).to.equal('negative'); + expect(args.icon).to.equal('error'); + expect(args.message).not.to.equal('No changes to save'); + }); + }); + /* + it('should display the confirmation dialog on route leave with unsaved changes', () => { + // Simulate form change + cy.get('#formModel').then((form) => { + form[0].__vue__.formData.name = 'Changed'; + }); + + // Attempt to navigate away + cy.get('.q-dialog').should('be.visible'); + cy.get('.q-dialog .q-dialog__title').should( + 'contain', + 'globals.unsavedPopup.title' + ); + }); + + it('should call save method on form submit', async () => { + const saveSpy = cy.spy(formModel.value, 'save'); + await formModel.value.$refs.myForm.trigger('submit'); + expect(saveSpy).to.have.been.called; + }); + + it('should reset the form data', async () => { + formModel.value.formData.name = 'Changed'; + await formModel.value.reset(); + expect(formModel.value.formData.name).toBe('Test'); + }); + + it('should show loading indicator when saving', async () => { + formModel.value.isLoading = true; + await nextTick(); + expect(wrapper.findComponent({ name: 'QInnerLoading' }).props('showing')).toBe(true); + }); + + it('should render form slot content', () => { + expect(wrapper.find('input').exists()).toBe(true); + }); + + it('should update form data through slot inputs', async () => { + const nameInput = wrapper.find('input[type="text"]'); + const ageInput = wrapper.find('input[type="number"]'); + + await nameInput.setValue('Updated Name'); + await ageInput.setValue(25); + + expect(formModel.value.formData.name).toBe('Updated Name'); + expect(formModel.value.formData.age).toBe(25); + }); + + it('should render moreActions slot content', () => { + expect(wrapper.find('button').exists()).toBe(true); + }); + + it('should call custom action on button click', async () => { + const customActionSpy = cy.spy(formModel.value, 'customAction'); + await wrapper.find('button').trigger('click'); + expect(customActionSpy).to.have.been.called; + });*/ }); diff --git a/test/cypress/support/component.js b/test/cypress/support/component.js index 65e1bc61d..6def6fb64 100644 --- a/test/cypress/support/component.js +++ b/test/cypress/support/component.js @@ -1,9 +1,13 @@ +import { installQuasarPlugin } from '@quasar/quasar-app-extension-testing-e2e-cypress'; import { createTestingPinia } from '@pinia/testing'; import { mount } from 'cypress/vue'; import { i18n } from 'src/boot/i18n'; import { Quasar } from 'quasar'; +import { createPinia } from 'pinia'; const pinia = createTestingPinia({ createSpy: () => {}, stubActions: false }); - +import axios from 'axios'; +installQuasarPlugin({ plugins: { Dialog, Notify } }); +// setActivePinia(pinia); // // Run this code before each *test*. // beforeEach(() => { // // New Pinia @@ -13,10 +17,72 @@ const pinia = createTestingPinia({ createSpy: () => {}, stubActions: false }); // setActivePinia(pinia); // }); -function createWrapper(component, options) { +// Crear un comando personalizado para montar componentes con Pinia +// Cypress.Commands.add('mountWithPinia', (component, options = {}) => { +// const pinia = createPinia(); +// options.global = options.global || {}; +// options.global.plugins = [Quasar, createPinia()]; // Incluye Quasar y Pinia +// return mount(component, options); +// }); + +// Registrar Quasar y sus componentes + +setActivePinia(createPinia()); // Ensure Pinia is active +axios.defaults.baseURL = Cypress.env('baseUrl'); +Cypress.Commands.add('mount', (component, options = {}) => { + const pinia = createTestingPinia(options.piniaOptions); + const components = options.global?.components || {}; + const router = createRouter({ + history: createWebHistory(), + routes: [], + }); const defaultOptions = { global: { - plugins: [Quasar, i18n, pinia], + mocks: { + t: (tKey) => tKey, + $t: (tKey) => tKey, + + $axios: axios, // Añadir axios como un mock global + }, + plugins: [ + Quasar, + (app) => { + app.use(router); + app.use(i18n); + app.use(pinia); + }, + ], // Añade Quasar y Pinia como plugins globales + }, + }; + const mountOptions = Object.assign({}, defaultOptions, options); + + if (options.global) { + mountOptions.global.plugins = defaultOptions.global.plugins; + } + + return mount(component, mountOptions); + + // options.global.plugins.push({ + // install(app) { + // app.use(i18n); + // app.use(router); + // // app.use(arrayDataStore); + // }, + // }); + // const wrapper = mount(component, mountOptions); + // const { vm } = wrapper; + // return wrapper; +}); +function createWrapper(component, options = {}) { + const defaultOptions = { + global: { + plugins: [ + Quasar, + i18n, + createTestingPinia({ + createSpy: () => cy.spy(), + }), + ], stubs: [ 'router-link', 'router-view', @@ -36,9 +102,13 @@ function createWrapper(component, options) { $t: (tKey) => tKey, }, }; - + const arrayDataStore = useArrayDataStore(); const mountOptions = Object.assign({}, defaultOptions); - + options.global = options?.global || {}; + options.global.plugins = options.global?.plugins || []; + // options.global.plugins.push([Quasar, {}]); + // options.global.plugins.push([i18n]); + // options.global.plugins.push(createTestingPinia()); if (options instanceof Object) { Object.assign(mountOptions, options); @@ -57,8 +127,10 @@ function createWrapper(component, options) { install(app) { app.use(i18n); app.use(options.router); + // app.use(arrayDataStore); }, }); + const wrapper = mount(component, mountOptions); const vm = wrapper.vm; @@ -77,8 +149,7 @@ Cypress.Commands.add('createWrapper', createWrapper); Cypress.Commands.add('_vnMount', (component, options = {}) => { const globalConfig = { global: { - stubs: ['router-view', 'vue-i18n'], - plugins: [Quasar, i18n, pinia], + plugins: [Quasar, i18n], mocks: { t: (key) => key }, }, }; @@ -115,6 +186,11 @@ Cypress.Commands.add('_vnMount', (component, options = {}) => { import 'quasar/dist/quasar.css'; import { createRouter } from 'vue-router'; import { createMemoryHistory } from 'vue-router'; +import { setActivePinia } from 'pinia'; +import { useArrayDataStore } from 'src/stores/useArrayDataStore'; +import { createWebHistory } from 'vue-router'; +import { Dialog } from 'quasar'; +import { Notify } from 'quasar'; Cypress.Commands.add('vue', () => { return cy.wrap(Cypress.vueWrapper); }); @@ -152,3 +228,12 @@ Cypress.Commands.add('login', (user) => { }); }); }); + +// Define el comando personalizado +Cypress.Commands.add('stubUseArrayDataStore', (stubData = {}) => { + const arrayDataStore = useArrayDataStore(); + if (arrayDataStore.get.restore) { + arrayDataStore.get.restore(); + } + cy.stub(arrayDataStore, 'get').returns(stubData).as('getStub'); +}); -- 2.40.1 From 533dd760962fdc9f7e6422e0799a3d92ea005be4 Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Sun, 20 Oct 2024 01:59:50 +0200 Subject: [PATCH 20/28] feat: refs #7220 remove comments --- ...as detected outside of a test (failed).png | Bin 125084 -> 0 bytes src/components/VnSelectProvince.vue | 2 +- .../common/src/css/quasar.variables.scss | 0 src/components/test_FetchData.vue | 16 ++++ test/cypress/components/FormModel.spec.js | 62 +------------ test/cypress/support/component.js | 82 ++++-------------- 6 files changed, 34 insertions(+), 128 deletions(-) delete mode 100644 cypress/screenshots/CreateNewCityForm.spec.js/An uncaught error was detected outside of a test (failed).png delete mode 100644 src/components/common/src/css/quasar.variables.scss create mode 100644 src/components/test_FetchData.vue diff --git a/cypress/screenshots/CreateNewCityForm.spec.js/An uncaught error was detected outside of a test (failed).png b/cypress/screenshots/CreateNewCityForm.spec.js/An uncaught error was detected outside of a test (failed).png deleted file mode 100644 index c7cb8e5f0b1e438835f8178092a4f4da41817962..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 125084 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�e|VTUe%i!r;Uv5LZYKIV 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

+oTqZSs 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 TKlVoa -import { ref, watch } from 'vue'; +import { ref } from 'vue'; import { useValidator } from 'src/composables/useValidator'; import { useI18n } from 'vue-i18n'; diff --git a/src/components/common/src/css/quasar.variables.scss b/src/components/common/src/css/quasar.variables.scss deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/components/test_FetchData.vue b/src/components/test_FetchData.vue new file mode 100644 index 000000000..c5ed293aa --- /dev/null +++ b/src/components/test_FetchData.vue @@ -0,0 +1,16 @@ +import { mount } from '@cypress/vue'; import FetchData from +'../../src/components/FetchData.vue'; import axios from 'axios'; import { ref } from +'vue'; // Mock axios jest.mock('axios'); describe('FetchData Component', () => { +it('fetches data on mount when autoLoad is true', () => { const mockData = { data: [{ id: +1, name: 'Test' }] }; axios.get.mockResolvedValue(mockData); const onFetch = +cy.spy().as('onFetch'); mount(FetchData, { props: { autoLoad: true, url: +'https://api.example.com/data', }, attrs: { onFetch, }, }); +cy.get('@onFetch').should('have.been.calledWith', mockData.data); }); it('does not fetch +data on mount when autoLoad is false', () => { const onFetch = cy.spy().as('onFetch'); +mount(FetchData, { props: { autoLoad: false, url: 'https://api.example.com/data', }, +attrs: { onFetch, }, }); cy.get('@onFetch').should('not.have.been.called'); }); +it('fetches data when fetch method is called', () => { const mockData = { data: [{ id: 1, +name: 'Test' }] }; axios.get.mockResolvedValue(mockData); const onFetch = +cy.spy().as('onFetch'); const wrapper = mount(FetchData, { props: { autoLoad: false, url: +'https://api.example.com/data', }, attrs: { onFetch, }, }); wrapper.vm.fetch(); +cy.get('@onFetch').should('have.been.calledWith', mockData.data); }); }); diff --git a/test/cypress/components/FormModel.spec.js b/test/cypress/components/FormModel.spec.js index 22cf8ab82..1a7ee6b58 100644 --- a/test/cypress/components/FormModel.spec.js +++ b/test/cypress/components/FormModel.spec.js @@ -1,16 +1,15 @@ import { Notify } from 'quasar'; import FormModel from 'src/components/FormModel.vue'; -// import useNotify from 'src/composables/useNotify'; import { useState } from 'src/composables/useState'; import { useStateStore } from 'src/stores/useStateStore'; -describe('', () => { +describe.skip('', () => { let piniaOptions = null; let saveSpy, notifySpy, component, wrapper; beforeEach(() => { piniaOptions = { stubActions: false, - createSpy: cy.spy, // Use Cypress spy function + createSpy: cy.spy, }; const state = useState(); const stateStore = useStateStore(); @@ -82,61 +81,4 @@ describe('', () => { expect(args.message).not.to.equal('No changes to save'); }); }); - /* - it('should display the confirmation dialog on route leave with unsaved changes', () => { - // Simulate form change - cy.get('#formModel').then((form) => { - form[0].__vue__.formData.name = 'Changed'; - }); - - // Attempt to navigate away - cy.get('.q-dialog').should('be.visible'); - cy.get('.q-dialog .q-dialog__title').should( - 'contain', - 'globals.unsavedPopup.title' - ); - }); - - it('should call save method on form submit', async () => { - const saveSpy = cy.spy(formModel.value, 'save'); - await formModel.value.$refs.myForm.trigger('submit'); - expect(saveSpy).to.have.been.called; - }); - - it('should reset the form data', async () => { - formModel.value.formData.name = 'Changed'; - await formModel.value.reset(); - expect(formModel.value.formData.name).toBe('Test'); - }); - - it('should show loading indicator when saving', async () => { - formModel.value.isLoading = true; - await nextTick(); - expect(wrapper.findComponent({ name: 'QInnerLoading' }).props('showing')).toBe(true); - }); - - it('should render form slot content', () => { - expect(wrapper.find('input').exists()).toBe(true); - }); - - it('should update form data through slot inputs', async () => { - const nameInput = wrapper.find('input[type="text"]'); - const ageInput = wrapper.find('input[type="number"]'); - - await nameInput.setValue('Updated Name'); - await ageInput.setValue(25); - - expect(formModel.value.formData.name).toBe('Updated Name'); - expect(formModel.value.formData.age).toBe(25); - }); - - it('should render moreActions slot content', () => { - expect(wrapper.find('button').exists()).toBe(true); - }); - - it('should call custom action on button click', async () => { - const customActionSpy = cy.spy(formModel.value, 'customAction'); - await wrapper.find('button').trigger('click'); - expect(customActionSpy).to.have.been.called; - });*/ }); diff --git a/test/cypress/support/component.js b/test/cypress/support/component.js index 6def6fb64..292d50fe4 100644 --- a/test/cypress/support/component.js +++ b/test/cypress/support/component.js @@ -2,36 +2,20 @@ import { installQuasarPlugin } from '@quasar/quasar-app-extension-testing-e2e-cy import { createTestingPinia } from '@pinia/testing'; import { mount } from 'cypress/vue'; import { i18n } from 'src/boot/i18n'; -import { Quasar } from 'quasar'; -import { createPinia } from 'pinia'; -const pinia = createTestingPinia({ createSpy: () => {}, stubActions: false }); +import { createPinia, setActivePinia } from 'pinia'; import axios from 'axios'; +import 'quasar/dist/quasar.css'; +import { createRouter, createMemoryHistory } from 'vue-router'; +import { useArrayDataStore } from 'src/stores/useArrayDataStore'; +import { createWebHistory } from 'vue-router'; +import { Quasar, Dialog, Notify } from 'quasar'; + installQuasarPlugin({ plugins: { Dialog, Notify } }); -// setActivePinia(pinia); -// // Run this code before each *test*. -// beforeEach(() => { -// // New Pinia -// pinia = createPinia(); -// console.log(pinia); -// // Set current Pinia instance -// setActivePinia(pinia); -// }); - -// Crear un comando personalizado para montar componentes con Pinia -// Cypress.Commands.add('mountWithPinia', (component, options = {}) => { -// const pinia = createPinia(); -// options.global = options.global || {}; -// options.global.plugins = [Quasar, createPinia()]; // Incluye Quasar y Pinia -// return mount(component, options); -// }); - -// Registrar Quasar y sus componentes - -setActivePinia(createPinia()); // Ensure Pinia is active +setActivePinia(createPinia()); axios.defaults.baseURL = Cypress.env('baseUrl'); + Cypress.Commands.add('mount', (component, options = {}) => { const pinia = createTestingPinia(options.piniaOptions); - const components = options.global?.components || {}; const router = createRouter({ history: createWebHistory(), routes: [], @@ -42,7 +26,7 @@ Cypress.Commands.add('mount', (component, options = {}) => { t: (tKey) => tKey, $t: (tKey) => tKey, - $axios: axios, // Añadir axios como un mock global + $axios: axios, }, plugins: [ Quasar, @@ -51,7 +35,7 @@ Cypress.Commands.add('mount', (component, options = {}) => { app.use(i18n); app.use(pinia); }, - ], // Añade Quasar y Pinia como plugins globales + ], }, }; const mountOptions = Object.assign({}, defaultOptions, options); @@ -61,17 +45,6 @@ Cypress.Commands.add('mount', (component, options = {}) => { } return mount(component, mountOptions); - - // options.global.plugins.push({ - // install(app) { - // app.use(i18n); - // app.use(router); - // // app.use(arrayDataStore); - // }, - // }); - // const wrapper = mount(component, mountOptions); - // const { vm } = wrapper; - // return wrapper; }); function createWrapper(component, options = {}) { const defaultOptions = { @@ -102,7 +75,6 @@ function createWrapper(component, options = {}) { $t: (tKey) => tKey, }, }; - const arrayDataStore = useArrayDataStore(); const mountOptions = Object.assign({}, defaultOptions); options.global = options?.global || {}; options.global.plugins = options.global?.plugins || []; @@ -116,7 +88,6 @@ function createWrapper(component, options = {}) { mountOptions.global.plugins = defaultOptions.global.plugins; } } - // create router if one is not provided if (!options.router) { options.router = createRouter({ routes: [], @@ -127,7 +98,6 @@ function createWrapper(component, options = {}) { install(app) { app.use(i18n); app.use(options.router); - // app.use(arrayDataStore); }, }); @@ -136,13 +106,6 @@ function createWrapper(component, options = {}) { return wrapper; } -// declare global { -// namespace Cypress { -// interface Chainable { -// createWrapper: typeof createWrapper; -// } -// } -// } Cypress.Commands.add('createWrapper', createWrapper); @@ -159,18 +122,12 @@ Cypress.Commands.add('_vnMount', (component, options = {}) => { // options.global.components = options.global.components || {}; options.global.plugins = options.global.plugins || []; - // Use store passed in from options, or initialize a new one - // const { /* store = getStore(), */ ...mountOptions } = options; - - // Add plugins here options.global.plugins.push({ install(app) { app.use(i18n); }, }); - // Spy para capturar el evento onFetch - // Agregar el spy a los atributos del componente const finalOptions = { ...globalConfig, ...options, @@ -183,17 +140,11 @@ Cypress.Commands.add('_vnMount', (component, options = {}) => { const cmp = mount(component, finalOptions); return cmp; }); -import 'quasar/dist/quasar.css'; -import { createRouter } from 'vue-router'; -import { createMemoryHistory } from 'vue-router'; -import { setActivePinia } from 'pinia'; -import { useArrayDataStore } from 'src/stores/useArrayDataStore'; -import { createWebHistory } from 'vue-router'; -import { Dialog } from 'quasar'; -import { Notify } from 'quasar'; + Cypress.Commands.add('vue', () => { return cy.wrap(Cypress.vueWrapper); }); + Cypress.Commands.add('_mount', (component, options) => { // Wrap any parent components needed // ie: return mount({component}, options) @@ -206,11 +157,9 @@ Cypress.Commands.add('_mount', (component, options) => { }); Cypress.Commands.add('login', (user) => { - //cy.visit('/#/login'); cy.request({ method: 'POST', - url: 'http://localhost:9000/api/accounts/login', - + url: 'api/accounts/login', body: { user: user, password: 'nightmare', @@ -219,7 +168,7 @@ Cypress.Commands.add('login', (user) => { window.localStorage.setItem('token', response.body.token); cy.request({ method: 'GET', - url: 'http://localhost:9000/api/VnUsers/ShareToken', + url: 'api/VnUsers/ShareToken', headers: { Authorization: window.localStorage.getItem('token'), }, @@ -229,7 +178,6 @@ Cypress.Commands.add('login', (user) => { }); }); -// Define el comando personalizado Cypress.Commands.add('stubUseArrayDataStore', (stubData = {}) => { const arrayDataStore = useArrayDataStore(); if (arrayDataStore.get.restore) { -- 2.40.1 From 215746036e6661d09d650de08ecfea3244c744f5 Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Sun, 20 Oct 2024 02:00:49 +0200 Subject: [PATCH 21/28] feat: refs #7220 ok FormModel --- test/cypress/components/FormModel.spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/cypress/components/FormModel.spec.js b/test/cypress/components/FormModel.spec.js index 1a7ee6b58..7375be68b 100644 --- a/test/cypress/components/FormModel.spec.js +++ b/test/cypress/components/FormModel.spec.js @@ -3,7 +3,7 @@ import FormModel from 'src/components/FormModel.vue'; import { useState } from 'src/composables/useState'; import { useStateStore } from 'src/stores/useStateStore'; -describe.skip('', () => { +describe('', () => { let piniaOptions = null; let saveSpy, notifySpy, component, wrapper; beforeEach(() => { -- 2.40.1 From f57d3cf84b3791e5573012b00b9c976c9c15d654 Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Sun, 20 Oct 2024 02:02:16 +0200 Subject: [PATCH 22/28] perf: refs #7220 package scripts --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 866c00170..67120a81b 100644 --- a/package.json +++ b/package.json @@ -10,8 +10,8 @@ "lint": "eslint --ext .js,.vue ./", "format": "prettier --write \"**/*.{js,vue,scss,html,md,json}\" --ignore-path .gitignore", "test:e2e": "cypress open", - "test:e2e:unit": "cypress run --component", - "test:e2e:unit:ci": "cypress run -p 9000 --component", + "test:e2e:unit": "cypress open --component", + "test:e2e:unit:ci": "cypress run --component", "test:e2e:ci": "cd ../salix && gulp docker && cd ../salix-front && cypress run", "test": "echo \"See package.json => scripts for available tests.\" && exit 0", "test:unit": "vitest", -- 2.40.1 From 193c768625a11b67b0a7d62aa39258837bdfd16b Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Wed, 30 Oct 2024 10:17:15 +0100 Subject: [PATCH 23/28] feat: refs #7220 #7720 add reference on top --- test/cypress/components/CrudModel.spec.js | 1 + test/cypress/components/EditPictureForm.spec.js | 1 + test/cypress/components/EditTableCellValueForm.spec.js | 1 + test/cypress/components/FetchData.spec.js | 1 + test/cypress/components/FilterItemForm.spec.js | 1 + test/cypress/components/FilterTravelForm.spec.js | 1 + test/cypress/components/FormModel.spec.js | 1 + test/cypress/components/FormModelPopup.spec.js | 1 + test/cypress/components/LeftMenu.spec.js | 1 + test/cypress/components/LeftMenuItem.spec.js | 1 + test/cypress/components/LeftMenuItemGroup.spec.js | 1 + test/cypress/components/NavBar.spec.js | 1 + 12 files changed, 12 insertions(+) diff --git a/test/cypress/components/CrudModel.spec.js b/test/cypress/components/CrudModel.spec.js index a2a6dc14c..e1581b19e 100644 --- a/test/cypress/components/CrudModel.spec.js +++ b/test/cypress/components/CrudModel.spec.js @@ -1,3 +1,4 @@ +/// import CrudModel from 'src/components/CrudModel.vue'; describe.skip('', () => { diff --git a/test/cypress/components/EditPictureForm.spec.js b/test/cypress/components/EditPictureForm.spec.js index c2f73f3a4..25d0e60a6 100644 --- a/test/cypress/components/EditPictureForm.spec.js +++ b/test/cypress/components/EditPictureForm.spec.js @@ -1,3 +1,4 @@ +/// import EditPictureForm from 'src/components/EditPictureForm.vue'; describe.skip('', () => { diff --git a/test/cypress/components/EditTableCellValueForm.spec.js b/test/cypress/components/EditTableCellValueForm.spec.js index 602278f84..39e0cf407 100644 --- a/test/cypress/components/EditTableCellValueForm.spec.js +++ b/test/cypress/components/EditTableCellValueForm.spec.js @@ -1,3 +1,4 @@ +/// import EditTableCellValueForm from 'src/components/EditTableCellValueForm.vue'; describe.skip('', () => { diff --git a/test/cypress/components/FetchData.spec.js b/test/cypress/components/FetchData.spec.js index de22cb886..1ff9380a4 100644 --- a/test/cypress/components/FetchData.spec.js +++ b/test/cypress/components/FetchData.spec.js @@ -1,3 +1,4 @@ +/// import axios from 'axios'; import FetchData from 'src/components/FetchData.vue'; diff --git a/test/cypress/components/FilterItemForm.spec.js b/test/cypress/components/FilterItemForm.spec.js index 1a4976eb2..d787ea808 100644 --- a/test/cypress/components/FilterItemForm.spec.js +++ b/test/cypress/components/FilterItemForm.spec.js @@ -1,3 +1,4 @@ +/// import FilterItemForm from 'src/components/FilterItemForm.vue'; describe.skip('', () => { diff --git a/test/cypress/components/FilterTravelForm.spec.js b/test/cypress/components/FilterTravelForm.spec.js index 110e1d5ea..0e473a154 100644 --- a/test/cypress/components/FilterTravelForm.spec.js +++ b/test/cypress/components/FilterTravelForm.spec.js @@ -1,3 +1,4 @@ +/// import FilterTravelForm from 'src/components/FilterTravelForm.vue'; describe.skip('', () => { diff --git a/test/cypress/components/FormModel.spec.js b/test/cypress/components/FormModel.spec.js index 7375be68b..2f25ad5f5 100644 --- a/test/cypress/components/FormModel.spec.js +++ b/test/cypress/components/FormModel.spec.js @@ -1,3 +1,4 @@ +/// import { Notify } from 'quasar'; import FormModel from 'src/components/FormModel.vue'; import { useState } from 'src/composables/useState'; diff --git a/test/cypress/components/FormModelPopup.spec.js b/test/cypress/components/FormModelPopup.spec.js index a2a5ab572..ea80ca12d 100644 --- a/test/cypress/components/FormModelPopup.spec.js +++ b/test/cypress/components/FormModelPopup.spec.js @@ -1,3 +1,4 @@ +/// import FormModelPopup from 'src/components/FormModelPopup.vue'; describe.skip('', () => { diff --git a/test/cypress/components/LeftMenu.spec.js b/test/cypress/components/LeftMenu.spec.js index ee13c09a6..bc18d9fef 100644 --- a/test/cypress/components/LeftMenu.spec.js +++ b/test/cypress/components/LeftMenu.spec.js @@ -1,3 +1,4 @@ +/// import LeftMenu from 'src/components/LeftMenu.vue'; describe.skip('', () => { diff --git a/test/cypress/components/LeftMenuItem.spec.js b/test/cypress/components/LeftMenuItem.spec.js index 6355548f9..ee53ed5e7 100644 --- a/test/cypress/components/LeftMenuItem.spec.js +++ b/test/cypress/components/LeftMenuItem.spec.js @@ -1,3 +1,4 @@ +/// import LeftMenuItem from 'src/components/LeftMenuItem.vue'; describe.skip('', () => { diff --git a/test/cypress/components/LeftMenuItemGroup.spec.js b/test/cypress/components/LeftMenuItemGroup.spec.js index 28393f20f..3fac250da 100644 --- a/test/cypress/components/LeftMenuItemGroup.spec.js +++ b/test/cypress/components/LeftMenuItemGroup.spec.js @@ -1,3 +1,4 @@ +/// import LeftMenuItemGroup from 'src/components/LeftMenuItemGroup.vue'; describe.skip('', () => { diff --git a/test/cypress/components/NavBar.spec.js b/test/cypress/components/NavBar.spec.js index 38ad6b95e..7645e338b 100644 --- a/test/cypress/components/NavBar.spec.js +++ b/test/cypress/components/NavBar.spec.js @@ -1,3 +1,4 @@ +/// import NavBar from 'src/components/NavBar.vue'; describe.skip('', () => { -- 2.40.1 From fc50023a0b6e2ca6db7fce1999e1722dd9c87a91 Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Thu, 7 Nov 2024 07:49:00 +0100 Subject: [PATCH 24/28] feat: refs #7220 #7720 add reference on top --- cypress.config.js | 6 +- package.json | 4 +- pnpm-lock.yaml | 2493 ++++++++++++++++- src/components/CreateNewPostcodeForm.vue | 6 +- src/components/VnSelectProvince.vue | 8 +- src/components/common/VnInput.vue | 36 +- src/components/common/VnLocation.vue | 2 +- src/components/ui/VnLv.vue | 3 +- src/pages/Claim/Card/ClaimLines.vue | 6 +- .../components/CustomerAddressCreate.vue | 7 +- src/pages/Entry/EntryLatestBuys.vue | 2 +- src/pages/Entry/EntryWasteRecalc.vue | 2 +- .../InvoiceOut/InvoiceOutNegativeBases.vue | 2 +- src/pages/Route/RouteExtendedList.vue | 4 +- .../Supplier/Card/SupplierFiscalData.vue | 1 + .../Ticket/Card/TicketDescriptorMenu.vue | 6 +- src/pages/Travel/TravelFilter.vue | 6 +- src/pages/Worker/Card/WorkerOperator.vue | 6 +- .../components/CreateBankEntityForm.spec.js | 1 + .../CreateManualInvoiceForm.spec.js | 1 + .../components/CreateNewCityForm.spec.js | 1 + .../components/CreateNewExpenseForm.spec.js | 1 + .../components/CreateNewPostcodeForm.spec.js | 1 + .../components/CreateNewProvinceForm.spec.js | 1 + .../components/CreateThermographForm.spec.js | 1 + test/cypress/components/FormPopup.spec.js | 1 + .../components/ItemsFilterPanel.spec.js | 1 + test/cypress/components/PinnedModules.spec.js | 1 + .../components/RefundInvoiceForm.spec.js | 1 + .../components/RegularizeStockForm.spec.js | 1 + .../components/TransferInvoiceForm.spec.js | 1 + test/cypress/components/UserPanel.spec.js | 1 + .../components/common/RightMenu.spec.js | 1 + .../components/common/SendEmailDialog.spec.js | 1 + .../components/common/SendSmsDialog.spec.js | 1 + .../common/TableVisibleColumns.spec.js | 1 + .../components/common/VnAccountNumber.spec.js | 1 + .../components/common/VnBreadcrumbs.spec.js | 1 + test/cypress/components/common/VnCard.spec.js | 1 + .../components/common/VnComponent.spec.js | 1 + test/cypress/components/common/VnDms.spec.js | 1 + .../components/common/VnDmsList.spec.js | 1 + .../cypress/components/common/VnInput.spec.js | 1 + .../components/common/VnInputDate.spec.js | 1 + .../components/common/VnInputNumber.spec.js | 1 + .../components/common/VnInputTime.spec.js | 1 + .../components/common/VnJsonValue.spec.js | 55 +- .../components/common/VnLocation.spec.js | 80 +- test/cypress/components/common/VnLog.spec.js | 82 +- .../components/common/VnLogFilter.spec.js | 1 + .../cypress/components/common/VnPopup.spec.js | 1 + .../components/common/VnProgressModal.spec.js | 1 + .../cypress/components/common/VnRadio.spec.js | 1 + .../components/common/VnSectionMain.spec.js | 1 + .../components/common/VnSelect.spec.js | 1 + .../components/common/VnSelectCache.spec.js | 1 + .../components/common/VnSelectDialog.spec.js | 1 + .../components/common/VnSelectEnum.spec.js | 1 + .../components/common/VnSmsDialog.spec.js | 1 + .../components/common/VnSummaryDialog.spec.js | 1 + .../cypress/components/common/VnTitle.spec.js | 24 +- .../components/common/VnWeekdayPicker.spec.js | 1 + .../components/common/vnDiscount.spec.js | 1 + .../components/ui/CardDescriptor.spec.js | 1 + test/cypress/components/ui/CardList.spec.js | 1 + .../cypress/components/ui/CardSummary.spec.js | 1 + .../cypress/components/ui/CatalogItem.spec.js | 1 + .../cypress/components/ui/FetchedTags.spec.js | 66 +- .../ui/QCalendarMonthWrapper.spec.js | 1 + .../components/ui/SkeletonDescriptor.spec.js | 1 + .../components/ui/SkeletonForm.spec.js | 1 + .../components/ui/SkeletonSummary.spec.js | 1 + .../components/ui/SkeletonTable.spec.js | 1 + test/cypress/components/ui/VnAvatar.spec.js | 66 +- test/cypress/components/ui/VnConfirm.spec.js | 1 + .../components/ui/VnFilterPanel.spec.js | 1 + .../components/ui/VnFilterPanelChip.spec.js | 1 + test/cypress/components/ui/VnImg.spec.js | 1 + .../cypress/components/ui/VnLinkPhone.spec.js | 1 + test/cypress/components/ui/VnLogo.spec.js | 32 +- test/cypress/components/ui/VnLv.spec.js | 72 +- test/cypress/components/ui/VnNotes.spec.js | 1 + test/cypress/components/ui/VnOutForm.spec.js | 1 + test/cypress/components/ui/VnPaginate.spec.js | 1 + test/cypress/components/ui/VnRow.spec.js | 1 + .../cypress/components/ui/VnSearchbar.spec.js | 1 + test/cypress/components/ui/VnSms.spec.js | 1 + .../components/ui/VnSubToolbar.spec.js | 1 + test/cypress/components/ui/VnUserLink.spec.js | 1 + test/cypress/support/component.js | 12 +- test/cypress/support/index.js | 5 + test/cypress/support/unit.js | 4 +- .../components/common/VnLocation.spec.js | 132 + vitest.config.js | 1 + 94 files changed, 3132 insertions(+), 162 deletions(-) create mode 100644 test/vitest/__tests__/components/common/VnLocation.spec.js diff --git a/cypress.config.js b/cypress.config.js index f629c5b28..cc574884e 100644 --- a/cypress.config.js +++ b/cypress.config.js @@ -1,7 +1,7 @@ const { defineConfig } = require('cypress'); -const { - injectQuasarDevServerConfig, -} = require('@quasar/quasar-app-extension-testing-e2e-cypress/cct-dev-server'); +// const { +// injectQuasarDevServerConfig, +// } = require('@quasar/quasar-app-extension-testing-e2e-cypress/cct-dev-server'); module.exports = defineConfig({ env: { diff --git a/package.json b/package.json index 67120a81b..c5afbd121 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@quasar/quasar-app-extension-qcalendar": "4.0.0-beta.15", "@quasar/quasar-app-extension-testing-e2e-cypress": "^6.1.0", "@quasar/quasar-app-extension-testing-unit-vitest": "^0.4.0", - "@vitest/ui": "^1.6.0", + "@vitest/ui": "^2.1.4", "@vue/test-utils": "^2.4.4", "autoprefixer": "^10.4.14", "cypress": "^13.6.6", @@ -55,7 +55,7 @@ "husky": "^8.0.0", "postcss": "^8.4.23", "prettier": "^2.8.8", - "vitest": "^0.31.1" + "vitest": "^0.31.4" }, "engines": { "node": "^20 || ^18 || ^16", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dbf998992..f4fecee8f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -61,12 +61,15 @@ devDependencies: '@quasar/quasar-app-extension-qcalendar': specifier: 4.0.0-beta.15 version: 4.0.0-beta.15 + '@quasar/quasar-app-extension-testing-e2e-cypress': + specifier: ^6.1.0 + version: 6.1.0(@babel/core@7.26.0)(@babel/preset-env@7.26.0)(babel-loader@9.2.1)(cypress@13.6.6)(eslint-plugin-cypress@2.15.1)(vite@4.5.2)(webpack@5.95.0) '@quasar/quasar-app-extension-testing-unit-vitest': specifier: ^0.4.0 - version: 0.4.0(@vitest/ui@1.6.0)(@vue/test-utils@2.4.4)(quasar@2.14.5)(typescript@5.6.2)(vite@4.5.2)(vitest@0.31.4)(vue@3.4.19) + version: 0.4.0(@vitest/ui@2.1.4)(@vue/test-utils@2.4.4)(quasar@2.14.5)(typescript@5.6.2)(vite@4.5.2)(vitest@0.31.4)(vue@3.4.19) '@vitest/ui': - specifier: ^1.6.0 - version: 1.6.0(vitest@0.31.4) + specifier: ^2.1.4 + version: 2.1.4(vitest@0.31.4) '@vue/test-utils': specifier: ^2.4.4 version: 2.4.4(vue@3.4.19) @@ -98,8 +101,8 @@ devDependencies: specifier: ^2.8.8 version: 2.8.8 vitest: - specifier: ^0.31.1 - version: 0.31.4(@vitest/ui@1.6.0) + specifier: ^0.31.4 + version: 0.31.4(@vitest/ui@2.1.4) packages: @@ -108,6 +111,14 @@ packages: engines: {node: '>=0.10.0'} dev: true + /@ampproject/remapping@2.3.0: + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + /@babel/code-frame@7.24.7: resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} @@ -116,10 +127,230 @@ packages: picocolors: 1.0.0 dev: true + /@babel/code-frame@7.26.0: + resolution: {integrity: sha512-INCKxTtbXtcNbUZ3YXutwMpEleqttcswhAdee7dhuoVrD2cnuc3PqtERBtxkX5nziX9vnBL8WXmSGwv8CuPV6g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.0.0 + dev: true + + /@babel/compat-data@7.26.0: + resolution: {integrity: sha512-qETICbZSLe7uXv9VE8T/RWOdIE5qqyTucOt4zLYMafj2MRO271VGgLd4RACJMeBO37UPWhXiKMBk7YlJ0fOzQA==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/core@7.26.0: + resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.26.0 + '@babel/generator': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helpers': 7.26.0 + '@babel/parser': 7.26.1 + '@babel/template': 7.25.9 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + convert-source-map: 2.0.0 + debug: 4.3.4(supports-color@8.1.1) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/generator@7.26.0: + resolution: {integrity: sha512-/AIkAmInnWwgEAJGQr9vY0c66Mj6kjkE2ZPB1PurTRaRAh3U+J45sAQMjQDJdh4WbR3l0x5xkimXBKyBXXAu2w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/parser': 7.26.1 + '@babel/types': 7.26.0 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 3.0.2 + dev: true + + /@babel/helper-annotate-as-pure@7.25.9: + resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.26.0 + dev: true + + /@babel/helper-builder-binary-assignment-operator-visitor@7.25.9: + resolution: {integrity: sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-compilation-targets@7.25.9: + resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.26.0 + '@babel/helper-validator-option': 7.25.9 + browserslist: 4.24.2 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: true + + /@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-member-expression-to-functions': 7.25.9 + '@babel/helper-optimise-call-expression': 7.25.9 + '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/traverse': 7.25.9 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-create-regexp-features-plugin@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + regexpu-core: 6.1.1 + semver: 6.3.1 + dev: true + + /@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.26.0): + resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + debug: 4.3.4(supports-color@8.1.1) + lodash.debounce: 4.0.8 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-member-expression-to-functions@7.25.9: + resolution: {integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-module-imports@7.25.9: + resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0): + resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-optimise-call-expression@7.25.9: + resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.26.0 + dev: true + + /@babel/helper-plugin-utils@7.25.9: + resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-wrap-function': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-replace-supers@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-member-expression-to-functions': 7.25.9 + '@babel/helper-optimise-call-expression': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-simple-access@7.25.9: + resolution: {integrity: sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-skip-transparent-expression-wrappers@7.25.9: + resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/helper-string-parser@7.23.4: resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} engines: {node: '>=6.9.0'} + /@babel/helper-string-parser@7.25.9: + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helper-validator-identifier@7.22.20: resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} @@ -129,6 +360,35 @@ packages: engines: {node: '>=6.9.0'} dev: true + /@babel/helper-validator-identifier@7.25.9: + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-option@7.25.9: + resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-wrap-function@7.25.9: + resolution: {integrity: sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.25.9 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helpers@7.26.0: + resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.25.9 + '@babel/types': 7.26.0 + dev: true + /@babel/highlight@7.24.7: resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} @@ -146,6 +406,809 @@ packages: dependencies: '@babel/types': 7.23.9 + /@babel/parser@7.26.1: + resolution: {integrity: sha512-reoQYNiAJreZNsJzyrDNzFQ+IQ5JFiIzAHJg9bn94S3l+4++J7RsIhNMoB+lgP/9tpmiAQqspv+xfdxTSzREOw==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.26.0 + dev: true + + /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0): + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + dev: true + + /@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.26.0): + resolution: {integrity: sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.0): + resolution: {integrity: sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.0): + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-async-generator-functions@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-async-to-generator@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-block-scoped-functions@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.26.0): + resolution: {integrity: sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-classes@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) + '@babel/traverse': 7.25.9 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/template': 7.25.9 + dev: true + + /@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-exponentiation-operator@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-for-of@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-function-name@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-literals@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-commonjs@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-simple-access': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-systemjs@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-umd@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-new-target@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-nullish-coalescing-operator@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) + dev: true + + /@babel/plugin-transform-object-super@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-parameters@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-private-property-in-object@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + regenerator-transform: 0.15.2 + dev: true + + /@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.26.0): + resolution: {integrity: sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-spread@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-template-literals@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-typeof-symbol@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.26.0): + resolution: {integrity: sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + dev: true + + /@babel/preset-env@7.26.0(@babel/core@7.26.0): + resolution: {integrity: sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.26.0 + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-option': 7.25.9 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0) + '@babel/plugin-syntax-import-assertions': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.26.0) + '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-async-generator-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-block-scoped-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-dotall-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-exponentiation-operator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-for-of': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-commonjs': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-new-target': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-nullish-coalescing-operator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-object-super': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-property-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-regexp-modifiers': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-transform-reserved-words': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-template-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-typeof-symbol': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.26.0) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.26.0) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.26.0) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.0) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.26.0) + core-js-compat: 3.38.1 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.26.0): + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/types': 7.23.9 + esutils: 2.0.3 + dev: true + + /@babel/runtime@7.26.0: + resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.1 + dev: true + + /@babel/template@7.25.9: + resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.26.0 + '@babel/parser': 7.26.1 + '@babel/types': 7.26.0 + dev: true + + /@babel/traverse@7.25.9: + resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.26.0 + '@babel/generator': 7.26.0 + '@babel/parser': 7.26.1 + '@babel/template': 7.25.9 + '@babel/types': 7.26.0 + debug: 4.3.4(supports-color@8.1.1) + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/types@7.23.9: resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==} engines: {node: '>=6.9.0'} @@ -154,6 +1217,14 @@ packages: '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 + /@babel/types@7.26.0: + resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + dev: true + /@colors/colors@1.5.0: resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} @@ -171,7 +1242,7 @@ packages: '@commitlint/load': 19.5.0(@types/node@20.11.19)(typescript@5.6.2) '@commitlint/read': 19.5.0 '@commitlint/types': 19.5.0 - tinyexec: 0.3.0 + tinyexec: 0.3.1 yargs: 17.7.2 transitivePeerDependencies: - '@types/node' @@ -278,7 +1349,7 @@ packages: '@commitlint/types': 19.5.0 git-raw-commits: 4.0.0 minimist: 1.2.8 - tinyexec: 0.3.0 + tinyexec: 0.3.1 dev: true /@commitlint/resolve-extends@19.5.0: @@ -327,6 +1398,33 @@ packages: resolution: {integrity: sha512-RpfLEtTlyIxeNPGKcokS+p3BZII/Q3bYxryFRglh5H3A3T8q9fsLYm72VYAMEOOIBLEa8o93kFLiBDUWKrwXZA==} dev: true + /@cypress/code-coverage@3.13.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0)(babel-loader@9.2.1)(cypress@13.6.6)(webpack@5.95.0): + resolution: {integrity: sha512-lnzHWnYgSk/MQRgKJOWg5QKbMgUerz+wvYuf2RzsHfDLFez9CLj4fZOSymJ/QkotfSDgLrerfGASLwHm4OH3qg==} + peerDependencies: + '@babel/core': ^7.0.1 + '@babel/preset-env': ^7.0.0 + babel-loader: ^8.3 || ^9 + cypress: '*' + webpack: ^4 || ^5 + dependencies: + '@babel/core': 7.26.0 + '@babel/preset-env': 7.26.0(@babel/core@7.26.0) + '@cypress/webpack-preprocessor': 6.0.2(@babel/core@7.26.0)(@babel/preset-env@7.26.0)(babel-loader@9.2.1)(webpack@5.95.0) + babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.95.0) + chalk: 4.1.2 + cypress: 13.6.6 + dayjs: 1.11.13 + debug: 4.3.7 + execa: 4.1.0 + globby: 11.1.0 + istanbul-lib-coverage: 3.2.2 + js-yaml: 4.1.0 + nyc: 15.1.0 + webpack: 5.95.0 + transitivePeerDependencies: + - supports-color + dev: true + /@cypress/request@3.0.1: resolution: {integrity: sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==} engines: {node: '>= 6'} @@ -351,6 +1449,25 @@ packages: uuid: 8.3.2 dev: true + /@cypress/webpack-preprocessor@6.0.2(@babel/core@7.26.0)(@babel/preset-env@7.26.0)(babel-loader@9.2.1)(webpack@5.95.0): + resolution: {integrity: sha512-0+1+4iy4W9PE6R5ywBNKAZoFp8Sf//w3UJ+CKTqkcAjA29b+dtsD0iFT70DsYE0BMqUM1PO7HXFGbXllQ+bRAA==} + peerDependencies: + '@babel/core': ^7.0.1 + '@babel/preset-env': ^7.0.0 + babel-loader: ^8.3 || ^9 + webpack: ^4 || ^5 + dependencies: + '@babel/core': 7.26.0 + '@babel/preset-env': 7.26.0(@babel/core@7.26.0) + babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.95.0) + bluebird: 3.7.1 + debug: 4.3.7 + lodash: 4.17.21 + webpack: 5.95.0 + transitivePeerDependencies: + - supports-color + dev: true + /@cypress/xvfb@1.2.4(supports-color@8.1.1): resolution: {integrity: sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==} dependencies: @@ -573,6 +1690,16 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true + /@hapi/hoek@9.3.0: + resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} + dev: true + + /@hapi/topo@5.1.0: + resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + dependencies: + '@hapi/hoek': 9.3.0 + dev: true + /@humanwhocodes/config-array@0.11.14: resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} @@ -688,11 +1815,20 @@ packages: wrap-ansi-cjs: /wrap-ansi@7.0.0 dev: true - /@jest/schemas@29.6.3: - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /@istanbuljs/load-nyc-config@1.1.0: + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} dependencies: - '@sinclair/typebox': 0.27.8 + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + dev: true + + /@istanbuljs/schema@0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} dev: true /@jridgewell/gen-mapping@0.3.3: @@ -704,6 +1840,15 @@ packages: '@jridgewell/trace-mapping': 0.3.22 dev: true + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + /@jridgewell/resolve-uri@3.1.2: resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} @@ -714,6 +1859,18 @@ packages: engines: {node: '>=6.0.0'} dev: true + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/source-map@0.3.6: + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} @@ -724,6 +1881,13 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: true + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + /@modyfi/vite-plugin-yaml@1.0.4(vite@4.5.2): resolution: {integrity: sha512-qkT0KiR3AQQRfUvDzLv4+1rYAzXj+QmGhAbyUd0Ordf9xynK76i758lk5GiEfxuQxbvdqDaJ9oXkH/KacbSjQQ==} peerDependencies: @@ -802,8 +1966,8 @@ packages: config-chain: 1.1.13 dev: false - /@polka/url@1.0.0-next.25: - resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} + /@polka/url@1.0.0-next.28: + resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} dev: true /@quasar/app-vite@1.7.3(eslint@8.56.0)(pinia@2.1.7)(quasar@2.14.5)(vue-router@4.2.5)(vue@3.4.19): @@ -917,7 +2081,34 @@ packages: '@quasar/quasar-ui-qcalendar': 4.0.0-beta.19 dev: true - /@quasar/quasar-app-extension-testing-unit-vitest@0.4.0(@vitest/ui@1.6.0)(@vue/test-utils@2.4.4)(quasar@2.14.5)(typescript@5.6.2)(vite@4.5.2)(vitest@0.31.4)(vue@3.4.19): + /@quasar/quasar-app-extension-testing-e2e-cypress@6.1.0(@babel/core@7.26.0)(@babel/preset-env@7.26.0)(babel-loader@9.2.1)(cypress@13.6.6)(eslint-plugin-cypress@2.15.1)(vite@4.5.2)(webpack@5.95.0): + resolution: {integrity: sha512-Gbq9egeDEK/VLHLaXAMYBUlc1fGOpmtmPrM95UG+8ONyRWhm1876H5ax6M0q1s+MDmul3NX/tLXFWTp75zStGQ==} + engines: {node: ^30 || ^28 || ^26 || ^24 || ^22 || ^20 || ^18, npm: '>= 6.14.12', yarn: '>= 1.17.3'} + peerDependencies: + cypress: ^12.2.0 || ^13.2.0 + eslint-plugin-cypress: ^2.12.1 + peerDependenciesMeta: + eslint-plugin-cypress: + optional: true + dependencies: + '@cypress/code-coverage': 3.13.5(@babel/core@7.26.0)(@babel/preset-env@7.26.0)(babel-loader@9.2.1)(cypress@13.6.6)(webpack@5.95.0) + cross-env: 7.0.3 + cypress: 13.6.6 + eslint-plugin-cypress: 2.15.1(eslint@8.56.0) + lodash: 4.17.21 + nyc: 15.1.0 + start-server-and-test: 2.0.8 + vite-plugin-istanbul: 5.0.0(vite@4.5.2) + transitivePeerDependencies: + - '@babel/core' + - '@babel/preset-env' + - babel-loader + - supports-color + - vite + - webpack + dev: true + + /@quasar/quasar-app-extension-testing-unit-vitest@0.4.0(@vitest/ui@2.1.4)(@vue/test-utils@2.4.4)(quasar@2.14.5)(typescript@5.6.2)(vite@4.5.2)(vitest@0.31.4)(vue@3.4.19): resolution: {integrity: sha512-eyzdUdmZiCueNS+5nedjMmzdbpCetSrtdGIwW6KplW1dTzRbLiNvYUjpBOxQGmJCgEhWy9zuswJ7MZ/bTql24Q==} engines: {node: '>= 12.22.1', npm: '>= 6.14.12', yarn: '>= 1.17.3'} peerDependencies: @@ -930,14 +2121,14 @@ packages: '@vitest/ui': optional: true dependencies: - '@vitest/ui': 1.6.0(vitest@0.31.4) + '@vitest/ui': 2.1.4(vitest@0.31.4) '@vue/test-utils': 2.4.4(vue@3.4.19) happy-dom: 11.2.0 lodash-es: 4.17.21 quasar: 2.14.5 vite-jsconfig-paths: 2.0.1(vite@4.5.2) vite-tsconfig-paths: 4.3.1(typescript@5.6.2)(vite@4.5.2) - vitest: 0.31.4(@vitest/ui@1.6.0) + vitest: 0.31.4(@vitest/ui@2.1.4) vue: 3.4.19(typescript@5.6.2) transitivePeerDependencies: - supports-color @@ -1001,8 +2192,18 @@ packages: picomatch: 2.3.1 dev: false - /@sinclair/typebox@0.27.8: - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + /@sideway/address@4.1.5: + resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} + dependencies: + '@hapi/hoek': 9.3.0 + dev: true + + /@sideway/formula@3.0.1: + resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} + dev: true + + /@sideway/pinpoint@2.0.0: + resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} dev: true /@sindresorhus/is@4.6.0: @@ -1133,6 +2334,10 @@ packages: '@types/node': 20.11.19 dev: false + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + dev: true + /@types/json5@0.0.29: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: true @@ -1230,6 +2435,12 @@ packages: chai: 4.4.1 dev: true + /@vitest/pretty-format@2.1.4: + resolution: {integrity: sha512-L95zIAkEuTDbUX1IsjRl+vyBSLh3PwLLgKpghl37aCK9Jvw0iP+wKwIFhfjdUtA2myLgjrG6VU6JCFLv8q/3Ww==} + dependencies: + tinyrainbow: 1.2.0 + dev: true + /@vitest/runner@0.31.4: resolution: {integrity: sha512-Wgm6UER+gwq6zkyrm5/wbpXGF+g+UBB78asJlFkIOwyse0pz8lZoiC6SW5i4gPnls/zUcPLWS7Zog0LVepXnpg==} dependencies: @@ -1253,19 +2464,19 @@ packages: tinyspy: 2.2.1 dev: true - /@vitest/ui@1.6.0(vitest@0.31.4): - resolution: {integrity: sha512-k3Lyo+ONLOgylctiGovRKy7V4+dIN2yxstX3eY5cWFXH6WP+ooVX79YSyi0GagdTQzLmT43BF27T0s6dOIPBXA==} + /@vitest/ui@2.1.4(vitest@0.31.4): + resolution: {integrity: sha512-Zd9e5oU063c+j9N9XzGJagCLNvG71x/2tOme3Js4JEZKX55zsgxhJwUgLI8hkN6NjMLpdJO8d7nVUUuPGAA58Q==} peerDependencies: - vitest: 1.6.0 + vitest: 2.1.4 dependencies: - '@vitest/utils': 1.6.0 - fast-glob: 3.3.2 + '@vitest/utils': 2.1.4 fflate: 0.8.2 flatted: 3.3.1 pathe: 1.1.2 - picocolors: 1.0.0 - sirv: 2.0.4 - vitest: 0.31.4(@vitest/ui@1.6.0) + sirv: 3.0.0 + tinyglobby: 0.2.10 + tinyrainbow: 1.2.0 + vitest: 0.31.4(@vitest/ui@2.1.4) dev: true /@vitest/utils@0.31.4: @@ -1276,13 +2487,12 @@ packages: pretty-format: 27.5.1 dev: true - /@vitest/utils@1.6.0: - resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} + /@vitest/utils@2.1.4: + resolution: {integrity: sha512-MXDnZn0Awl2S86PSNIim5PWXgIAx8CIkzu35mBdSApUip6RFOGXBCf3YFyeEu8n1IHk4bWD46DeYFu9mQlFIRg==} dependencies: - diff-sequences: 29.6.3 - estree-walker: 3.0.3 - loupe: 2.3.7 - pretty-format: 29.7.0 + '@vitest/pretty-format': 2.1.4 + loupe: 3.1.2 + tinyrainbow: 1.2.0 dev: true /@vue/compiler-core@3.4.19: @@ -1366,6 +2576,120 @@ packages: vue-component-type-helpers: 1.8.27 dev: true + /@webassemblyjs/ast@1.12.1: + resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} + dependencies: + '@webassemblyjs/helper-numbers': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + dev: true + + /@webassemblyjs/floating-point-hex-parser@1.11.6: + resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} + dev: true + + /@webassemblyjs/helper-api-error@1.11.6: + resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} + dev: true + + /@webassemblyjs/helper-buffer@1.12.1: + resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} + dev: true + + /@webassemblyjs/helper-numbers@1.11.6: + resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.11.6 + '@webassemblyjs/helper-api-error': 1.11.6 + '@xtuc/long': 4.2.2 + dev: true + + /@webassemblyjs/helper-wasm-bytecode@1.11.6: + resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} + dev: true + + /@webassemblyjs/helper-wasm-section@1.12.1: + resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/wasm-gen': 1.12.1 + dev: true + + /@webassemblyjs/ieee754@1.11.6: + resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} + dependencies: + '@xtuc/ieee754': 1.2.0 + dev: true + + /@webassemblyjs/leb128@1.11.6: + resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} + dependencies: + '@xtuc/long': 4.2.2 + dev: true + + /@webassemblyjs/utf8@1.11.6: + resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} + dev: true + + /@webassemblyjs/wasm-edit@1.12.1: + resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/helper-wasm-section': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-opt': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + '@webassemblyjs/wast-printer': 1.12.1 + dev: true + + /@webassemblyjs/wasm-gen@1.12.1: + resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 + dev: true + + /@webassemblyjs/wasm-opt@1.12.1: + resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + dev: true + + /@webassemblyjs/wasm-parser@1.12.1: + resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-api-error': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 + dev: true + + /@webassemblyjs/wast-printer@1.12.1: + resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@xtuc/long': 4.2.2 + dev: true + + /@xtuc/ieee754@1.2.0: + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + dev: true + + /@xtuc/long@4.2.2: + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + dev: true + /JSONStream@1.3.5: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} hasBin: true @@ -1386,6 +2710,14 @@ packages: mime-types: 2.1.35 negotiator: 0.6.3 + /acorn-import-attributes@1.9.5(acorn@8.11.3): + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.11.3 + dev: true + /acorn-jsx@5.3.2(acorn@7.4.1): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -1427,6 +2759,34 @@ packages: indent-string: 4.0.0 dev: true + /ajv-formats@2.1.1(ajv@8.12.0): + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + dependencies: + ajv: 8.12.0 + dev: true + + /ajv-keywords@3.5.2(ajv@6.12.6): + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + dependencies: + ajv: 6.12.6 + dev: true + + /ajv-keywords@5.1.0(ajv@8.12.0): + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 + dependencies: + ajv: 8.12.0 + fast-deep-equal: 3.1.3 + dev: true + /ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: @@ -1506,6 +2866,13 @@ packages: picomatch: 2.3.1 dev: true + /append-transform@2.0.0: + resolution: {integrity: sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==} + engines: {node: '>=8'} + dependencies: + default-require-extensions: 3.0.1 + dev: true + /arch@2.2.0: resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} dev: true @@ -1555,6 +2922,20 @@ packages: zip-stream: 4.1.1 dev: true + /archy@1.0.0: + resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} + dev: true + + /arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + dev: true + + /argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -1565,6 +2946,11 @@ packages: resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} dev: true + /array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true + /asn1@0.2.6: resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} dependencies: @@ -1631,6 +3017,65 @@ packages: - debug dev: false + /axios@1.7.7(debug@4.3.7): + resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==} + dependencies: + follow-redirects: 1.15.9(debug@4.3.7) + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + dev: true + + /babel-loader@9.2.1(@babel/core@7.26.0)(webpack@5.95.0): + resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==} + engines: {node: '>= 14.15.0'} + peerDependencies: + '@babel/core': ^7.12.0 + webpack: '>=5' + dependencies: + '@babel/core': 7.26.0 + find-cache-dir: 4.0.0 + schema-utils: 4.2.0 + webpack: 5.95.0 + dev: true + + /babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.26.0): + resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/compat-data': 7.26.0 + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.26.0) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.26.0): + resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.26.0) + core-js-compat: 3.38.1 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.26.0): + resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + dev: true + /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -1666,6 +3111,10 @@ packages: resolution: {integrity: sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==} dev: true + /bluebird@3.7.1: + resolution: {integrity: sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==} + dev: true + /bluebird@3.7.2: resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} dev: true @@ -1747,12 +3196,22 @@ packages: update-browserslist-db: 1.0.13(browserslist@4.23.0) dev: true + /browserslist@4.24.2: + resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001675 + electron-to-chromium: 1.5.49 + node-releases: 2.0.18 + update-browserslist-db: 1.1.1(browserslist@4.24.2) + dev: true + /buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - dev: false /buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} @@ -1821,6 +3280,16 @@ packages: resolution: {integrity: sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==} engines: {node: '>=6'} + /caching-transform@4.0.0: + resolution: {integrity: sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==} + engines: {node: '>=8'} + dependencies: + hasha: 5.2.2 + make-dir: 3.1.0 + package-hash: 4.0.0 + write-file-atomic: 3.0.3 + dev: true + /call-bind@1.0.7: resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} engines: {node: '>= 0.4'} @@ -1843,6 +3312,11 @@ packages: upper-case: 1.1.3 dev: true + /camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + dev: true + /camelcase@7.0.1: resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} engines: {node: '>=14.16'} @@ -1852,6 +3326,10 @@ packages: resolution: {integrity: sha512-+hVY9jE44uKLkH0SrUTqxjxqNTOWHsbnQDIKjwkZ3lNTzUUVdBLBGXtj/q5Mp5u98r3droaZAewQuEDzjQdZlQ==} dev: true + /caniuse-lite@1.0.30001675: + resolution: {integrity: sha512-/wV1bQwPrkLiQMjaJF5yUMVM/VdRPOCU8QZ+PmG6uW6DvYSrNY1bpwHI/3mOcUosLaJCzYDi5o91IQB51ft6cg==} + dev: true + /caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} dev: true @@ -1920,6 +3398,11 @@ packages: fsevents: 2.3.3 dev: true + /chrome-trace-event@1.0.4: + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} + engines: {node: '>=6.0'} + dev: true + /chromium@3.0.3: resolution: {integrity: sha512-TfbzP/3t38Us5xrbb9x87M/y5I/j3jx0zeJhhQ72gjp6dwJuhVP6hBZnBH4wEg7512VVXk9zCfTuPFOdw7bQqg==} os: [darwin, linux, win32] @@ -1992,6 +3475,14 @@ packages: engines: {node: '>= 10'} dev: true + /cliui@6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + dev: true + /cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} @@ -2071,11 +3562,19 @@ packages: engines: {node: '>= 6'} dev: true + /common-path-prefix@3.0.0: + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} + dev: true + /common-tags@1.8.2: resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} engines: {node: '>=4.0.0'} dev: true + /commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + dev: true + /compare-func@2.0.0: resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} dependencies: @@ -2197,6 +3696,14 @@ packages: split2: 4.2.0 dev: true + /convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + dev: true + + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true + /cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} @@ -2204,6 +3711,12 @@ packages: resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} + /core-js-compat@3.38.1: + resolution: {integrity: sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==} + dependencies: + browserslist: 4.24.2 + dev: true + /core-util-is@1.0.2: resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} dev: true @@ -2267,6 +3780,14 @@ packages: resolution: {integrity: sha512-IlChnVUGG5T3w2gRZIaQgBtlvyuYnlUWs2YZIXXR3H9KrlO1PtBT3j+ykxvy9eZIWhk+V5SpBmhCQz5UXKrEKQ==} dev: false + /cross-env@7.0.3: + resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} + engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} + hasBin: true + dependencies: + cross-spawn: 7.0.3 + dev: true + /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -2368,6 +3889,10 @@ packages: resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} dev: true + /dayjs@1.11.13: + resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} + dev: true + /debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -2413,6 +3938,23 @@ packages: ms: 2.1.2 supports-color: 8.1.1 + /debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + dev: true + + /decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + dev: true + /decompress-response@6.0.0: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} @@ -2454,6 +3996,13 @@ packages: titleize: 3.0.0 dev: false + /default-require-extensions@3.0.1: + resolution: {integrity: sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==} + engines: {node: '>=8'} + dependencies: + strip-bom: 4.0.0 + dev: true + /defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} dependencies: @@ -2495,9 +4044,11 @@ packages: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - /diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 dev: true /doctrine@3.0.0: @@ -2520,6 +4071,10 @@ packages: dependencies: is-obj: 2.0.0 + /duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + dev: true + /eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -2548,6 +4103,10 @@ packages: resolution: {integrity: sha512-erDa3CaDzwJOpyvfKhOiJjBVNnMM0qxHq47RheVVwsSQrgBA9ZSGV9kdaOfZDPXcHzhG7lBxhj6A7KvfLJBd6Q==} dev: true + /electron-to-chromium@1.5.49: + resolution: {integrity: sha512-ZXfs1Of8fDb6z7WEYZjXpgIRF6MEu8JdeGA0A40aZq6OQbS+eJpnnV49epZRna2DU/YsEjSQuGtQPPtvt6J65A==} + dev: true + /elementtree@0.1.7: resolution: {integrity: sha512-wkgGT6kugeQk/P6VZ/f4T+4HB41BVgNBq5CDIZVbQ02nvTVqAiVTbskxxu3eA/X96lMlfYOwnLQpN2v5E1zDEg==} engines: {node: '>= 0.4.0'} @@ -2570,6 +4129,14 @@ packages: dependencies: once: 1.4.0 + /enhanced-resolve@5.17.1: + resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + dev: true + /enquirer@2.4.1: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} @@ -2603,6 +4170,14 @@ packages: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} + /es-module-lexer@1.5.4: + resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} + dev: true + + /es6-error@4.1.1: + resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + dev: true + /esbuild-android-64@0.14.51: resolution: {integrity: sha512-6FOuKTHnC86dtrKDmdSj2CkcKF8PnqkaIXqvgydqfJmqBazCPdw+relrMlhGjkvVdiiGV70rpdnyFmA65ekBCQ==} engines: {node: '>=12'} @@ -2845,6 +4420,11 @@ packages: engines: {node: '>=6'} dev: true + /escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + dev: true + /escape-goat@4.0.0: resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==} engines: {node: '>=12'} @@ -2899,6 +4479,14 @@ packages: - supports-color dev: true + /eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + /eslint-scope@7.2.2: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2989,6 +4577,12 @@ packages: eslint-visitor-keys: 3.4.3 dev: true + /esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + /esquery@1.5.0: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} engines: {node: '>=0.10'} @@ -3003,6 +4597,11 @@ packages: estraverse: 5.3.0 dev: true + /estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: true + /estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} @@ -3011,12 +4610,6 @@ packages: /estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - /estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - dependencies: - '@types/estree': 1.0.5 - dev: true - /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} @@ -3026,6 +4619,18 @@ packages: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} + /event-stream@3.3.4: + resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==} + dependencies: + duplexer: 0.1.2 + from: 0.1.7 + map-stream: 0.1.0 + pause-stream: 0.0.11 + split: 0.3.3 + stream-combiner: 0.0.4 + through: 2.3.8 + dev: true + /eventemitter2@6.4.7: resolution: {integrity: sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==} dev: true @@ -3034,6 +4639,11 @@ packages: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} dev: false + /events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + dev: true + /execa@4.1.0: resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} engines: {node: '>=10'} @@ -3062,7 +4672,6 @@ packages: onetime: 5.1.2 signal-exit: 3.0.7 strip-final-newline: 2.0.0 - dev: false /execa@7.2.0: resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} @@ -3217,6 +4826,17 @@ packages: dependencies: pend: 1.2.0 + /fdir@6.4.2(picomatch@4.0.2): + resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + dependencies: + picomatch: 4.0.2 + dev: true + /fflate@0.8.2: resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} dev: true @@ -3255,6 +4875,31 @@ packages: transitivePeerDependencies: - supports-color + /find-cache-dir@3.3.2: + resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} + engines: {node: '>=8'} + dependencies: + commondir: 1.0.1 + make-dir: 3.1.0 + pkg-dir: 4.2.0 + dev: true + + /find-cache-dir@4.0.0: + resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==} + engines: {node: '>=14.16'} + dependencies: + common-path-prefix: 3.0.0 + pkg-dir: 7.0.0 + dev: true + + /find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + /find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} @@ -3263,6 +4908,14 @@ packages: path-exists: 4.0.0 dev: true + /find-up@6.3.0: + resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + locate-path: 7.2.0 + path-exists: 5.0.0 + dev: true + /find-up@7.0.0: resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==} engines: {node: '>=18'} @@ -3300,6 +4953,26 @@ packages: optional: true dev: false + /follow-redirects@1.15.9(debug@4.3.7): + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dependencies: + debug: 4.3.7 + dev: true + + /foreground-child@2.0.0: + resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} + engines: {node: '>=8.0.0'} + dependencies: + cross-spawn: 7.0.3 + signal-exit: 3.0.7 + dev: true + /foreground-child@3.1.1: resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} engines: {node: '>=14'} @@ -3333,7 +5006,6 @@ packages: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 - dev: false /forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} @@ -3347,6 +5019,14 @@ packages: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} + /from@0.1.7: + resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} + dev: true + + /fromentries@1.3.2: + resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==} + dev: true + /fs-constants@1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} dev: true @@ -3382,6 +5062,11 @@ packages: /function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: true + /get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} @@ -3401,6 +5086,11 @@ packages: has-symbols: 1.0.3 hasown: 2.0.1 + /get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + dev: true + /get-stream@5.2.0: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} @@ -3410,7 +5100,6 @@ packages: /get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} - dev: false /getos@3.2.1: resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==} @@ -3452,6 +5141,10 @@ packages: resolution: {integrity: sha512-m5blUd3/OqDTWwzBBtWBPrGlAzatRywHameHeekAZyZrskYouOGdNB8T/q6JucucvJXtOuyHIn0/Yia7iDasDw==} dev: true + /glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + dev: true + /glob@10.3.10: resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} engines: {node: '>=16 || 14 >=14.17'} @@ -3487,6 +5180,11 @@ packages: dependencies: ini: 2.0.0 + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: true + /globals@13.24.0: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} @@ -3494,6 +5192,18 @@ packages: type-fest: 0.20.2 dev: true + /globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.1 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + /globrex@0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} dev: true @@ -3586,6 +5296,14 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false + /hasha@5.2.2: + resolution: {integrity: sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==} + engines: {node: '>=8'} + dependencies: + is-stream: 2.0.1 + type-fest: 0.8.1 + dev: true + /hasown@2.0.1: resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} engines: {node: '>= 0.4'} @@ -3597,6 +5315,10 @@ packages: hasBin: true dev: true + /html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + dev: true + /html-minifier@4.0.0: resolution: {integrity: sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==} engines: {node: '>=6'} @@ -3687,7 +5409,6 @@ packages: /human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} - dev: false /human-signals@4.3.1: resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} @@ -3919,6 +5640,11 @@ packages: engines: {node: '>=10'} dev: true + /is-windows@1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + dev: true + /is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} @@ -3950,6 +5676,83 @@ packages: resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} dev: true + /istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + dev: true + + /istanbul-lib-hook@3.0.0: + resolution: {integrity: sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==} + engines: {node: '>=8'} + dependencies: + append-transform: 2.0.0 + dev: true + + /istanbul-lib-instrument@4.0.3: + resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} + engines: {node: '>=8'} + dependencies: + '@babel/core': 7.26.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + dependencies: + '@babel/core': 7.26.0 + '@babel/parser': 7.23.9 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-lib-processinfo@2.0.3: + resolution: {integrity: sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==} + engines: {node: '>=8'} + dependencies: + archy: 1.0.0 + cross-spawn: 7.0.3 + istanbul-lib-coverage: 3.2.2 + p-map: 3.0.0 + rimraf: 3.0.2 + uuid: 8.3.2 + dev: true + + /istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + dependencies: + debug: 4.3.4(supports-color@8.1.1) + istanbul-lib-coverage: 3.2.2 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + dev: true + /jackspeak@2.3.6: resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} engines: {node: '>=14'} @@ -3959,11 +5762,30 @@ packages: '@pkgjs/parseargs': 0.11.0 dev: true + /jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/node': 20.11.19 + merge-stream: 2.0.0 + supports-color: 8.1.1 + dev: true + /jiti@1.21.6: resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true dev: true + /joi@17.13.3: + resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} + dependencies: + '@hapi/hoek': 9.3.0 + '@hapi/topo': 5.1.0 + '@sideway/address': 4.1.5 + '@sideway/formula': 3.0.1 + '@sideway/pinpoint': 2.0.0 + dev: true + /js-beautify@1.15.1: resolution: {integrity: sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA==} engines: {node: '>=14'} @@ -3990,6 +5812,14 @@ packages: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: true + /js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + /js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true @@ -4000,6 +5830,12 @@ packages: resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} dev: true + /jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + dev: true + /json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -4141,11 +5977,23 @@ packages: wrap-ansi: 7.0.0 dev: true + /loader-runner@4.3.0: + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + engines: {node: '>=6.11.5'} + dev: true + /local-pkg@0.4.3: resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} engines: {node: '>=14'} dev: true + /locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: true + /locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -4168,6 +6016,10 @@ packages: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} dev: true + /lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + dev: true + /lodash.defaults@4.2.0: resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} dev: true @@ -4180,6 +6032,10 @@ packages: resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} dev: true + /lodash.flattendeep@4.4.0: + resolution: {integrity: sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==} + dev: true + /lodash.isplainobject@4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} dev: true @@ -4252,6 +6108,10 @@ packages: get-func-name: 2.0.2 dev: true + /loupe@3.1.2: + resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==} + dev: true + /lower-case@1.1.4: resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==} dev: true @@ -4278,6 +6138,12 @@ packages: yallist: 2.1.2 dev: false + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + dev: true + /lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} @@ -4290,6 +6156,24 @@ packages: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 + /make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + dependencies: + semver: 6.3.1 + dev: true + + /make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + dependencies: + semver: 7.6.0 + dev: true + + /map-stream@0.1.0: + resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} + dev: true + /md5-hex@3.0.1: resolution: {integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==} engines: {node: '>=8'} @@ -4456,6 +6340,10 @@ packages: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} + /neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + dev: true + /no-case@2.3.2: resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==} dependencies: @@ -4467,10 +6355,21 @@ packages: engines: {node: '>= 6.13.0'} dev: false + /node-preload@0.2.1: + resolution: {integrity: sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==} + engines: {node: '>=8'} + dependencies: + process-on-spawn: 1.0.0 + dev: true + /node-releases@2.0.14: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} dev: true + /node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + dev: true + /nopt@7.2.0: resolution: {integrity: sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -4518,6 +6417,42 @@ packages: boolbase: 1.0.0 dev: true + /nyc@15.1.0: + resolution: {integrity: sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==} + engines: {node: '>=8.9'} + hasBin: true + dependencies: + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + caching-transform: 4.0.0 + convert-source-map: 1.9.0 + decamelize: 1.2.0 + find-cache-dir: 3.3.2 + find-up: 4.1.0 + foreground-child: 2.0.0 + get-package-type: 0.1.0 + glob: 7.2.3 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-hook: 3.0.0 + istanbul-lib-instrument: 4.0.3 + istanbul-lib-processinfo: 2.0.3 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.7 + make-dir: 3.1.0 + node-preload: 0.2.1 + p-map: 3.0.0 + process-on-spawn: 1.0.0 + resolve-from: 5.0.0 + rimraf: 3.0.2 + signal-exit: 3.0.7 + spawn-wrap: 2.0.0 + test-exclude: 6.0.0 + yargs: 15.4.1 + transitivePeerDependencies: + - supports-color + dev: true + /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -4617,6 +6552,13 @@ packages: engines: {node: '>=12.20'} dev: false + /p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: true + /p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} @@ -4631,6 +6573,13 @@ packages: yocto-queue: 1.0.0 dev: true + /p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: true + /p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} @@ -4645,6 +6594,13 @@ packages: p-limit: 4.0.0 dev: true + /p-map@3.0.0: + resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} + engines: {node: '>=8'} + dependencies: + aggregate-error: 3.1.0 + dev: true + /p-map@4.0.0: resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} engines: {node: '>=10'} @@ -4652,6 +6608,21 @@ packages: aggregate-error: 3.1.0 dev: true + /p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: true + + /package-hash@4.0.0: + resolution: {integrity: sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==} + engines: {node: '>=8'} + dependencies: + graceful-fs: 4.2.11 + hasha: 5.2.2 + lodash.flattendeep: 4.4.0 + release-zalgo: 1.0.0 + dev: true + /package-json@8.1.1: resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==} engines: {node: '>=14.16'} @@ -4727,6 +6698,11 @@ packages: /path-to-regexp@0.1.7: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + /pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} dev: true @@ -4735,6 +6711,12 @@ packages: resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} dev: true + /pause-stream@0.0.11: + resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} + dependencies: + through: 2.3.8 + dev: true + /pend@1.2.0: resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} @@ -4745,10 +6727,19 @@ packages: /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + /picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + dev: true + /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + /picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + dev: true + /pify@2.3.0: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} @@ -4776,6 +6767,20 @@ packages: engines: {node: '>= 6'} dev: true + /pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + dev: true + + /pkg-dir@7.0.0: + resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} + engines: {node: '>=14.16'} + dependencies: + find-up: 6.3.0 + dev: true + /pkg-types@1.0.3: resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} dependencies: @@ -4829,18 +6834,16 @@ packages: react-is: 17.0.2 dev: true - /pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.3 - ansi-styles: 5.2.0 - react-is: 18.3.1 - dev: true - /process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + /process-on-spawn@1.0.0: + resolution: {integrity: sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==} + engines: {node: '>=8'} + dependencies: + fromentries: 1.3.2 + dev: true + /process@0.11.10: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} @@ -4867,7 +6870,14 @@ packages: /proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - dev: false + + /ps-tree@1.2.0: + resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==} + engines: {node: '>= 0.10'} + hasBin: true + dependencies: + event-stream: 3.3.4 + dev: true /pseudomap@1.0.2: resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} @@ -4958,10 +6968,6 @@ packages: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} dev: true - /react-is@18.3.1: - resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - dev: true - /readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} dependencies: @@ -5005,6 +7011,39 @@ packages: tslib: 1.14.1 dev: true + /regenerate-unicode-properties@10.2.0: + resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==} + engines: {node: '>=4'} + dependencies: + regenerate: 1.4.2 + dev: true + + /regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + dev: true + + /regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + dev: true + + /regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + dependencies: + '@babel/runtime': 7.26.0 + dev: true + + /regexpu-core@6.1.1: + resolution: {integrity: sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==} + engines: {node: '>=4'} + dependencies: + regenerate: 1.4.2 + regenerate-unicode-properties: 10.2.0 + regjsgen: 0.8.0 + regjsparser: 0.11.2 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.2.0 + dev: true + /register-service-worker@1.7.2: resolution: {integrity: sha512-CiD3ZSanZqcMPRhtfct5K9f7i3OLCcBBWsJjLh1gW9RO/nS94sVzY59iS+fgYBOBqaBpf4EzfqUF3j9IG+xo8A==} dev: true @@ -5023,11 +7062,29 @@ packages: rc: 1.2.8 dev: false + /regjsgen@0.8.0: + resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} + dev: true + + /regjsparser@0.11.2: + resolution: {integrity: sha512-3OGZZ4HoLJkkAZx/48mTXJNlmqTGOzc0o9OWQPuWpkOlXXPbyN6OafCcoXUnBqE2D3f/T5L+pWc1kdEmnfnRsA==} + hasBin: true + dependencies: + jsesc: 3.0.2 + dev: true + /relateurl@0.2.7: resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} engines: {node: '>= 0.10'} dev: true + /release-zalgo@1.0.0: + resolution: {integrity: sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==} + engines: {node: '>=4'} + dependencies: + es6-error: 4.1.1 + dev: true + /request-progress@3.0.0: resolution: {integrity: sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==} dependencies: @@ -5044,6 +7101,10 @@ packages: engines: {node: '>=0.10.0'} dev: true + /require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + dev: true + /requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} @@ -5201,6 +7262,25 @@ packages: resolution: {integrity: sha512-5f3k2PbGGp+YtKJjOItpg3P99IMD84E4HOvcfleTb5joCHNXYLsR9yWFPOYGgaeMPDubQILTCMdsFb2OMeOjtg==} dev: true + /schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + dev: true + + /schema-utils@4.2.0: + resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} + engines: {node: '>= 12.13.0'} + dependencies: + '@types/json-schema': 7.0.15 + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + ajv-keywords: 5.1.0(ajv@8.12.0) + dev: true + /selfsigned@2.4.1: resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} engines: {node: '>=10'} @@ -5265,6 +7345,10 @@ packages: transitivePeerDependencies: - supports-color + /set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + dev: true + /set-function-length@1.2.1: resolution: {integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==} engines: {node: '>= 0.4'} @@ -5317,11 +7401,11 @@ packages: engines: {node: '>=14'} dev: true - /sirv@2.0.4: - resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} - engines: {node: '>= 10'} + /sirv@3.0.0: + resolution: {integrity: sha512-BPwJGUeDaDCHihkORDchNyyTvWFhcusy1XMmhEVTQTwGeybFbp8YEmB+njbPnth1FibULBSBVwCQni25XlCUDg==} + engines: {node: '>=18'} dependencies: - '@polka/url': 1.0.0-next.25 + '@polka/url': 1.0.0-next.28 mrmime: 2.0.0 totalist: 3.0.1 dev: true @@ -5353,6 +7437,13 @@ packages: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} + /source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + dev: true + /source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} @@ -5363,11 +7454,33 @@ packages: engines: {node: '>= 8'} dev: true + /spawn-wrap@2.0.0: + resolution: {integrity: sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==} + engines: {node: '>=8'} + dependencies: + foreground-child: 2.0.0 + is-windows: 1.0.2 + make-dir: 3.1.0 + rimraf: 3.0.2 + signal-exit: 3.0.7 + which: 2.0.2 + dev: true + /split2@4.2.0: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} engines: {node: '>= 10.x'} dev: true + /split@0.3.3: + resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==} + dependencies: + through: 2.3.8 + dev: true + + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true + /sshpk@1.18.0: resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} engines: {node: '>=0.10.0'} @@ -5393,6 +7506,23 @@ packages: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} dev: true + /start-server-and-test@2.0.8: + resolution: {integrity: sha512-v2fV6NV2F7tL1ocwfI4Wpait+IKjRbT5l3ZZ+ZikXdMLmxYsS8ynGAsCQAUVXkVyGyS+UibsRnvgHkMvJIvCsw==} + engines: {node: '>=16'} + hasBin: true + dependencies: + arg: 5.0.2 + bluebird: 3.7.2 + check-more-types: 2.24.0 + debug: 4.3.7 + execa: 5.1.1 + lazy-ass: 1.6.0 + ps-tree: 1.2.0 + wait-on: 8.0.1(debug@4.3.7) + transitivePeerDependencies: + - supports-color + dev: true + /statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} @@ -5401,6 +7531,12 @@ packages: resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} dev: true + /stream-combiner@0.0.4: + resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} + dependencies: + duplexer: 0.1.2 + dev: true + /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -5445,6 +7581,11 @@ packages: engines: {node: '>=4'} dev: true + /strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + dev: true + /strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} @@ -5520,6 +7661,11 @@ packages: strip-ansi: 6.0.1 dev: true + /tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + dev: true + /tar-stream@2.2.0: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} @@ -5531,6 +7677,50 @@ packages: readable-stream: 3.6.2 dev: true + /terser-webpack-plugin@5.3.10(webpack@5.95.0): + resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + dependencies: + '@jridgewell/trace-mapping': 0.3.22 + jest-worker: 27.5.1 + schema-utils: 3.3.0 + serialize-javascript: 6.0.2 + terser: 5.36.0 + webpack: 5.95.0 + dev: true + + /terser@5.36.0: + resolution: {integrity: sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jridgewell/source-map': 0.3.6 + acorn: 8.11.3 + commander: 2.20.3 + source-map-support: 0.5.21 + dev: true + + /test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true + /text-extensions@2.4.0: resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} engines: {node: '>=8'} @@ -5570,8 +7760,16 @@ packages: resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} dev: true - /tinyexec@0.3.0: - resolution: {integrity: sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==} + /tinyexec@0.3.1: + resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==} + dev: true + + /tinyglobby@0.2.10: + resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} + engines: {node: '>=12.0.0'} + dependencies: + fdir: 6.4.2(picomatch@4.0.2) + picomatch: 4.0.2 dev: true /tinypool@0.5.0: @@ -5579,6 +7777,11 @@ packages: engines: {node: '>=14.0.0'} dev: true + /tinyrainbow@1.2.0: + resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} + engines: {node: '>=14.0.0'} + dev: true + /tinyspy@2.2.1: resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} engines: {node: '>=14.0.0'} @@ -5707,6 +7910,11 @@ packages: engines: {node: '>=10'} dev: true + /type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + dev: true + /type-fest@1.4.0: resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} engines: {node: '>=10'} @@ -5728,7 +7936,6 @@ packages: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} dependencies: is-typedarray: 1.0.0 - dev: false /typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} @@ -5752,6 +7959,29 @@ packages: /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + /unicode-canonical-property-names-ecmascript@2.0.1: + resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} + engines: {node: '>=4'} + dev: true + + /unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.1 + unicode-property-aliases-ecmascript: 2.1.0 + dev: true + + /unicode-match-property-value-ecmascript@2.2.0: + resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==} + engines: {node: '>=4'} + dev: true + + /unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + dev: true + /unicorn-magic@0.1.0: resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} engines: {node: '>=18'} @@ -5801,6 +8031,17 @@ packages: picocolors: 1.0.0 dev: true + /update-browserslist-db@1.1.1(browserslist@4.24.2): + resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.24.2 + escalade: 3.2.0 + picocolors: 1.1.1 + dev: true + /update-notifier@6.0.2: resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==} engines: {node: '>=14.16'} @@ -5904,6 +8145,21 @@ packages: - terser dev: true + /vite-plugin-istanbul@5.0.0(vite@4.5.2): + resolution: {integrity: sha512-Tg9zDmm/u4SdEDFbEWHBz7mmFe7jhLRmArA2XCmw5yydEFCARU9r4TxqFFnBFWCL63D9A7XA7VELulOO5T5o/g==} + peerDependencies: + vite: '>=2.9.1 <= 5' + dependencies: + '@istanbuljs/load-nyc-config': 1.1.0 + espree: 9.6.1 + istanbul-lib-instrument: 5.2.1 + picocolors: 1.0.0 + test-exclude: 6.0.0 + vite: 4.5.2(@types/node@20.11.19) + transitivePeerDependencies: + - supports-color + dev: true + /vite-tsconfig-paths@4.3.1(typescript@5.6.2)(vite@4.5.2): resolution: {integrity: sha512-cfgJwcGOsIxXOLU/nELPny2/LUD/lcf1IbfyeKTv2bsupVbTH/xpFtdQlBmIP1GEK2CjjLxYhFfB+QODFAx5aw==} peerDependencies: @@ -5981,7 +8237,7 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest@0.31.4(@vitest/ui@1.6.0): + /vitest@0.31.4(@vitest/ui@2.1.4): resolution: {integrity: sha512-GoV0VQPmWrUFOZSg3RpQAPN+LPmHg2/gxlMNJlyxJihkz6qReHDV6b0pPDcqFLNEPya4tWJ1pgwUNP9MLmUfvQ==} engines: {node: '>=v14.18.0'} hasBin: true @@ -6019,7 +8275,7 @@ packages: '@vitest/runner': 0.31.4 '@vitest/snapshot': 0.31.4 '@vitest/spy': 0.31.4 - '@vitest/ui': 1.6.0(vitest@0.31.4) + '@vitest/ui': 2.1.4(vitest@0.31.4) '@vitest/utils': 0.31.4 acorn: 8.11.3 acorn-walk: 8.3.2 @@ -6118,6 +8374,28 @@ packages: '@vue/shared': 3.4.19 typescript: 5.6.2 + /wait-on@8.0.1(debug@4.3.7): + resolution: {integrity: sha512-1wWQOyR2LVVtaqrcIL2+OM+x7bkpmzVROa0Nf6FryXkS+er5Sa1kzFGjzZRqLnHa3n1rACFLeTwUqE1ETL9Mig==} + engines: {node: '>=12.0.0'} + hasBin: true + dependencies: + axios: 1.7.7(debug@4.3.7) + joi: 17.13.3 + lodash: 4.17.21 + minimist: 1.2.8 + rxjs: 7.8.1 + transitivePeerDependencies: + - debug + dev: true + + /watchpack@2.4.2: + resolution: {integrity: sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==} + engines: {node: '>=10.13.0'} + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + dev: true + /wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: @@ -6147,6 +8425,45 @@ packages: resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} dev: true + /webpack@5.95.0: + resolution: {integrity: sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + dependencies: + '@types/estree': 1.0.5 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/wasm-edit': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + acorn: 8.11.3 + acorn-import-attributes: 1.9.5(acorn@8.11.3) + browserslist: 4.23.0 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.17.1 + es-module-lexer: 1.5.4 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.3.0 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.10(webpack@5.95.0) + watchpack: 2.4.2 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + dev: true + /well-known-symbols@2.0.0: resolution: {integrity: sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==} engines: {node: '>=6'} @@ -6164,6 +8481,10 @@ packages: engines: {node: '>=12'} dev: true + /which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + dev: true + /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -6227,7 +8548,6 @@ packages: is-typedarray: 1.0.0 signal-exit: 3.0.7 typedarray-to-buffer: 3.1.5 - dev: false /xdg-basedir@5.1.0: resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} @@ -6239,6 +8559,10 @@ packages: engines: {node: '>=12'} dev: true + /y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + dev: true + /y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -6248,6 +8572,10 @@ packages: resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} dev: false + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true + /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} @@ -6264,11 +8592,36 @@ packages: engines: {node: '>= 6'} dev: true + /yargs-parser@18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + dev: true + /yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} dev: true + /yargs@15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.3 + which-module: 2.0.1 + y18n: 4.0.3 + yargs-parser: 18.1.3 + dev: true + /yargs@17.7.2: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} diff --git a/src/components/CreateNewPostcodeForm.vue b/src/components/CreateNewPostcodeForm.vue index 99cba5360..d3583799a 100644 --- a/src/components/CreateNewPostcodeForm.vue +++ b/src/components/CreateNewPostcodeForm.vue @@ -2,13 +2,13 @@ import { reactive, ref, watch } from 'vue'; import { useI18n } from 'vue-i18n'; -import FetchData from 'components/FetchData.vue'; -import VnRow from 'components/ui/VnRow.vue'; +import FetchData from 'src/components/FetchData.vue'; +import VnRow from 'src/components/ui/VnRow.vue'; import VnSelect from 'src/components/common/VnSelect.vue'; import VnSelectProvince from 'src/components/VnSelectProvince.vue'; import VnInput from 'src/components/common/VnInput.vue'; import CreateNewCityForm from './CreateNewCityForm.vue'; -import VnSelectDialog from 'components/common/VnSelectDialog.vue'; +import VnSelectDialog from 'src/components/common/VnSelectDialog.vue'; import FormModelPopup from './FormModelPopup.vue'; const emit = defineEmits(['onDataSaved']); diff --git a/src/components/VnSelectProvince.vue b/src/components/VnSelectProvince.vue index eb9d82fba..d250d3200 100644 --- a/src/components/VnSelectProvince.vue +++ b/src/components/VnSelectProvince.vue @@ -7,6 +7,9 @@ import VnSelectDialog from 'src/components/common/VnSelectDialog.vue'; import FetchData from 'src/components/FetchData.vue'; import CreateNewProvinceForm from './CreateNewProvinceForm.vue'; +const { validate } = useValidator(); +const { t } = useI18n(); + const emit = defineEmits(['onProvinceCreated']); const $props = defineProps({ countryFk: { @@ -24,9 +27,6 @@ const $props = defineProps({ }); const provinceFk = defineModel({ type: Number, default: null }); -const { validate } = useValidator(); -const { t } = useI18n(); - const provincesOptions = ref($props.provinces); provinceFk.value = $props.provinceSelected; const provincesFetchDataRef = ref(); @@ -81,5 +81,5 @@ async function handleProvinces(data) { es: Province: Provincia - Create province: Crear provincia + Create province: Crear provincia diff --git a/src/components/common/VnInput.vue b/src/components/common/VnInput.vue index 6a497057e..f1eb76e87 100644 --- a/src/components/common/VnInput.vue +++ b/src/components/common/VnInput.vue @@ -2,6 +2,8 @@ import { computed, ref } from 'vue'; import { useI18n } from 'vue-i18n'; import { useValidator } from 'src/composables/useValidator'; +import { useAttrs } from 'vue'; +const $attrs = useAttrs(); const emit = defineEmits([ 'update:modelValue', @@ -57,12 +59,6 @@ const focus = () => { vnInputRef.value.focus(); }; -defineExpose({ - focus, -}); -import { useAttrs } from 'vue'; -const $attrs = useAttrs(); - const mixinRules = [ requiredFieldRule, ...($attrs.rules ?? []), @@ -76,11 +72,39 @@ const mixinRules = [ } }, ]; +defineExpose({ + focus, +}); +const isInsertMode = ref(false); + +const handleKeydown = (event) => { + const qInputEl = vnInputRef.value.$el.querySelector('input'); + const cursorPos = qInputEl.selectionStart; + + if (event.key === 'Insert') { + isInsertMode.value = !isInsertMode.value; + } else if (isInsertMode.value && !isNaN(event.key) && event.key.length === 1) { + event.preventDefault(); + const currentValue = value.value; + if (cursorPos !== null) { + const newValue = + currentValue.slice(0, cursorPos) + + event.key + + currentValue.slice(cursorPos + 1); + value.value = newValue; + + setTimeout(() => { + qInputEl.setSelectionRange(cursorPos + 1, cursorPos + 1); + }, 0); + } + } +};