From 7c643fbcc2023fed7c63ec6bbada33288bcbe8a9 Mon Sep 17 00:00:00 2001 From: EPortman Date: Tue, 16 Jul 2024 15:09:04 -0700 Subject: [PATCH 01/27] Moved application logic into the app directory --- .browserslistrc => app/.browserslistrc | 0 .dockerignore => app/.dockerignore | 0 .editorconfig => app/.editorconfig | 0 .env.example => app/.env.example | 0 .eslintignore => app/.eslintignore | 0 .eslintrc.js => app/.eslintrc.js | 0 .gcloudignore => app/.gcloudignore | 0 .../.sonarcloud.properties | 0 COMPLIANCE.yaml => app/COMPLIANCE.yaml | 0 LICENSE => app/LICENSE | 0 babel.config.js => app/babel.config.js | 0 firebase.json => app/firebase.json | 0 jest.config.js => app/jest.config.js | 0 nginx.conf => app/nginx.conf | 0 package.json => app/package.json | 0 pnpm-lock.yaml => app/pnpm-lock.yaml | 0 postcss.config.js => app/postcss.config.js | 0 {public => app/public}/favicon.png | Bin {public => app/public}/index.html | 0 .../pdfs/groupings_of_similar_descriptive_words.pdf | Bin {src => app/src}/App.vue | 0 {src => app/src}/assets/fonts/BCSans-Bold.woff | Bin .../src}/assets/fonts/BCSans-BoldItalic.woff | Bin {src => app/src}/assets/fonts/BCSans-Italic.woff | Bin {src => app/src}/assets/fonts/BCSans-Regular.woff | Bin {src => app/src}/assets/images/Constructionx1.png | Bin {src => app/src}/assets/images/Sarahsx1.png | Bin {src => app/src}/assets/images/analyze-name-bg.jpg | Bin {src => app/src}/assets/images/bc-gov-logo.png | Bin .../src}/assets/images/bcnamerequest-laptop_x2.jpg | Bin {src => app/src}/assets/images/circle.png | Bin {src => app/src}/assets/images/domainicon_x1.png | Bin .../src}/assets/images/lc-tm-search-icon.png | Bin {src => app/src}/assets/images/number1.svg | 0 {src => app/src}/assets/images/number2.svg | 0 {src => app/src}/assets/images/one-icon.png | Bin {src => app/src}/assets/images/oval.png | Bin {src => app/src}/assets/images/social-icon.png | Bin {src => app/src}/assets/images/socialicon_x1.png | Bin {src => app/src}/assets/images/stats-circle.png | Bin {src => app/src}/assets/images/two-icon.png | Bin {src => app/src}/assets/styles/base.scss | 0 {src => app/src}/assets/styles/layout.scss | 0 {src => app/src}/assets/styles/overrides.scss | 0 {src => app/src}/assets/styles/theme.scss | 0 {src => app/src}/components.d.ts | 0 .../advanced-search/advanced-search-dates.vue | 0 .../advanced-search/advanced-search-form.vue | 0 .../advanced-search/advanced-search-retrieve.vue | 0 .../advanced-search/advanced-search-table.vue | 0 .../src}/components/advanced-search/index.ts | 0 .../src}/components/common/app-title-cols.vue | 0 .../src}/components/common/applicant-info-1.vue | 0 .../src}/components/common/applicant-info-2.vue | 0 .../src}/components/common/applicant-info-3.vue | 0 .../src}/components/common/applicant-info-nav.vue | 0 {src => app/src}/components/common/contact-info.vue | 0 {src => app/src}/components/common/index.ts | 0 {src => app/src}/components/common/link-row.vue | 0 .../src}/components/common/names-capture.vue | 0 .../src}/components/common/nested-select.vue | 0 .../src}/components/common/request-details.vue | 0 {src => app/src}/components/common/success.vue | 0 .../src}/components/dialogs/advanced-search.vue | 0 .../src}/components/dialogs/affiliation-error.vue | 0 {src => app/src}/components/dialogs/cancel.vue | 0 {src => app/src}/components/dialogs/conditions.vue | 0 .../components/dialogs/confirm-name-request.vue | 0 .../components/dialogs/create-business-error.vue | 0 {src => app/src}/components/dialogs/error.vue | 0 .../components/dialogs/exit-incomplete-payment.vue | 0 {src => app/src}/components/dialogs/exit.vue | 0 .../src}/components/dialogs/help-me-choose.vue | 0 {src => app/src}/components/dialogs/index.ts | 0 .../src}/components/dialogs/mras-search-info.vue | 0 .../src}/components/dialogs/name-check-issues.vue | 0 .../src}/components/dialogs/nr-not-required.vue | 0 .../src}/components/dialogs/payment-complete.vue | 0 .../dialogs/pick-entity-or-conversion.vue | 0 {src => app/src}/components/dialogs/receipts.vue | 0 {src => app/src}/components/dialogs/refund.vue | 0 {src => app/src}/components/dialogs/renew.vue | 0 {src => app/src}/components/dialogs/resubmit.vue | 0 {src => app/src}/components/dialogs/retry.vue | 0 .../components/dialogs/societies-info-dialog.vue | 0 .../src}/components/dialogs/staff-payment-error.vue | 0 {src => app/src}/components/dialogs/upgrade.vue | 0 .../existing-request/check-status-gray-box.vue | 0 .../existing-request/existing-request-display.vue | 0 .../existing-request/existing-request-edit.vue | 0 .../existing-request/existing-request-search.vue | 0 .../existing-request/invalid-action-message.vue | 0 .../existing-request/name-request-details.vue | 0 .../components/existing-request/names-gray-box.vue | 0 .../existing-request/nr-approved-gray-box.vue | 0 .../existing-request/nr-not-approved-gray-box.vue | 0 .../existing-request/search-help-content.vue | 0 .../components/existing-request/search-pending.vue | 0 .../components/lower-info-area/lower-container.vue | 0 .../components/lower-info-area/name-build-info.vue | 0 .../business-designation.vue | 0 .../name-build-sub-components/consent-words.vue | 0 .../name-build-sub-components/example-name.vue | 0 .../name-build-sub-components/index.ts | 0 .../name-build-sub-components/unavailable-words.vue | 0 .../name-build-sub-components/unique-names.vue | 0 .../name-build-sub-components/unknown-words.vue | 0 .../lower-info-area/new-and-better-way.vue | 0 .../src}/components/new-request/business-fetch.vue | 0 .../src}/components/new-request/business-lookup.vue | 0 .../src}/components/new-request/constants.ts | 0 .../src}/components/new-request/grey-box.vue | 0 .../src}/components/new-request/main-container.vue | 0 .../new-request/name-check/name-check-conflicts.vue | 0 .../name-check/name-check-tab-content.vue | 0 .../new-request/name-check/name-check.vue | 0 .../new-request/name-check/quick-search-names.vue | 0 .../new-request/name-check/resources/index.ts | 0 .../resources/name-check-base-items-conflicts.ts | 0 .../resources/name-check-base-items-structure.ts | 0 .../src}/components/new-request/name-input.vue | 0 .../components/new-request/quick-search-names.vue | 0 .../search-components/business-lookup-fetch.vue | 0 .../new-request/search-components/company-type.vue | 0 .../search-components/corp-number-checkbox.vue | 0 .../new-request/search-components/designation.vue | 0 .../search-components/dummy-input-box.vue | 0 .../new-request/search-components/entity-type.vue | 0 .../new-request/search-components/jurisdiction.vue | 0 .../search-components/numbered-company-bullets.vue | 0 .../search-components/request-action.vue | 0 .../search-components/xpro-federal-bullets.vue | 0 {src => app/src}/components/new-request/search.vue | 0 {src => app/src}/components/new-request/stats.vue | 0 .../entity-cannot-be-auto-analyzed.vue | 0 .../new-request/submit-request/reserve-submit.vue | 0 .../new-request/submit-request/submission-tabs.vue | 0 .../new-request/submit-request/timeout.vue | 0 {src => app/src}/components/payment/fee-summary.vue | 0 .../src}/components/payment/payment-confirm.vue | 0 .../src}/components/payment/payment-summary.vue | 0 .../src}/components/payment/payment-utils.ts | 0 .../src}/components/payment/refund-summary.vue | 0 .../src}/components/payment/staff-payment.vue | 0 {src => app/src}/components/tabs.vue | 0 {src => app/src}/enums/account-type.ts | 0 {src => app/src}/enums/advanced-search-tabs.ts | 0 {src => app/src}/enums/company-types.ts | 0 {src => app/src}/enums/entity-types.ts | 0 {src => app/src}/enums/furnished.ts | 0 {src => app/src}/enums/index.ts | 0 {src => app/src}/enums/jurisdictions.ts | 0 {src => app/src}/enums/location.ts | 0 .../src}/enums/name-check-analysis-jurisdiction.ts | 0 {src => app/src}/enums/name-check-analysis-type.ts | 0 {src => app/src}/enums/name-check-conflict-type.ts | 0 {src => app/src}/enums/name-check-error-type.ts | 0 {src => app/src}/enums/name-check-item-type.ts | 0 {src => app/src}/enums/name-state.ts | 0 {src => app/src}/enums/nr-action.ts | 0 {src => app/src}/enums/nr-affiliation-errors.ts | 0 {src => app/src}/enums/nr-state.ts | 0 {src => app/src}/enums/nr-type.ts | 0 {src => app/src}/enums/payment-action.ts | 0 {src => app/src}/enums/payment-method.ts | 0 {src => app/src}/enums/payment-status.ts | 0 {src => app/src}/enums/priority-code.ts | 0 {src => app/src}/enums/rollback-actions.ts | 0 {src => app/src}/enums/routes.ts | 0 {src => app/src}/enums/sbc-payment-status.ts | 0 {src => app/src}/enums/search-states.ts | 0 {src => app/src}/enums/xpro-name-type.ts | 0 {src => app/src}/errors/index.ts | 0 {src => app/src}/interfaces/business.ts | 0 {src => app/src}/interfaces/designation.ts | 0 {src => app/src}/interfaces/dialog-options.ts | 0 {src => app/src}/interfaces/env-config.ts | 0 {src => app/src}/interfaces/form-type.ts | 0 {src => app/src}/interfaces/index.ts | 0 {src => app/src}/interfaces/jurisdiction.ts | 0 {src => app/src}/interfaces/models.ts | 0 .../name-check-interfaces/cleaned-name-interface.ts | 0 .../conditional-instructions.ts | 0 .../name-check-interfaces/conflict-list-item.ts | 0 .../src}/interfaces/name-check-interfaces/index.ts | 0 .../name-check-interfaces/name-check-error.ts | 0 .../name-check-item-interface.ts | 0 .../name-check-model-interface.ts | 0 .../parsed-restricted-response-interface.ts | 0 .../name-check-interfaces/quick-search-params.ts | 0 .../quick-search-parsed-resp.ts | 0 .../restricted-response-interface.ts | 0 .../src}/interfaces/name-choices-interface.ts | 0 .../src}/interfaces/new-request-interface.ts | 0 {src => app/src}/interfaces/nr-data-interface.ts | 0 .../src}/interfaces/refund-params-interface.ts | 0 .../src}/interfaces/request-or-consent-interface.ts | 0 {src => app/src}/interfaces/root-state-interface.ts | 0 {src => app/src}/interfaces/state-interface.ts | 0 .../interfaces/store-interfaces/action-interface.ts | 0 .../src}/interfaces/store-interfaces/index.ts | 0 {src => app/src}/list-data/canada-jurisdictions.ts | 0 {src => app/src}/list-data/conversion-types.ts | 0 {src => app/src}/list-data/designations.ts | 0 {src => app/src}/list-data/entity-type-data.ts | 0 {src => app/src}/list-data/index.ts | 0 {src => app/src}/list-data/intl-jurisdictions.ts | 0 {src => app/src}/list-data/locations.ts | 0 .../src}/list-data/request-action-mapping.ts | 0 {src => app/src}/list-data/request-actions.ts | 0 {src => app/src}/list-data/us-states.ts | 0 {src => app/src}/main.ts | 0 {src => app/src}/mixins/action-mixin.ts | 0 {src => app/src}/mixins/common-mixin.ts | 0 {src => app/src}/mixins/date-mixin.ts | 0 .../src}/mixins/displayed-component-mixin.ts | 0 {src => app/src}/mixins/index.ts | 0 .../src}/mixins/load-keycloak-roles-mixin.ts | 0 {src => app/src}/mixins/nr-affiliation-mixin.ts | 0 {src => app/src}/mixins/payment-mixin.ts | 0 {src => app/src}/mixins/payment-session-mixin.ts | 0 {src => app/src}/mixins/search-mixin.ts | 0 {src => app/src}/mixins/update-user-mixin.ts | 0 {src => app/src}/modules/error/index.ts | 0 {src => app/src}/modules/error/store/actions.ts | 0 {src => app/src}/modules/error/store/getters.ts | 0 {src => app/src}/modules/error/store/index.ts | 0 {src => app/src}/modules/error/store/mutations.ts | 0 {src => app/src}/modules/error/store/types.ts | 0 {src => app/src}/modules/payment/filing-types.ts | 0 {src => app/src}/modules/payment/index.ts | 0 {src => app/src}/modules/payment/models.ts | 0 {src => app/src}/modules/payment/store/actions.ts | 0 {src => app/src}/modules/payment/store/getters.ts | 0 {src => app/src}/modules/payment/store/index.ts | 0 {src => app/src}/modules/payment/store/mutations.ts | 0 {src => app/src}/modules/payment/store/types.ts | 0 {src => app/src}/plugins/authHelper.ts | 0 {src => app/src}/plugins/featureFlags.ts | 0 {src => app/src}/plugins/getConfig.ts | 0 {src => app/src}/plugins/index.ts | 0 {src => app/src}/plugins/interceptors.ts | 0 {src => app/src}/plugins/navigate.ts | 0 {src => app/src}/plugins/sleep.ts | 0 {src => app/src}/plugins/utilities.ts | 0 {src => app/src}/plugins/vuetify.ts | 0 {src => app/src}/resources/breadcrumb-resources.ts | 0 {src => app/src}/resources/index.ts | 0 {src => app/src}/router/index.ts | 0 {src => app/src}/router/router.ts | 0 {src => app/src}/router/routes.ts | 0 {src => app/src}/services/auth-services.ts | 0 .../src}/services/business-lookup-services.ts | 0 {src => app/src}/services/business-services.ts | 0 {src => app/src}/services/namex-services.ts | 0 {src => app/src}/shims-vue.d.ts | 0 {src => app/src}/store/actions.ts | 0 {src => app/src}/store/config.ts | 0 {src => app/src}/store/getters.ts | 0 {src => app/src}/store/index.ts | 0 {src => app/src}/store/mutations.ts | 0 {src => app/src}/store/state.ts | 0 {src => app/src}/views/auth/Signin.vue | 0 {src => app/src}/views/auth/Signout.vue | 0 {src => app/src}/views/index.ts | 0 {src => app/src}/views/landing.vue | 0 {src => app/src}/vue-test-utils-helpers.d.ts | 0 {tests => app/tests}/mixin-tester.vue | 0 {tests => app/tests}/setup.ts | 0 {tests => app/tests}/unit/App.spec.ts | 0 {tests => app/tests}/unit/analyze-pending.spec.ts | 0 {tests => app/tests}/unit/analyze-results.spec.ts | 0 {tests => app/tests}/unit/api/get-name-analysis.ts | 0 {tests => app/tests}/unit/applicant-info-1.spec.ts | 0 {tests => app/tests}/unit/applicant-info-2.spec.ts | 0 {tests => app/tests}/unit/date-mixin.spec.ts | 0 .../tests}/unit/dialogs/nr-not-required.spec.ts | 0 .../unit/dialogs/pick-entity-or-conversion.spec.ts | 0 .../tests}/unit/dialogs/staff-payment-error.spec.ts | 0 {tests => app/tests}/unit/landing.spec.ts | 0 {tests => app/tests}/unit/link-row.spec.ts | 0 {tests => app/tests}/unit/mocks/analyze-results.vue | 0 {tests => app/tests}/unit/mocks/quill-editor.ts | 0 {tests => app/tests}/unit/name-build-info.spec.ts | 0 {tests => app/tests}/unit/name-input.spec.ts | 0 {tests => app/tests}/unit/names-capture.spec.ts | 0 .../tests}/unit/new-request-module.spec.ts | 0 {tests => app/tests}/unit/new-search.spec.ts | 0 {tests => app/tests}/unit/reserve-submit.spec.ts | 0 {tests => app/tests}/unit/search-pending.spec.ts | 0 {tests => app/tests}/unit/search.spec.ts | 0 tsconfig.json => app/tsconfig.json | 0 volar.config.js => app/volar.config.js | 0 vue.config.js => app/vue.config.js | 0 294 files changed, 0 insertions(+), 0 deletions(-) rename .browserslistrc => app/.browserslistrc (100%) rename .dockerignore => app/.dockerignore (100%) rename .editorconfig => app/.editorconfig (100%) rename .env.example => app/.env.example (100%) rename .eslintignore => app/.eslintignore (100%) rename .eslintrc.js => app/.eslintrc.js (100%) rename .gcloudignore => app/.gcloudignore (100%) rename .sonarcloud.properties => app/.sonarcloud.properties (100%) rename COMPLIANCE.yaml => app/COMPLIANCE.yaml (100%) rename LICENSE => app/LICENSE (100%) rename babel.config.js => app/babel.config.js (100%) rename firebase.json => app/firebase.json (100%) rename jest.config.js => app/jest.config.js (100%) rename nginx.conf => app/nginx.conf (100%) rename package.json => app/package.json (100%) rename pnpm-lock.yaml => app/pnpm-lock.yaml (100%) rename postcss.config.js => app/postcss.config.js (100%) rename {public => app/public}/favicon.png (100%) rename {public => app/public}/index.html (100%) rename {public => app/public}/pdfs/groupings_of_similar_descriptive_words.pdf (100%) rename {src => app/src}/App.vue (100%) rename {src => app/src}/assets/fonts/BCSans-Bold.woff (100%) rename {src => app/src}/assets/fonts/BCSans-BoldItalic.woff (100%) rename {src => app/src}/assets/fonts/BCSans-Italic.woff (100%) rename {src => app/src}/assets/fonts/BCSans-Regular.woff (100%) rename {src => app/src}/assets/images/Constructionx1.png (100%) rename {src => app/src}/assets/images/Sarahsx1.png (100%) rename {src => app/src}/assets/images/analyze-name-bg.jpg (100%) rename {src => app/src}/assets/images/bc-gov-logo.png (100%) rename {src => app/src}/assets/images/bcnamerequest-laptop_x2.jpg (100%) rename {src => app/src}/assets/images/circle.png (100%) rename {src => app/src}/assets/images/domainicon_x1.png (100%) rename {src => app/src}/assets/images/lc-tm-search-icon.png (100%) rename {src => app/src}/assets/images/number1.svg (100%) rename {src => app/src}/assets/images/number2.svg (100%) rename {src => app/src}/assets/images/one-icon.png (100%) rename {src => app/src}/assets/images/oval.png (100%) rename {src => app/src}/assets/images/social-icon.png (100%) rename {src => app/src}/assets/images/socialicon_x1.png (100%) rename {src => app/src}/assets/images/stats-circle.png (100%) rename {src => app/src}/assets/images/two-icon.png (100%) rename {src => app/src}/assets/styles/base.scss (100%) rename {src => app/src}/assets/styles/layout.scss (100%) rename {src => app/src}/assets/styles/overrides.scss (100%) rename {src => app/src}/assets/styles/theme.scss (100%) rename {src => app/src}/components.d.ts (100%) rename {src => app/src}/components/advanced-search/advanced-search-dates.vue (100%) rename {src => app/src}/components/advanced-search/advanced-search-form.vue (100%) rename {src => app/src}/components/advanced-search/advanced-search-retrieve.vue (100%) rename {src => app/src}/components/advanced-search/advanced-search-table.vue (100%) rename {src => app/src}/components/advanced-search/index.ts (100%) rename {src => app/src}/components/common/app-title-cols.vue (100%) rename {src => app/src}/components/common/applicant-info-1.vue (100%) rename {src => app/src}/components/common/applicant-info-2.vue (100%) rename {src => app/src}/components/common/applicant-info-3.vue (100%) rename {src => app/src}/components/common/applicant-info-nav.vue (100%) rename {src => app/src}/components/common/contact-info.vue (100%) rename {src => app/src}/components/common/index.ts (100%) rename {src => app/src}/components/common/link-row.vue (100%) rename {src => app/src}/components/common/names-capture.vue (100%) rename {src => app/src}/components/common/nested-select.vue (100%) rename {src => app/src}/components/common/request-details.vue (100%) rename {src => app/src}/components/common/success.vue (100%) rename {src => app/src}/components/dialogs/advanced-search.vue (100%) rename {src => app/src}/components/dialogs/affiliation-error.vue (100%) rename {src => app/src}/components/dialogs/cancel.vue (100%) rename {src => app/src}/components/dialogs/conditions.vue (100%) rename {src => app/src}/components/dialogs/confirm-name-request.vue (100%) rename {src => app/src}/components/dialogs/create-business-error.vue (100%) rename {src => app/src}/components/dialogs/error.vue (100%) rename {src => app/src}/components/dialogs/exit-incomplete-payment.vue (100%) rename {src => app/src}/components/dialogs/exit.vue (100%) rename {src => app/src}/components/dialogs/help-me-choose.vue (100%) rename {src => app/src}/components/dialogs/index.ts (100%) rename {src => app/src}/components/dialogs/mras-search-info.vue (100%) rename {src => app/src}/components/dialogs/name-check-issues.vue (100%) rename {src => app/src}/components/dialogs/nr-not-required.vue (100%) rename {src => app/src}/components/dialogs/payment-complete.vue (100%) rename {src => app/src}/components/dialogs/pick-entity-or-conversion.vue (100%) rename {src => app/src}/components/dialogs/receipts.vue (100%) rename {src => app/src}/components/dialogs/refund.vue (100%) rename {src => app/src}/components/dialogs/renew.vue (100%) rename {src => app/src}/components/dialogs/resubmit.vue (100%) rename {src => app/src}/components/dialogs/retry.vue (100%) rename {src => app/src}/components/dialogs/societies-info-dialog.vue (100%) rename {src => app/src}/components/dialogs/staff-payment-error.vue (100%) rename {src => app/src}/components/dialogs/upgrade.vue (100%) rename {src => app/src}/components/existing-request/check-status-gray-box.vue (100%) rename {src => app/src}/components/existing-request/existing-request-display.vue (100%) rename {src => app/src}/components/existing-request/existing-request-edit.vue (100%) rename {src => app/src}/components/existing-request/existing-request-search.vue (100%) rename {src => app/src}/components/existing-request/invalid-action-message.vue (100%) rename {src => app/src}/components/existing-request/name-request-details.vue (100%) rename {src => app/src}/components/existing-request/names-gray-box.vue (100%) rename {src => app/src}/components/existing-request/nr-approved-gray-box.vue (100%) rename {src => app/src}/components/existing-request/nr-not-approved-gray-box.vue (100%) rename {src => app/src}/components/existing-request/search-help-content.vue (100%) rename {src => app/src}/components/existing-request/search-pending.vue (100%) rename {src => app/src}/components/lower-info-area/lower-container.vue (100%) rename {src => app/src}/components/lower-info-area/name-build-info.vue (100%) rename {src => app/src}/components/lower-info-area/name-build-sub-components/business-designation.vue (100%) rename {src => app/src}/components/lower-info-area/name-build-sub-components/consent-words.vue (100%) rename {src => app/src}/components/lower-info-area/name-build-sub-components/example-name.vue (100%) rename {src => app/src}/components/lower-info-area/name-build-sub-components/index.ts (100%) rename {src => app/src}/components/lower-info-area/name-build-sub-components/unavailable-words.vue (100%) rename {src => app/src}/components/lower-info-area/name-build-sub-components/unique-names.vue (100%) rename {src => app/src}/components/lower-info-area/name-build-sub-components/unknown-words.vue (100%) rename {src => app/src}/components/lower-info-area/new-and-better-way.vue (100%) rename {src => app/src}/components/new-request/business-fetch.vue (100%) rename {src => app/src}/components/new-request/business-lookup.vue (100%) rename {src => app/src}/components/new-request/constants.ts (100%) rename {src => app/src}/components/new-request/grey-box.vue (100%) rename {src => app/src}/components/new-request/main-container.vue (100%) rename {src => app/src}/components/new-request/name-check/name-check-conflicts.vue (100%) rename {src => app/src}/components/new-request/name-check/name-check-tab-content.vue (100%) rename {src => app/src}/components/new-request/name-check/name-check.vue (100%) rename {src => app/src}/components/new-request/name-check/quick-search-names.vue (100%) rename {src => app/src}/components/new-request/name-check/resources/index.ts (100%) rename {src => app/src}/components/new-request/name-check/resources/name-check-base-items-conflicts.ts (100%) rename {src => app/src}/components/new-request/name-check/resources/name-check-base-items-structure.ts (100%) rename {src => app/src}/components/new-request/name-input.vue (100%) rename {src => app/src}/components/new-request/quick-search-names.vue (100%) rename {src => app/src}/components/new-request/search-components/business-lookup-fetch.vue (100%) rename {src => app/src}/components/new-request/search-components/company-type.vue (100%) rename {src => app/src}/components/new-request/search-components/corp-number-checkbox.vue (100%) rename {src => app/src}/components/new-request/search-components/designation.vue (100%) rename {src => app/src}/components/new-request/search-components/dummy-input-box.vue (100%) rename {src => app/src}/components/new-request/search-components/entity-type.vue (100%) rename {src => app/src}/components/new-request/search-components/jurisdiction.vue (100%) rename {src => app/src}/components/new-request/search-components/numbered-company-bullets.vue (100%) rename {src => app/src}/components/new-request/search-components/request-action.vue (100%) rename {src => app/src}/components/new-request/search-components/xpro-federal-bullets.vue (100%) rename {src => app/src}/components/new-request/search.vue (100%) rename {src => app/src}/components/new-request/stats.vue (100%) rename {src => app/src}/components/new-request/submit-request/entity-cannot-be-auto-analyzed.vue (100%) rename {src => app/src}/components/new-request/submit-request/reserve-submit.vue (100%) rename {src => app/src}/components/new-request/submit-request/submission-tabs.vue (100%) rename {src => app/src}/components/new-request/submit-request/timeout.vue (100%) rename {src => app/src}/components/payment/fee-summary.vue (100%) rename {src => app/src}/components/payment/payment-confirm.vue (100%) rename {src => app/src}/components/payment/payment-summary.vue (100%) rename {src => app/src}/components/payment/payment-utils.ts (100%) rename {src => app/src}/components/payment/refund-summary.vue (100%) rename {src => app/src}/components/payment/staff-payment.vue (100%) rename {src => app/src}/components/tabs.vue (100%) rename {src => app/src}/enums/account-type.ts (100%) rename {src => app/src}/enums/advanced-search-tabs.ts (100%) rename {src => app/src}/enums/company-types.ts (100%) rename {src => app/src}/enums/entity-types.ts (100%) rename {src => app/src}/enums/furnished.ts (100%) rename {src => app/src}/enums/index.ts (100%) rename {src => app/src}/enums/jurisdictions.ts (100%) rename {src => app/src}/enums/location.ts (100%) rename {src => app/src}/enums/name-check-analysis-jurisdiction.ts (100%) rename {src => app/src}/enums/name-check-analysis-type.ts (100%) rename {src => app/src}/enums/name-check-conflict-type.ts (100%) rename {src => app/src}/enums/name-check-error-type.ts (100%) rename {src => app/src}/enums/name-check-item-type.ts (100%) rename {src => app/src}/enums/name-state.ts (100%) rename {src => app/src}/enums/nr-action.ts (100%) rename {src => app/src}/enums/nr-affiliation-errors.ts (100%) rename {src => app/src}/enums/nr-state.ts (100%) rename {src => app/src}/enums/nr-type.ts (100%) rename {src => app/src}/enums/payment-action.ts (100%) rename {src => app/src}/enums/payment-method.ts (100%) rename {src => app/src}/enums/payment-status.ts (100%) rename {src => app/src}/enums/priority-code.ts (100%) rename {src => app/src}/enums/rollback-actions.ts (100%) rename {src => app/src}/enums/routes.ts (100%) rename {src => app/src}/enums/sbc-payment-status.ts (100%) rename {src => app/src}/enums/search-states.ts (100%) rename {src => app/src}/enums/xpro-name-type.ts (100%) rename {src => app/src}/errors/index.ts (100%) rename {src => app/src}/interfaces/business.ts (100%) rename {src => app/src}/interfaces/designation.ts (100%) rename {src => app/src}/interfaces/dialog-options.ts (100%) rename {src => app/src}/interfaces/env-config.ts (100%) rename {src => app/src}/interfaces/form-type.ts (100%) rename {src => app/src}/interfaces/index.ts (100%) rename {src => app/src}/interfaces/jurisdiction.ts (100%) rename {src => app/src}/interfaces/models.ts (100%) rename {src => app/src}/interfaces/name-check-interfaces/cleaned-name-interface.ts (100%) rename {src => app/src}/interfaces/name-check-interfaces/conditional-instructions.ts (100%) rename {src => app/src}/interfaces/name-check-interfaces/conflict-list-item.ts (100%) rename {src => app/src}/interfaces/name-check-interfaces/index.ts (100%) rename {src => app/src}/interfaces/name-check-interfaces/name-check-error.ts (100%) rename {src => app/src}/interfaces/name-check-interfaces/name-check-item-interface.ts (100%) rename {src => app/src}/interfaces/name-check-interfaces/name-check-model-interface.ts (100%) rename {src => app/src}/interfaces/name-check-interfaces/parsed-restricted-response-interface.ts (100%) rename {src => app/src}/interfaces/name-check-interfaces/quick-search-params.ts (100%) rename {src => app/src}/interfaces/name-check-interfaces/quick-search-parsed-resp.ts (100%) rename {src => app/src}/interfaces/name-check-interfaces/restricted-response-interface.ts (100%) rename {src => app/src}/interfaces/name-choices-interface.ts (100%) rename {src => app/src}/interfaces/new-request-interface.ts (100%) rename {src => app/src}/interfaces/nr-data-interface.ts (100%) rename {src => app/src}/interfaces/refund-params-interface.ts (100%) rename {src => app/src}/interfaces/request-or-consent-interface.ts (100%) rename {src => app/src}/interfaces/root-state-interface.ts (100%) rename {src => app/src}/interfaces/state-interface.ts (100%) rename {src => app/src}/interfaces/store-interfaces/action-interface.ts (100%) rename {src => app/src}/interfaces/store-interfaces/index.ts (100%) rename {src => app/src}/list-data/canada-jurisdictions.ts (100%) rename {src => app/src}/list-data/conversion-types.ts (100%) rename {src => app/src}/list-data/designations.ts (100%) rename {src => app/src}/list-data/entity-type-data.ts (100%) rename {src => app/src}/list-data/index.ts (100%) rename {src => app/src}/list-data/intl-jurisdictions.ts (100%) rename {src => app/src}/list-data/locations.ts (100%) rename {src => app/src}/list-data/request-action-mapping.ts (100%) rename {src => app/src}/list-data/request-actions.ts (100%) rename {src => app/src}/list-data/us-states.ts (100%) rename {src => app/src}/main.ts (100%) rename {src => app/src}/mixins/action-mixin.ts (100%) rename {src => app/src}/mixins/common-mixin.ts (100%) rename {src => app/src}/mixins/date-mixin.ts (100%) rename {src => app/src}/mixins/displayed-component-mixin.ts (100%) rename {src => app/src}/mixins/index.ts (100%) rename {src => app/src}/mixins/load-keycloak-roles-mixin.ts (100%) rename {src => app/src}/mixins/nr-affiliation-mixin.ts (100%) rename {src => app/src}/mixins/payment-mixin.ts (100%) rename {src => app/src}/mixins/payment-session-mixin.ts (100%) rename {src => app/src}/mixins/search-mixin.ts (100%) rename {src => app/src}/mixins/update-user-mixin.ts (100%) rename {src => app/src}/modules/error/index.ts (100%) rename {src => app/src}/modules/error/store/actions.ts (100%) rename {src => app/src}/modules/error/store/getters.ts (100%) rename {src => app/src}/modules/error/store/index.ts (100%) rename {src => app/src}/modules/error/store/mutations.ts (100%) rename {src => app/src}/modules/error/store/types.ts (100%) rename {src => app/src}/modules/payment/filing-types.ts (100%) rename {src => app/src}/modules/payment/index.ts (100%) rename {src => app/src}/modules/payment/models.ts (100%) rename {src => app/src}/modules/payment/store/actions.ts (100%) rename {src => app/src}/modules/payment/store/getters.ts (100%) rename {src => app/src}/modules/payment/store/index.ts (100%) rename {src => app/src}/modules/payment/store/mutations.ts (100%) rename {src => app/src}/modules/payment/store/types.ts (100%) rename {src => app/src}/plugins/authHelper.ts (100%) rename {src => app/src}/plugins/featureFlags.ts (100%) rename {src => app/src}/plugins/getConfig.ts (100%) rename {src => app/src}/plugins/index.ts (100%) rename {src => app/src}/plugins/interceptors.ts (100%) rename {src => app/src}/plugins/navigate.ts (100%) rename {src => app/src}/plugins/sleep.ts (100%) rename {src => app/src}/plugins/utilities.ts (100%) rename {src => app/src}/plugins/vuetify.ts (100%) rename {src => app/src}/resources/breadcrumb-resources.ts (100%) rename {src => app/src}/resources/index.ts (100%) rename {src => app/src}/router/index.ts (100%) rename {src => app/src}/router/router.ts (100%) rename {src => app/src}/router/routes.ts (100%) rename {src => app/src}/services/auth-services.ts (100%) rename {src => app/src}/services/business-lookup-services.ts (100%) rename {src => app/src}/services/business-services.ts (100%) rename {src => app/src}/services/namex-services.ts (100%) rename {src => app/src}/shims-vue.d.ts (100%) rename {src => app/src}/store/actions.ts (100%) rename {src => app/src}/store/config.ts (100%) rename {src => app/src}/store/getters.ts (100%) rename {src => app/src}/store/index.ts (100%) rename {src => app/src}/store/mutations.ts (100%) rename {src => app/src}/store/state.ts (100%) rename {src => app/src}/views/auth/Signin.vue (100%) rename {src => app/src}/views/auth/Signout.vue (100%) rename {src => app/src}/views/index.ts (100%) rename {src => app/src}/views/landing.vue (100%) rename {src => app/src}/vue-test-utils-helpers.d.ts (100%) rename {tests => app/tests}/mixin-tester.vue (100%) rename {tests => app/tests}/setup.ts (100%) rename {tests => app/tests}/unit/App.spec.ts (100%) rename {tests => app/tests}/unit/analyze-pending.spec.ts (100%) rename {tests => app/tests}/unit/analyze-results.spec.ts (100%) rename {tests => app/tests}/unit/api/get-name-analysis.ts (100%) rename {tests => app/tests}/unit/applicant-info-1.spec.ts (100%) rename {tests => app/tests}/unit/applicant-info-2.spec.ts (100%) rename {tests => app/tests}/unit/date-mixin.spec.ts (100%) rename {tests => app/tests}/unit/dialogs/nr-not-required.spec.ts (100%) rename {tests => app/tests}/unit/dialogs/pick-entity-or-conversion.spec.ts (100%) rename {tests => app/tests}/unit/dialogs/staff-payment-error.spec.ts (100%) rename {tests => app/tests}/unit/landing.spec.ts (100%) rename {tests => app/tests}/unit/link-row.spec.ts (100%) rename {tests => app/tests}/unit/mocks/analyze-results.vue (100%) rename {tests => app/tests}/unit/mocks/quill-editor.ts (100%) rename {tests => app/tests}/unit/name-build-info.spec.ts (100%) rename {tests => app/tests}/unit/name-input.spec.ts (100%) rename {tests => app/tests}/unit/names-capture.spec.ts (100%) rename {tests => app/tests}/unit/new-request-module.spec.ts (100%) rename {tests => app/tests}/unit/new-search.spec.ts (100%) rename {tests => app/tests}/unit/reserve-submit.spec.ts (100%) rename {tests => app/tests}/unit/search-pending.spec.ts (100%) rename {tests => app/tests}/unit/search.spec.ts (100%) rename tsconfig.json => app/tsconfig.json (100%) rename volar.config.js => app/volar.config.js (100%) rename vue.config.js => app/vue.config.js (100%) diff --git a/.browserslistrc b/app/.browserslistrc similarity index 100% rename from .browserslistrc rename to app/.browserslistrc diff --git a/.dockerignore b/app/.dockerignore similarity index 100% rename from .dockerignore rename to app/.dockerignore diff --git a/.editorconfig b/app/.editorconfig similarity index 100% rename from .editorconfig rename to app/.editorconfig diff --git a/.env.example b/app/.env.example similarity index 100% rename from .env.example rename to app/.env.example diff --git a/.eslintignore b/app/.eslintignore similarity index 100% rename from .eslintignore rename to app/.eslintignore diff --git a/.eslintrc.js b/app/.eslintrc.js similarity index 100% rename from .eslintrc.js rename to app/.eslintrc.js diff --git a/.gcloudignore b/app/.gcloudignore similarity index 100% rename from .gcloudignore rename to app/.gcloudignore diff --git a/.sonarcloud.properties b/app/.sonarcloud.properties similarity index 100% rename from .sonarcloud.properties rename to app/.sonarcloud.properties diff --git a/COMPLIANCE.yaml b/app/COMPLIANCE.yaml similarity index 100% rename from COMPLIANCE.yaml rename to app/COMPLIANCE.yaml diff --git a/LICENSE b/app/LICENSE similarity index 100% rename from LICENSE rename to app/LICENSE diff --git a/babel.config.js b/app/babel.config.js similarity index 100% rename from babel.config.js rename to app/babel.config.js diff --git a/firebase.json b/app/firebase.json similarity index 100% rename from firebase.json rename to app/firebase.json diff --git a/jest.config.js b/app/jest.config.js similarity index 100% rename from jest.config.js rename to app/jest.config.js diff --git a/nginx.conf b/app/nginx.conf similarity index 100% rename from nginx.conf rename to app/nginx.conf diff --git a/package.json b/app/package.json similarity index 100% rename from package.json rename to app/package.json diff --git a/pnpm-lock.yaml b/app/pnpm-lock.yaml similarity index 100% rename from pnpm-lock.yaml rename to app/pnpm-lock.yaml diff --git a/postcss.config.js b/app/postcss.config.js similarity index 100% rename from postcss.config.js rename to app/postcss.config.js diff --git a/public/favicon.png b/app/public/favicon.png similarity index 100% rename from public/favicon.png rename to app/public/favicon.png diff --git a/public/index.html b/app/public/index.html similarity index 100% rename from public/index.html rename to app/public/index.html diff --git a/public/pdfs/groupings_of_similar_descriptive_words.pdf b/app/public/pdfs/groupings_of_similar_descriptive_words.pdf similarity index 100% rename from public/pdfs/groupings_of_similar_descriptive_words.pdf rename to app/public/pdfs/groupings_of_similar_descriptive_words.pdf diff --git a/src/App.vue b/app/src/App.vue similarity index 100% rename from src/App.vue rename to app/src/App.vue diff --git a/src/assets/fonts/BCSans-Bold.woff b/app/src/assets/fonts/BCSans-Bold.woff similarity index 100% rename from src/assets/fonts/BCSans-Bold.woff rename to app/src/assets/fonts/BCSans-Bold.woff diff --git a/src/assets/fonts/BCSans-BoldItalic.woff b/app/src/assets/fonts/BCSans-BoldItalic.woff similarity index 100% rename from src/assets/fonts/BCSans-BoldItalic.woff rename to app/src/assets/fonts/BCSans-BoldItalic.woff diff --git a/src/assets/fonts/BCSans-Italic.woff b/app/src/assets/fonts/BCSans-Italic.woff similarity index 100% rename from src/assets/fonts/BCSans-Italic.woff rename to app/src/assets/fonts/BCSans-Italic.woff diff --git a/src/assets/fonts/BCSans-Regular.woff b/app/src/assets/fonts/BCSans-Regular.woff similarity index 100% rename from src/assets/fonts/BCSans-Regular.woff rename to app/src/assets/fonts/BCSans-Regular.woff diff --git a/src/assets/images/Constructionx1.png b/app/src/assets/images/Constructionx1.png similarity index 100% rename from src/assets/images/Constructionx1.png rename to app/src/assets/images/Constructionx1.png diff --git a/src/assets/images/Sarahsx1.png b/app/src/assets/images/Sarahsx1.png similarity index 100% rename from src/assets/images/Sarahsx1.png rename to app/src/assets/images/Sarahsx1.png diff --git a/src/assets/images/analyze-name-bg.jpg b/app/src/assets/images/analyze-name-bg.jpg similarity index 100% rename from src/assets/images/analyze-name-bg.jpg rename to app/src/assets/images/analyze-name-bg.jpg diff --git a/src/assets/images/bc-gov-logo.png b/app/src/assets/images/bc-gov-logo.png similarity index 100% rename from src/assets/images/bc-gov-logo.png rename to app/src/assets/images/bc-gov-logo.png diff --git a/src/assets/images/bcnamerequest-laptop_x2.jpg b/app/src/assets/images/bcnamerequest-laptop_x2.jpg similarity index 100% rename from src/assets/images/bcnamerequest-laptop_x2.jpg rename to app/src/assets/images/bcnamerequest-laptop_x2.jpg diff --git a/src/assets/images/circle.png b/app/src/assets/images/circle.png similarity index 100% rename from src/assets/images/circle.png rename to app/src/assets/images/circle.png diff --git a/src/assets/images/domainicon_x1.png b/app/src/assets/images/domainicon_x1.png similarity index 100% rename from src/assets/images/domainicon_x1.png rename to app/src/assets/images/domainicon_x1.png diff --git a/src/assets/images/lc-tm-search-icon.png b/app/src/assets/images/lc-tm-search-icon.png similarity index 100% rename from src/assets/images/lc-tm-search-icon.png rename to app/src/assets/images/lc-tm-search-icon.png diff --git a/src/assets/images/number1.svg b/app/src/assets/images/number1.svg similarity index 100% rename from src/assets/images/number1.svg rename to app/src/assets/images/number1.svg diff --git a/src/assets/images/number2.svg b/app/src/assets/images/number2.svg similarity index 100% rename from src/assets/images/number2.svg rename to app/src/assets/images/number2.svg diff --git a/src/assets/images/one-icon.png b/app/src/assets/images/one-icon.png similarity index 100% rename from src/assets/images/one-icon.png rename to app/src/assets/images/one-icon.png diff --git a/src/assets/images/oval.png b/app/src/assets/images/oval.png similarity index 100% rename from src/assets/images/oval.png rename to app/src/assets/images/oval.png diff --git a/src/assets/images/social-icon.png b/app/src/assets/images/social-icon.png similarity index 100% rename from src/assets/images/social-icon.png rename to app/src/assets/images/social-icon.png diff --git a/src/assets/images/socialicon_x1.png b/app/src/assets/images/socialicon_x1.png similarity index 100% rename from src/assets/images/socialicon_x1.png rename to app/src/assets/images/socialicon_x1.png diff --git a/src/assets/images/stats-circle.png b/app/src/assets/images/stats-circle.png similarity index 100% rename from src/assets/images/stats-circle.png rename to app/src/assets/images/stats-circle.png diff --git a/src/assets/images/two-icon.png b/app/src/assets/images/two-icon.png similarity index 100% rename from src/assets/images/two-icon.png rename to app/src/assets/images/two-icon.png diff --git a/src/assets/styles/base.scss b/app/src/assets/styles/base.scss similarity index 100% rename from src/assets/styles/base.scss rename to app/src/assets/styles/base.scss diff --git a/src/assets/styles/layout.scss b/app/src/assets/styles/layout.scss similarity index 100% rename from src/assets/styles/layout.scss rename to app/src/assets/styles/layout.scss diff --git a/src/assets/styles/overrides.scss b/app/src/assets/styles/overrides.scss similarity index 100% rename from src/assets/styles/overrides.scss rename to app/src/assets/styles/overrides.scss diff --git a/src/assets/styles/theme.scss b/app/src/assets/styles/theme.scss similarity index 100% rename from src/assets/styles/theme.scss rename to app/src/assets/styles/theme.scss diff --git a/src/components.d.ts b/app/src/components.d.ts similarity index 100% rename from src/components.d.ts rename to app/src/components.d.ts diff --git a/src/components/advanced-search/advanced-search-dates.vue b/app/src/components/advanced-search/advanced-search-dates.vue similarity index 100% rename from src/components/advanced-search/advanced-search-dates.vue rename to app/src/components/advanced-search/advanced-search-dates.vue diff --git a/src/components/advanced-search/advanced-search-form.vue b/app/src/components/advanced-search/advanced-search-form.vue similarity index 100% rename from src/components/advanced-search/advanced-search-form.vue rename to app/src/components/advanced-search/advanced-search-form.vue diff --git a/src/components/advanced-search/advanced-search-retrieve.vue b/app/src/components/advanced-search/advanced-search-retrieve.vue similarity index 100% rename from src/components/advanced-search/advanced-search-retrieve.vue rename to app/src/components/advanced-search/advanced-search-retrieve.vue diff --git a/src/components/advanced-search/advanced-search-table.vue b/app/src/components/advanced-search/advanced-search-table.vue similarity index 100% rename from src/components/advanced-search/advanced-search-table.vue rename to app/src/components/advanced-search/advanced-search-table.vue diff --git a/src/components/advanced-search/index.ts b/app/src/components/advanced-search/index.ts similarity index 100% rename from src/components/advanced-search/index.ts rename to app/src/components/advanced-search/index.ts diff --git a/src/components/common/app-title-cols.vue b/app/src/components/common/app-title-cols.vue similarity index 100% rename from src/components/common/app-title-cols.vue rename to app/src/components/common/app-title-cols.vue diff --git a/src/components/common/applicant-info-1.vue b/app/src/components/common/applicant-info-1.vue similarity index 100% rename from src/components/common/applicant-info-1.vue rename to app/src/components/common/applicant-info-1.vue diff --git a/src/components/common/applicant-info-2.vue b/app/src/components/common/applicant-info-2.vue similarity index 100% rename from src/components/common/applicant-info-2.vue rename to app/src/components/common/applicant-info-2.vue diff --git a/src/components/common/applicant-info-3.vue b/app/src/components/common/applicant-info-3.vue similarity index 100% rename from src/components/common/applicant-info-3.vue rename to app/src/components/common/applicant-info-3.vue diff --git a/src/components/common/applicant-info-nav.vue b/app/src/components/common/applicant-info-nav.vue similarity index 100% rename from src/components/common/applicant-info-nav.vue rename to app/src/components/common/applicant-info-nav.vue diff --git a/src/components/common/contact-info.vue b/app/src/components/common/contact-info.vue similarity index 100% rename from src/components/common/contact-info.vue rename to app/src/components/common/contact-info.vue diff --git a/src/components/common/index.ts b/app/src/components/common/index.ts similarity index 100% rename from src/components/common/index.ts rename to app/src/components/common/index.ts diff --git a/src/components/common/link-row.vue b/app/src/components/common/link-row.vue similarity index 100% rename from src/components/common/link-row.vue rename to app/src/components/common/link-row.vue diff --git a/src/components/common/names-capture.vue b/app/src/components/common/names-capture.vue similarity index 100% rename from src/components/common/names-capture.vue rename to app/src/components/common/names-capture.vue diff --git a/src/components/common/nested-select.vue b/app/src/components/common/nested-select.vue similarity index 100% rename from src/components/common/nested-select.vue rename to app/src/components/common/nested-select.vue diff --git a/src/components/common/request-details.vue b/app/src/components/common/request-details.vue similarity index 100% rename from src/components/common/request-details.vue rename to app/src/components/common/request-details.vue diff --git a/src/components/common/success.vue b/app/src/components/common/success.vue similarity index 100% rename from src/components/common/success.vue rename to app/src/components/common/success.vue diff --git a/src/components/dialogs/advanced-search.vue b/app/src/components/dialogs/advanced-search.vue similarity index 100% rename from src/components/dialogs/advanced-search.vue rename to app/src/components/dialogs/advanced-search.vue diff --git a/src/components/dialogs/affiliation-error.vue b/app/src/components/dialogs/affiliation-error.vue similarity index 100% rename from src/components/dialogs/affiliation-error.vue rename to app/src/components/dialogs/affiliation-error.vue diff --git a/src/components/dialogs/cancel.vue b/app/src/components/dialogs/cancel.vue similarity index 100% rename from src/components/dialogs/cancel.vue rename to app/src/components/dialogs/cancel.vue diff --git a/src/components/dialogs/conditions.vue b/app/src/components/dialogs/conditions.vue similarity index 100% rename from src/components/dialogs/conditions.vue rename to app/src/components/dialogs/conditions.vue diff --git a/src/components/dialogs/confirm-name-request.vue b/app/src/components/dialogs/confirm-name-request.vue similarity index 100% rename from src/components/dialogs/confirm-name-request.vue rename to app/src/components/dialogs/confirm-name-request.vue diff --git a/src/components/dialogs/create-business-error.vue b/app/src/components/dialogs/create-business-error.vue similarity index 100% rename from src/components/dialogs/create-business-error.vue rename to app/src/components/dialogs/create-business-error.vue diff --git a/src/components/dialogs/error.vue b/app/src/components/dialogs/error.vue similarity index 100% rename from src/components/dialogs/error.vue rename to app/src/components/dialogs/error.vue diff --git a/src/components/dialogs/exit-incomplete-payment.vue b/app/src/components/dialogs/exit-incomplete-payment.vue similarity index 100% rename from src/components/dialogs/exit-incomplete-payment.vue rename to app/src/components/dialogs/exit-incomplete-payment.vue diff --git a/src/components/dialogs/exit.vue b/app/src/components/dialogs/exit.vue similarity index 100% rename from src/components/dialogs/exit.vue rename to app/src/components/dialogs/exit.vue diff --git a/src/components/dialogs/help-me-choose.vue b/app/src/components/dialogs/help-me-choose.vue similarity index 100% rename from src/components/dialogs/help-me-choose.vue rename to app/src/components/dialogs/help-me-choose.vue diff --git a/src/components/dialogs/index.ts b/app/src/components/dialogs/index.ts similarity index 100% rename from src/components/dialogs/index.ts rename to app/src/components/dialogs/index.ts diff --git a/src/components/dialogs/mras-search-info.vue b/app/src/components/dialogs/mras-search-info.vue similarity index 100% rename from src/components/dialogs/mras-search-info.vue rename to app/src/components/dialogs/mras-search-info.vue diff --git a/src/components/dialogs/name-check-issues.vue b/app/src/components/dialogs/name-check-issues.vue similarity index 100% rename from src/components/dialogs/name-check-issues.vue rename to app/src/components/dialogs/name-check-issues.vue diff --git a/src/components/dialogs/nr-not-required.vue b/app/src/components/dialogs/nr-not-required.vue similarity index 100% rename from src/components/dialogs/nr-not-required.vue rename to app/src/components/dialogs/nr-not-required.vue diff --git a/src/components/dialogs/payment-complete.vue b/app/src/components/dialogs/payment-complete.vue similarity index 100% rename from src/components/dialogs/payment-complete.vue rename to app/src/components/dialogs/payment-complete.vue diff --git a/src/components/dialogs/pick-entity-or-conversion.vue b/app/src/components/dialogs/pick-entity-or-conversion.vue similarity index 100% rename from src/components/dialogs/pick-entity-or-conversion.vue rename to app/src/components/dialogs/pick-entity-or-conversion.vue diff --git a/src/components/dialogs/receipts.vue b/app/src/components/dialogs/receipts.vue similarity index 100% rename from src/components/dialogs/receipts.vue rename to app/src/components/dialogs/receipts.vue diff --git a/src/components/dialogs/refund.vue b/app/src/components/dialogs/refund.vue similarity index 100% rename from src/components/dialogs/refund.vue rename to app/src/components/dialogs/refund.vue diff --git a/src/components/dialogs/renew.vue b/app/src/components/dialogs/renew.vue similarity index 100% rename from src/components/dialogs/renew.vue rename to app/src/components/dialogs/renew.vue diff --git a/src/components/dialogs/resubmit.vue b/app/src/components/dialogs/resubmit.vue similarity index 100% rename from src/components/dialogs/resubmit.vue rename to app/src/components/dialogs/resubmit.vue diff --git a/src/components/dialogs/retry.vue b/app/src/components/dialogs/retry.vue similarity index 100% rename from src/components/dialogs/retry.vue rename to app/src/components/dialogs/retry.vue diff --git a/src/components/dialogs/societies-info-dialog.vue b/app/src/components/dialogs/societies-info-dialog.vue similarity index 100% rename from src/components/dialogs/societies-info-dialog.vue rename to app/src/components/dialogs/societies-info-dialog.vue diff --git a/src/components/dialogs/staff-payment-error.vue b/app/src/components/dialogs/staff-payment-error.vue similarity index 100% rename from src/components/dialogs/staff-payment-error.vue rename to app/src/components/dialogs/staff-payment-error.vue diff --git a/src/components/dialogs/upgrade.vue b/app/src/components/dialogs/upgrade.vue similarity index 100% rename from src/components/dialogs/upgrade.vue rename to app/src/components/dialogs/upgrade.vue diff --git a/src/components/existing-request/check-status-gray-box.vue b/app/src/components/existing-request/check-status-gray-box.vue similarity index 100% rename from src/components/existing-request/check-status-gray-box.vue rename to app/src/components/existing-request/check-status-gray-box.vue diff --git a/src/components/existing-request/existing-request-display.vue b/app/src/components/existing-request/existing-request-display.vue similarity index 100% rename from src/components/existing-request/existing-request-display.vue rename to app/src/components/existing-request/existing-request-display.vue diff --git a/src/components/existing-request/existing-request-edit.vue b/app/src/components/existing-request/existing-request-edit.vue similarity index 100% rename from src/components/existing-request/existing-request-edit.vue rename to app/src/components/existing-request/existing-request-edit.vue diff --git a/src/components/existing-request/existing-request-search.vue b/app/src/components/existing-request/existing-request-search.vue similarity index 100% rename from src/components/existing-request/existing-request-search.vue rename to app/src/components/existing-request/existing-request-search.vue diff --git a/src/components/existing-request/invalid-action-message.vue b/app/src/components/existing-request/invalid-action-message.vue similarity index 100% rename from src/components/existing-request/invalid-action-message.vue rename to app/src/components/existing-request/invalid-action-message.vue diff --git a/src/components/existing-request/name-request-details.vue b/app/src/components/existing-request/name-request-details.vue similarity index 100% rename from src/components/existing-request/name-request-details.vue rename to app/src/components/existing-request/name-request-details.vue diff --git a/src/components/existing-request/names-gray-box.vue b/app/src/components/existing-request/names-gray-box.vue similarity index 100% rename from src/components/existing-request/names-gray-box.vue rename to app/src/components/existing-request/names-gray-box.vue diff --git a/src/components/existing-request/nr-approved-gray-box.vue b/app/src/components/existing-request/nr-approved-gray-box.vue similarity index 100% rename from src/components/existing-request/nr-approved-gray-box.vue rename to app/src/components/existing-request/nr-approved-gray-box.vue diff --git a/src/components/existing-request/nr-not-approved-gray-box.vue b/app/src/components/existing-request/nr-not-approved-gray-box.vue similarity index 100% rename from src/components/existing-request/nr-not-approved-gray-box.vue rename to app/src/components/existing-request/nr-not-approved-gray-box.vue diff --git a/src/components/existing-request/search-help-content.vue b/app/src/components/existing-request/search-help-content.vue similarity index 100% rename from src/components/existing-request/search-help-content.vue rename to app/src/components/existing-request/search-help-content.vue diff --git a/src/components/existing-request/search-pending.vue b/app/src/components/existing-request/search-pending.vue similarity index 100% rename from src/components/existing-request/search-pending.vue rename to app/src/components/existing-request/search-pending.vue diff --git a/src/components/lower-info-area/lower-container.vue b/app/src/components/lower-info-area/lower-container.vue similarity index 100% rename from src/components/lower-info-area/lower-container.vue rename to app/src/components/lower-info-area/lower-container.vue diff --git a/src/components/lower-info-area/name-build-info.vue b/app/src/components/lower-info-area/name-build-info.vue similarity index 100% rename from src/components/lower-info-area/name-build-info.vue rename to app/src/components/lower-info-area/name-build-info.vue diff --git a/src/components/lower-info-area/name-build-sub-components/business-designation.vue b/app/src/components/lower-info-area/name-build-sub-components/business-designation.vue similarity index 100% rename from src/components/lower-info-area/name-build-sub-components/business-designation.vue rename to app/src/components/lower-info-area/name-build-sub-components/business-designation.vue diff --git a/src/components/lower-info-area/name-build-sub-components/consent-words.vue b/app/src/components/lower-info-area/name-build-sub-components/consent-words.vue similarity index 100% rename from src/components/lower-info-area/name-build-sub-components/consent-words.vue rename to app/src/components/lower-info-area/name-build-sub-components/consent-words.vue diff --git a/src/components/lower-info-area/name-build-sub-components/example-name.vue b/app/src/components/lower-info-area/name-build-sub-components/example-name.vue similarity index 100% rename from src/components/lower-info-area/name-build-sub-components/example-name.vue rename to app/src/components/lower-info-area/name-build-sub-components/example-name.vue diff --git a/src/components/lower-info-area/name-build-sub-components/index.ts b/app/src/components/lower-info-area/name-build-sub-components/index.ts similarity index 100% rename from src/components/lower-info-area/name-build-sub-components/index.ts rename to app/src/components/lower-info-area/name-build-sub-components/index.ts diff --git a/src/components/lower-info-area/name-build-sub-components/unavailable-words.vue b/app/src/components/lower-info-area/name-build-sub-components/unavailable-words.vue similarity index 100% rename from src/components/lower-info-area/name-build-sub-components/unavailable-words.vue rename to app/src/components/lower-info-area/name-build-sub-components/unavailable-words.vue diff --git a/src/components/lower-info-area/name-build-sub-components/unique-names.vue b/app/src/components/lower-info-area/name-build-sub-components/unique-names.vue similarity index 100% rename from src/components/lower-info-area/name-build-sub-components/unique-names.vue rename to app/src/components/lower-info-area/name-build-sub-components/unique-names.vue diff --git a/src/components/lower-info-area/name-build-sub-components/unknown-words.vue b/app/src/components/lower-info-area/name-build-sub-components/unknown-words.vue similarity index 100% rename from src/components/lower-info-area/name-build-sub-components/unknown-words.vue rename to app/src/components/lower-info-area/name-build-sub-components/unknown-words.vue diff --git a/src/components/lower-info-area/new-and-better-way.vue b/app/src/components/lower-info-area/new-and-better-way.vue similarity index 100% rename from src/components/lower-info-area/new-and-better-way.vue rename to app/src/components/lower-info-area/new-and-better-way.vue diff --git a/src/components/new-request/business-fetch.vue b/app/src/components/new-request/business-fetch.vue similarity index 100% rename from src/components/new-request/business-fetch.vue rename to app/src/components/new-request/business-fetch.vue diff --git a/src/components/new-request/business-lookup.vue b/app/src/components/new-request/business-lookup.vue similarity index 100% rename from src/components/new-request/business-lookup.vue rename to app/src/components/new-request/business-lookup.vue diff --git a/src/components/new-request/constants.ts b/app/src/components/new-request/constants.ts similarity index 100% rename from src/components/new-request/constants.ts rename to app/src/components/new-request/constants.ts diff --git a/src/components/new-request/grey-box.vue b/app/src/components/new-request/grey-box.vue similarity index 100% rename from src/components/new-request/grey-box.vue rename to app/src/components/new-request/grey-box.vue diff --git a/src/components/new-request/main-container.vue b/app/src/components/new-request/main-container.vue similarity index 100% rename from src/components/new-request/main-container.vue rename to app/src/components/new-request/main-container.vue diff --git a/src/components/new-request/name-check/name-check-conflicts.vue b/app/src/components/new-request/name-check/name-check-conflicts.vue similarity index 100% rename from src/components/new-request/name-check/name-check-conflicts.vue rename to app/src/components/new-request/name-check/name-check-conflicts.vue diff --git a/src/components/new-request/name-check/name-check-tab-content.vue b/app/src/components/new-request/name-check/name-check-tab-content.vue similarity index 100% rename from src/components/new-request/name-check/name-check-tab-content.vue rename to app/src/components/new-request/name-check/name-check-tab-content.vue diff --git a/src/components/new-request/name-check/name-check.vue b/app/src/components/new-request/name-check/name-check.vue similarity index 100% rename from src/components/new-request/name-check/name-check.vue rename to app/src/components/new-request/name-check/name-check.vue diff --git a/src/components/new-request/name-check/quick-search-names.vue b/app/src/components/new-request/name-check/quick-search-names.vue similarity index 100% rename from src/components/new-request/name-check/quick-search-names.vue rename to app/src/components/new-request/name-check/quick-search-names.vue diff --git a/src/components/new-request/name-check/resources/index.ts b/app/src/components/new-request/name-check/resources/index.ts similarity index 100% rename from src/components/new-request/name-check/resources/index.ts rename to app/src/components/new-request/name-check/resources/index.ts diff --git a/src/components/new-request/name-check/resources/name-check-base-items-conflicts.ts b/app/src/components/new-request/name-check/resources/name-check-base-items-conflicts.ts similarity index 100% rename from src/components/new-request/name-check/resources/name-check-base-items-conflicts.ts rename to app/src/components/new-request/name-check/resources/name-check-base-items-conflicts.ts diff --git a/src/components/new-request/name-check/resources/name-check-base-items-structure.ts b/app/src/components/new-request/name-check/resources/name-check-base-items-structure.ts similarity index 100% rename from src/components/new-request/name-check/resources/name-check-base-items-structure.ts rename to app/src/components/new-request/name-check/resources/name-check-base-items-structure.ts diff --git a/src/components/new-request/name-input.vue b/app/src/components/new-request/name-input.vue similarity index 100% rename from src/components/new-request/name-input.vue rename to app/src/components/new-request/name-input.vue diff --git a/src/components/new-request/quick-search-names.vue b/app/src/components/new-request/quick-search-names.vue similarity index 100% rename from src/components/new-request/quick-search-names.vue rename to app/src/components/new-request/quick-search-names.vue diff --git a/src/components/new-request/search-components/business-lookup-fetch.vue b/app/src/components/new-request/search-components/business-lookup-fetch.vue similarity index 100% rename from src/components/new-request/search-components/business-lookup-fetch.vue rename to app/src/components/new-request/search-components/business-lookup-fetch.vue diff --git a/src/components/new-request/search-components/company-type.vue b/app/src/components/new-request/search-components/company-type.vue similarity index 100% rename from src/components/new-request/search-components/company-type.vue rename to app/src/components/new-request/search-components/company-type.vue diff --git a/src/components/new-request/search-components/corp-number-checkbox.vue b/app/src/components/new-request/search-components/corp-number-checkbox.vue similarity index 100% rename from src/components/new-request/search-components/corp-number-checkbox.vue rename to app/src/components/new-request/search-components/corp-number-checkbox.vue diff --git a/src/components/new-request/search-components/designation.vue b/app/src/components/new-request/search-components/designation.vue similarity index 100% rename from src/components/new-request/search-components/designation.vue rename to app/src/components/new-request/search-components/designation.vue diff --git a/src/components/new-request/search-components/dummy-input-box.vue b/app/src/components/new-request/search-components/dummy-input-box.vue similarity index 100% rename from src/components/new-request/search-components/dummy-input-box.vue rename to app/src/components/new-request/search-components/dummy-input-box.vue diff --git a/src/components/new-request/search-components/entity-type.vue b/app/src/components/new-request/search-components/entity-type.vue similarity index 100% rename from src/components/new-request/search-components/entity-type.vue rename to app/src/components/new-request/search-components/entity-type.vue diff --git a/src/components/new-request/search-components/jurisdiction.vue b/app/src/components/new-request/search-components/jurisdiction.vue similarity index 100% rename from src/components/new-request/search-components/jurisdiction.vue rename to app/src/components/new-request/search-components/jurisdiction.vue diff --git a/src/components/new-request/search-components/numbered-company-bullets.vue b/app/src/components/new-request/search-components/numbered-company-bullets.vue similarity index 100% rename from src/components/new-request/search-components/numbered-company-bullets.vue rename to app/src/components/new-request/search-components/numbered-company-bullets.vue diff --git a/src/components/new-request/search-components/request-action.vue b/app/src/components/new-request/search-components/request-action.vue similarity index 100% rename from src/components/new-request/search-components/request-action.vue rename to app/src/components/new-request/search-components/request-action.vue diff --git a/src/components/new-request/search-components/xpro-federal-bullets.vue b/app/src/components/new-request/search-components/xpro-federal-bullets.vue similarity index 100% rename from src/components/new-request/search-components/xpro-federal-bullets.vue rename to app/src/components/new-request/search-components/xpro-federal-bullets.vue diff --git a/src/components/new-request/search.vue b/app/src/components/new-request/search.vue similarity index 100% rename from src/components/new-request/search.vue rename to app/src/components/new-request/search.vue diff --git a/src/components/new-request/stats.vue b/app/src/components/new-request/stats.vue similarity index 100% rename from src/components/new-request/stats.vue rename to app/src/components/new-request/stats.vue diff --git a/src/components/new-request/submit-request/entity-cannot-be-auto-analyzed.vue b/app/src/components/new-request/submit-request/entity-cannot-be-auto-analyzed.vue similarity index 100% rename from src/components/new-request/submit-request/entity-cannot-be-auto-analyzed.vue rename to app/src/components/new-request/submit-request/entity-cannot-be-auto-analyzed.vue diff --git a/src/components/new-request/submit-request/reserve-submit.vue b/app/src/components/new-request/submit-request/reserve-submit.vue similarity index 100% rename from src/components/new-request/submit-request/reserve-submit.vue rename to app/src/components/new-request/submit-request/reserve-submit.vue diff --git a/src/components/new-request/submit-request/submission-tabs.vue b/app/src/components/new-request/submit-request/submission-tabs.vue similarity index 100% rename from src/components/new-request/submit-request/submission-tabs.vue rename to app/src/components/new-request/submit-request/submission-tabs.vue diff --git a/src/components/new-request/submit-request/timeout.vue b/app/src/components/new-request/submit-request/timeout.vue similarity index 100% rename from src/components/new-request/submit-request/timeout.vue rename to app/src/components/new-request/submit-request/timeout.vue diff --git a/src/components/payment/fee-summary.vue b/app/src/components/payment/fee-summary.vue similarity index 100% rename from src/components/payment/fee-summary.vue rename to app/src/components/payment/fee-summary.vue diff --git a/src/components/payment/payment-confirm.vue b/app/src/components/payment/payment-confirm.vue similarity index 100% rename from src/components/payment/payment-confirm.vue rename to app/src/components/payment/payment-confirm.vue diff --git a/src/components/payment/payment-summary.vue b/app/src/components/payment/payment-summary.vue similarity index 100% rename from src/components/payment/payment-summary.vue rename to app/src/components/payment/payment-summary.vue diff --git a/src/components/payment/payment-utils.ts b/app/src/components/payment/payment-utils.ts similarity index 100% rename from src/components/payment/payment-utils.ts rename to app/src/components/payment/payment-utils.ts diff --git a/src/components/payment/refund-summary.vue b/app/src/components/payment/refund-summary.vue similarity index 100% rename from src/components/payment/refund-summary.vue rename to app/src/components/payment/refund-summary.vue diff --git a/src/components/payment/staff-payment.vue b/app/src/components/payment/staff-payment.vue similarity index 100% rename from src/components/payment/staff-payment.vue rename to app/src/components/payment/staff-payment.vue diff --git a/src/components/tabs.vue b/app/src/components/tabs.vue similarity index 100% rename from src/components/tabs.vue rename to app/src/components/tabs.vue diff --git a/src/enums/account-type.ts b/app/src/enums/account-type.ts similarity index 100% rename from src/enums/account-type.ts rename to app/src/enums/account-type.ts diff --git a/src/enums/advanced-search-tabs.ts b/app/src/enums/advanced-search-tabs.ts similarity index 100% rename from src/enums/advanced-search-tabs.ts rename to app/src/enums/advanced-search-tabs.ts diff --git a/src/enums/company-types.ts b/app/src/enums/company-types.ts similarity index 100% rename from src/enums/company-types.ts rename to app/src/enums/company-types.ts diff --git a/src/enums/entity-types.ts b/app/src/enums/entity-types.ts similarity index 100% rename from src/enums/entity-types.ts rename to app/src/enums/entity-types.ts diff --git a/src/enums/furnished.ts b/app/src/enums/furnished.ts similarity index 100% rename from src/enums/furnished.ts rename to app/src/enums/furnished.ts diff --git a/src/enums/index.ts b/app/src/enums/index.ts similarity index 100% rename from src/enums/index.ts rename to app/src/enums/index.ts diff --git a/src/enums/jurisdictions.ts b/app/src/enums/jurisdictions.ts similarity index 100% rename from src/enums/jurisdictions.ts rename to app/src/enums/jurisdictions.ts diff --git a/src/enums/location.ts b/app/src/enums/location.ts similarity index 100% rename from src/enums/location.ts rename to app/src/enums/location.ts diff --git a/src/enums/name-check-analysis-jurisdiction.ts b/app/src/enums/name-check-analysis-jurisdiction.ts similarity index 100% rename from src/enums/name-check-analysis-jurisdiction.ts rename to app/src/enums/name-check-analysis-jurisdiction.ts diff --git a/src/enums/name-check-analysis-type.ts b/app/src/enums/name-check-analysis-type.ts similarity index 100% rename from src/enums/name-check-analysis-type.ts rename to app/src/enums/name-check-analysis-type.ts diff --git a/src/enums/name-check-conflict-type.ts b/app/src/enums/name-check-conflict-type.ts similarity index 100% rename from src/enums/name-check-conflict-type.ts rename to app/src/enums/name-check-conflict-type.ts diff --git a/src/enums/name-check-error-type.ts b/app/src/enums/name-check-error-type.ts similarity index 100% rename from src/enums/name-check-error-type.ts rename to app/src/enums/name-check-error-type.ts diff --git a/src/enums/name-check-item-type.ts b/app/src/enums/name-check-item-type.ts similarity index 100% rename from src/enums/name-check-item-type.ts rename to app/src/enums/name-check-item-type.ts diff --git a/src/enums/name-state.ts b/app/src/enums/name-state.ts similarity index 100% rename from src/enums/name-state.ts rename to app/src/enums/name-state.ts diff --git a/src/enums/nr-action.ts b/app/src/enums/nr-action.ts similarity index 100% rename from src/enums/nr-action.ts rename to app/src/enums/nr-action.ts diff --git a/src/enums/nr-affiliation-errors.ts b/app/src/enums/nr-affiliation-errors.ts similarity index 100% rename from src/enums/nr-affiliation-errors.ts rename to app/src/enums/nr-affiliation-errors.ts diff --git a/src/enums/nr-state.ts b/app/src/enums/nr-state.ts similarity index 100% rename from src/enums/nr-state.ts rename to app/src/enums/nr-state.ts diff --git a/src/enums/nr-type.ts b/app/src/enums/nr-type.ts similarity index 100% rename from src/enums/nr-type.ts rename to app/src/enums/nr-type.ts diff --git a/src/enums/payment-action.ts b/app/src/enums/payment-action.ts similarity index 100% rename from src/enums/payment-action.ts rename to app/src/enums/payment-action.ts diff --git a/src/enums/payment-method.ts b/app/src/enums/payment-method.ts similarity index 100% rename from src/enums/payment-method.ts rename to app/src/enums/payment-method.ts diff --git a/src/enums/payment-status.ts b/app/src/enums/payment-status.ts similarity index 100% rename from src/enums/payment-status.ts rename to app/src/enums/payment-status.ts diff --git a/src/enums/priority-code.ts b/app/src/enums/priority-code.ts similarity index 100% rename from src/enums/priority-code.ts rename to app/src/enums/priority-code.ts diff --git a/src/enums/rollback-actions.ts b/app/src/enums/rollback-actions.ts similarity index 100% rename from src/enums/rollback-actions.ts rename to app/src/enums/rollback-actions.ts diff --git a/src/enums/routes.ts b/app/src/enums/routes.ts similarity index 100% rename from src/enums/routes.ts rename to app/src/enums/routes.ts diff --git a/src/enums/sbc-payment-status.ts b/app/src/enums/sbc-payment-status.ts similarity index 100% rename from src/enums/sbc-payment-status.ts rename to app/src/enums/sbc-payment-status.ts diff --git a/src/enums/search-states.ts b/app/src/enums/search-states.ts similarity index 100% rename from src/enums/search-states.ts rename to app/src/enums/search-states.ts diff --git a/src/enums/xpro-name-type.ts b/app/src/enums/xpro-name-type.ts similarity index 100% rename from src/enums/xpro-name-type.ts rename to app/src/enums/xpro-name-type.ts diff --git a/src/errors/index.ts b/app/src/errors/index.ts similarity index 100% rename from src/errors/index.ts rename to app/src/errors/index.ts diff --git a/src/interfaces/business.ts b/app/src/interfaces/business.ts similarity index 100% rename from src/interfaces/business.ts rename to app/src/interfaces/business.ts diff --git a/src/interfaces/designation.ts b/app/src/interfaces/designation.ts similarity index 100% rename from src/interfaces/designation.ts rename to app/src/interfaces/designation.ts diff --git a/src/interfaces/dialog-options.ts b/app/src/interfaces/dialog-options.ts similarity index 100% rename from src/interfaces/dialog-options.ts rename to app/src/interfaces/dialog-options.ts diff --git a/src/interfaces/env-config.ts b/app/src/interfaces/env-config.ts similarity index 100% rename from src/interfaces/env-config.ts rename to app/src/interfaces/env-config.ts diff --git a/src/interfaces/form-type.ts b/app/src/interfaces/form-type.ts similarity index 100% rename from src/interfaces/form-type.ts rename to app/src/interfaces/form-type.ts diff --git a/src/interfaces/index.ts b/app/src/interfaces/index.ts similarity index 100% rename from src/interfaces/index.ts rename to app/src/interfaces/index.ts diff --git a/src/interfaces/jurisdiction.ts b/app/src/interfaces/jurisdiction.ts similarity index 100% rename from src/interfaces/jurisdiction.ts rename to app/src/interfaces/jurisdiction.ts diff --git a/src/interfaces/models.ts b/app/src/interfaces/models.ts similarity index 100% rename from src/interfaces/models.ts rename to app/src/interfaces/models.ts diff --git a/src/interfaces/name-check-interfaces/cleaned-name-interface.ts b/app/src/interfaces/name-check-interfaces/cleaned-name-interface.ts similarity index 100% rename from src/interfaces/name-check-interfaces/cleaned-name-interface.ts rename to app/src/interfaces/name-check-interfaces/cleaned-name-interface.ts diff --git a/src/interfaces/name-check-interfaces/conditional-instructions.ts b/app/src/interfaces/name-check-interfaces/conditional-instructions.ts similarity index 100% rename from src/interfaces/name-check-interfaces/conditional-instructions.ts rename to app/src/interfaces/name-check-interfaces/conditional-instructions.ts diff --git a/src/interfaces/name-check-interfaces/conflict-list-item.ts b/app/src/interfaces/name-check-interfaces/conflict-list-item.ts similarity index 100% rename from src/interfaces/name-check-interfaces/conflict-list-item.ts rename to app/src/interfaces/name-check-interfaces/conflict-list-item.ts diff --git a/src/interfaces/name-check-interfaces/index.ts b/app/src/interfaces/name-check-interfaces/index.ts similarity index 100% rename from src/interfaces/name-check-interfaces/index.ts rename to app/src/interfaces/name-check-interfaces/index.ts diff --git a/src/interfaces/name-check-interfaces/name-check-error.ts b/app/src/interfaces/name-check-interfaces/name-check-error.ts similarity index 100% rename from src/interfaces/name-check-interfaces/name-check-error.ts rename to app/src/interfaces/name-check-interfaces/name-check-error.ts diff --git a/src/interfaces/name-check-interfaces/name-check-item-interface.ts b/app/src/interfaces/name-check-interfaces/name-check-item-interface.ts similarity index 100% rename from src/interfaces/name-check-interfaces/name-check-item-interface.ts rename to app/src/interfaces/name-check-interfaces/name-check-item-interface.ts diff --git a/src/interfaces/name-check-interfaces/name-check-model-interface.ts b/app/src/interfaces/name-check-interfaces/name-check-model-interface.ts similarity index 100% rename from src/interfaces/name-check-interfaces/name-check-model-interface.ts rename to app/src/interfaces/name-check-interfaces/name-check-model-interface.ts diff --git a/src/interfaces/name-check-interfaces/parsed-restricted-response-interface.ts b/app/src/interfaces/name-check-interfaces/parsed-restricted-response-interface.ts similarity index 100% rename from src/interfaces/name-check-interfaces/parsed-restricted-response-interface.ts rename to app/src/interfaces/name-check-interfaces/parsed-restricted-response-interface.ts diff --git a/src/interfaces/name-check-interfaces/quick-search-params.ts b/app/src/interfaces/name-check-interfaces/quick-search-params.ts similarity index 100% rename from src/interfaces/name-check-interfaces/quick-search-params.ts rename to app/src/interfaces/name-check-interfaces/quick-search-params.ts diff --git a/src/interfaces/name-check-interfaces/quick-search-parsed-resp.ts b/app/src/interfaces/name-check-interfaces/quick-search-parsed-resp.ts similarity index 100% rename from src/interfaces/name-check-interfaces/quick-search-parsed-resp.ts rename to app/src/interfaces/name-check-interfaces/quick-search-parsed-resp.ts diff --git a/src/interfaces/name-check-interfaces/restricted-response-interface.ts b/app/src/interfaces/name-check-interfaces/restricted-response-interface.ts similarity index 100% rename from src/interfaces/name-check-interfaces/restricted-response-interface.ts rename to app/src/interfaces/name-check-interfaces/restricted-response-interface.ts diff --git a/src/interfaces/name-choices-interface.ts b/app/src/interfaces/name-choices-interface.ts similarity index 100% rename from src/interfaces/name-choices-interface.ts rename to app/src/interfaces/name-choices-interface.ts diff --git a/src/interfaces/new-request-interface.ts b/app/src/interfaces/new-request-interface.ts similarity index 100% rename from src/interfaces/new-request-interface.ts rename to app/src/interfaces/new-request-interface.ts diff --git a/src/interfaces/nr-data-interface.ts b/app/src/interfaces/nr-data-interface.ts similarity index 100% rename from src/interfaces/nr-data-interface.ts rename to app/src/interfaces/nr-data-interface.ts diff --git a/src/interfaces/refund-params-interface.ts b/app/src/interfaces/refund-params-interface.ts similarity index 100% rename from src/interfaces/refund-params-interface.ts rename to app/src/interfaces/refund-params-interface.ts diff --git a/src/interfaces/request-or-consent-interface.ts b/app/src/interfaces/request-or-consent-interface.ts similarity index 100% rename from src/interfaces/request-or-consent-interface.ts rename to app/src/interfaces/request-or-consent-interface.ts diff --git a/src/interfaces/root-state-interface.ts b/app/src/interfaces/root-state-interface.ts similarity index 100% rename from src/interfaces/root-state-interface.ts rename to app/src/interfaces/root-state-interface.ts diff --git a/src/interfaces/state-interface.ts b/app/src/interfaces/state-interface.ts similarity index 100% rename from src/interfaces/state-interface.ts rename to app/src/interfaces/state-interface.ts diff --git a/src/interfaces/store-interfaces/action-interface.ts b/app/src/interfaces/store-interfaces/action-interface.ts similarity index 100% rename from src/interfaces/store-interfaces/action-interface.ts rename to app/src/interfaces/store-interfaces/action-interface.ts diff --git a/src/interfaces/store-interfaces/index.ts b/app/src/interfaces/store-interfaces/index.ts similarity index 100% rename from src/interfaces/store-interfaces/index.ts rename to app/src/interfaces/store-interfaces/index.ts diff --git a/src/list-data/canada-jurisdictions.ts b/app/src/list-data/canada-jurisdictions.ts similarity index 100% rename from src/list-data/canada-jurisdictions.ts rename to app/src/list-data/canada-jurisdictions.ts diff --git a/src/list-data/conversion-types.ts b/app/src/list-data/conversion-types.ts similarity index 100% rename from src/list-data/conversion-types.ts rename to app/src/list-data/conversion-types.ts diff --git a/src/list-data/designations.ts b/app/src/list-data/designations.ts similarity index 100% rename from src/list-data/designations.ts rename to app/src/list-data/designations.ts diff --git a/src/list-data/entity-type-data.ts b/app/src/list-data/entity-type-data.ts similarity index 100% rename from src/list-data/entity-type-data.ts rename to app/src/list-data/entity-type-data.ts diff --git a/src/list-data/index.ts b/app/src/list-data/index.ts similarity index 100% rename from src/list-data/index.ts rename to app/src/list-data/index.ts diff --git a/src/list-data/intl-jurisdictions.ts b/app/src/list-data/intl-jurisdictions.ts similarity index 100% rename from src/list-data/intl-jurisdictions.ts rename to app/src/list-data/intl-jurisdictions.ts diff --git a/src/list-data/locations.ts b/app/src/list-data/locations.ts similarity index 100% rename from src/list-data/locations.ts rename to app/src/list-data/locations.ts diff --git a/src/list-data/request-action-mapping.ts b/app/src/list-data/request-action-mapping.ts similarity index 100% rename from src/list-data/request-action-mapping.ts rename to app/src/list-data/request-action-mapping.ts diff --git a/src/list-data/request-actions.ts b/app/src/list-data/request-actions.ts similarity index 100% rename from src/list-data/request-actions.ts rename to app/src/list-data/request-actions.ts diff --git a/src/list-data/us-states.ts b/app/src/list-data/us-states.ts similarity index 100% rename from src/list-data/us-states.ts rename to app/src/list-data/us-states.ts diff --git a/src/main.ts b/app/src/main.ts similarity index 100% rename from src/main.ts rename to app/src/main.ts diff --git a/src/mixins/action-mixin.ts b/app/src/mixins/action-mixin.ts similarity index 100% rename from src/mixins/action-mixin.ts rename to app/src/mixins/action-mixin.ts diff --git a/src/mixins/common-mixin.ts b/app/src/mixins/common-mixin.ts similarity index 100% rename from src/mixins/common-mixin.ts rename to app/src/mixins/common-mixin.ts diff --git a/src/mixins/date-mixin.ts b/app/src/mixins/date-mixin.ts similarity index 100% rename from src/mixins/date-mixin.ts rename to app/src/mixins/date-mixin.ts diff --git a/src/mixins/displayed-component-mixin.ts b/app/src/mixins/displayed-component-mixin.ts similarity index 100% rename from src/mixins/displayed-component-mixin.ts rename to app/src/mixins/displayed-component-mixin.ts diff --git a/src/mixins/index.ts b/app/src/mixins/index.ts similarity index 100% rename from src/mixins/index.ts rename to app/src/mixins/index.ts diff --git a/src/mixins/load-keycloak-roles-mixin.ts b/app/src/mixins/load-keycloak-roles-mixin.ts similarity index 100% rename from src/mixins/load-keycloak-roles-mixin.ts rename to app/src/mixins/load-keycloak-roles-mixin.ts diff --git a/src/mixins/nr-affiliation-mixin.ts b/app/src/mixins/nr-affiliation-mixin.ts similarity index 100% rename from src/mixins/nr-affiliation-mixin.ts rename to app/src/mixins/nr-affiliation-mixin.ts diff --git a/src/mixins/payment-mixin.ts b/app/src/mixins/payment-mixin.ts similarity index 100% rename from src/mixins/payment-mixin.ts rename to app/src/mixins/payment-mixin.ts diff --git a/src/mixins/payment-session-mixin.ts b/app/src/mixins/payment-session-mixin.ts similarity index 100% rename from src/mixins/payment-session-mixin.ts rename to app/src/mixins/payment-session-mixin.ts diff --git a/src/mixins/search-mixin.ts b/app/src/mixins/search-mixin.ts similarity index 100% rename from src/mixins/search-mixin.ts rename to app/src/mixins/search-mixin.ts diff --git a/src/mixins/update-user-mixin.ts b/app/src/mixins/update-user-mixin.ts similarity index 100% rename from src/mixins/update-user-mixin.ts rename to app/src/mixins/update-user-mixin.ts diff --git a/src/modules/error/index.ts b/app/src/modules/error/index.ts similarity index 100% rename from src/modules/error/index.ts rename to app/src/modules/error/index.ts diff --git a/src/modules/error/store/actions.ts b/app/src/modules/error/store/actions.ts similarity index 100% rename from src/modules/error/store/actions.ts rename to app/src/modules/error/store/actions.ts diff --git a/src/modules/error/store/getters.ts b/app/src/modules/error/store/getters.ts similarity index 100% rename from src/modules/error/store/getters.ts rename to app/src/modules/error/store/getters.ts diff --git a/src/modules/error/store/index.ts b/app/src/modules/error/store/index.ts similarity index 100% rename from src/modules/error/store/index.ts rename to app/src/modules/error/store/index.ts diff --git a/src/modules/error/store/mutations.ts b/app/src/modules/error/store/mutations.ts similarity index 100% rename from src/modules/error/store/mutations.ts rename to app/src/modules/error/store/mutations.ts diff --git a/src/modules/error/store/types.ts b/app/src/modules/error/store/types.ts similarity index 100% rename from src/modules/error/store/types.ts rename to app/src/modules/error/store/types.ts diff --git a/src/modules/payment/filing-types.ts b/app/src/modules/payment/filing-types.ts similarity index 100% rename from src/modules/payment/filing-types.ts rename to app/src/modules/payment/filing-types.ts diff --git a/src/modules/payment/index.ts b/app/src/modules/payment/index.ts similarity index 100% rename from src/modules/payment/index.ts rename to app/src/modules/payment/index.ts diff --git a/src/modules/payment/models.ts b/app/src/modules/payment/models.ts similarity index 100% rename from src/modules/payment/models.ts rename to app/src/modules/payment/models.ts diff --git a/src/modules/payment/store/actions.ts b/app/src/modules/payment/store/actions.ts similarity index 100% rename from src/modules/payment/store/actions.ts rename to app/src/modules/payment/store/actions.ts diff --git a/src/modules/payment/store/getters.ts b/app/src/modules/payment/store/getters.ts similarity index 100% rename from src/modules/payment/store/getters.ts rename to app/src/modules/payment/store/getters.ts diff --git a/src/modules/payment/store/index.ts b/app/src/modules/payment/store/index.ts similarity index 100% rename from src/modules/payment/store/index.ts rename to app/src/modules/payment/store/index.ts diff --git a/src/modules/payment/store/mutations.ts b/app/src/modules/payment/store/mutations.ts similarity index 100% rename from src/modules/payment/store/mutations.ts rename to app/src/modules/payment/store/mutations.ts diff --git a/src/modules/payment/store/types.ts b/app/src/modules/payment/store/types.ts similarity index 100% rename from src/modules/payment/store/types.ts rename to app/src/modules/payment/store/types.ts diff --git a/src/plugins/authHelper.ts b/app/src/plugins/authHelper.ts similarity index 100% rename from src/plugins/authHelper.ts rename to app/src/plugins/authHelper.ts diff --git a/src/plugins/featureFlags.ts b/app/src/plugins/featureFlags.ts similarity index 100% rename from src/plugins/featureFlags.ts rename to app/src/plugins/featureFlags.ts diff --git a/src/plugins/getConfig.ts b/app/src/plugins/getConfig.ts similarity index 100% rename from src/plugins/getConfig.ts rename to app/src/plugins/getConfig.ts diff --git a/src/plugins/index.ts b/app/src/plugins/index.ts similarity index 100% rename from src/plugins/index.ts rename to app/src/plugins/index.ts diff --git a/src/plugins/interceptors.ts b/app/src/plugins/interceptors.ts similarity index 100% rename from src/plugins/interceptors.ts rename to app/src/plugins/interceptors.ts diff --git a/src/plugins/navigate.ts b/app/src/plugins/navigate.ts similarity index 100% rename from src/plugins/navigate.ts rename to app/src/plugins/navigate.ts diff --git a/src/plugins/sleep.ts b/app/src/plugins/sleep.ts similarity index 100% rename from src/plugins/sleep.ts rename to app/src/plugins/sleep.ts diff --git a/src/plugins/utilities.ts b/app/src/plugins/utilities.ts similarity index 100% rename from src/plugins/utilities.ts rename to app/src/plugins/utilities.ts diff --git a/src/plugins/vuetify.ts b/app/src/plugins/vuetify.ts similarity index 100% rename from src/plugins/vuetify.ts rename to app/src/plugins/vuetify.ts diff --git a/src/resources/breadcrumb-resources.ts b/app/src/resources/breadcrumb-resources.ts similarity index 100% rename from src/resources/breadcrumb-resources.ts rename to app/src/resources/breadcrumb-resources.ts diff --git a/src/resources/index.ts b/app/src/resources/index.ts similarity index 100% rename from src/resources/index.ts rename to app/src/resources/index.ts diff --git a/src/router/index.ts b/app/src/router/index.ts similarity index 100% rename from src/router/index.ts rename to app/src/router/index.ts diff --git a/src/router/router.ts b/app/src/router/router.ts similarity index 100% rename from src/router/router.ts rename to app/src/router/router.ts diff --git a/src/router/routes.ts b/app/src/router/routes.ts similarity index 100% rename from src/router/routes.ts rename to app/src/router/routes.ts diff --git a/src/services/auth-services.ts b/app/src/services/auth-services.ts similarity index 100% rename from src/services/auth-services.ts rename to app/src/services/auth-services.ts diff --git a/src/services/business-lookup-services.ts b/app/src/services/business-lookup-services.ts similarity index 100% rename from src/services/business-lookup-services.ts rename to app/src/services/business-lookup-services.ts diff --git a/src/services/business-services.ts b/app/src/services/business-services.ts similarity index 100% rename from src/services/business-services.ts rename to app/src/services/business-services.ts diff --git a/src/services/namex-services.ts b/app/src/services/namex-services.ts similarity index 100% rename from src/services/namex-services.ts rename to app/src/services/namex-services.ts diff --git a/src/shims-vue.d.ts b/app/src/shims-vue.d.ts similarity index 100% rename from src/shims-vue.d.ts rename to app/src/shims-vue.d.ts diff --git a/src/store/actions.ts b/app/src/store/actions.ts similarity index 100% rename from src/store/actions.ts rename to app/src/store/actions.ts diff --git a/src/store/config.ts b/app/src/store/config.ts similarity index 100% rename from src/store/config.ts rename to app/src/store/config.ts diff --git a/src/store/getters.ts b/app/src/store/getters.ts similarity index 100% rename from src/store/getters.ts rename to app/src/store/getters.ts diff --git a/src/store/index.ts b/app/src/store/index.ts similarity index 100% rename from src/store/index.ts rename to app/src/store/index.ts diff --git a/src/store/mutations.ts b/app/src/store/mutations.ts similarity index 100% rename from src/store/mutations.ts rename to app/src/store/mutations.ts diff --git a/src/store/state.ts b/app/src/store/state.ts similarity index 100% rename from src/store/state.ts rename to app/src/store/state.ts diff --git a/src/views/auth/Signin.vue b/app/src/views/auth/Signin.vue similarity index 100% rename from src/views/auth/Signin.vue rename to app/src/views/auth/Signin.vue diff --git a/src/views/auth/Signout.vue b/app/src/views/auth/Signout.vue similarity index 100% rename from src/views/auth/Signout.vue rename to app/src/views/auth/Signout.vue diff --git a/src/views/index.ts b/app/src/views/index.ts similarity index 100% rename from src/views/index.ts rename to app/src/views/index.ts diff --git a/src/views/landing.vue b/app/src/views/landing.vue similarity index 100% rename from src/views/landing.vue rename to app/src/views/landing.vue diff --git a/src/vue-test-utils-helpers.d.ts b/app/src/vue-test-utils-helpers.d.ts similarity index 100% rename from src/vue-test-utils-helpers.d.ts rename to app/src/vue-test-utils-helpers.d.ts diff --git a/tests/mixin-tester.vue b/app/tests/mixin-tester.vue similarity index 100% rename from tests/mixin-tester.vue rename to app/tests/mixin-tester.vue diff --git a/tests/setup.ts b/app/tests/setup.ts similarity index 100% rename from tests/setup.ts rename to app/tests/setup.ts diff --git a/tests/unit/App.spec.ts b/app/tests/unit/App.spec.ts similarity index 100% rename from tests/unit/App.spec.ts rename to app/tests/unit/App.spec.ts diff --git a/tests/unit/analyze-pending.spec.ts b/app/tests/unit/analyze-pending.spec.ts similarity index 100% rename from tests/unit/analyze-pending.spec.ts rename to app/tests/unit/analyze-pending.spec.ts diff --git a/tests/unit/analyze-results.spec.ts b/app/tests/unit/analyze-results.spec.ts similarity index 100% rename from tests/unit/analyze-results.spec.ts rename to app/tests/unit/analyze-results.spec.ts diff --git a/tests/unit/api/get-name-analysis.ts b/app/tests/unit/api/get-name-analysis.ts similarity index 100% rename from tests/unit/api/get-name-analysis.ts rename to app/tests/unit/api/get-name-analysis.ts diff --git a/tests/unit/applicant-info-1.spec.ts b/app/tests/unit/applicant-info-1.spec.ts similarity index 100% rename from tests/unit/applicant-info-1.spec.ts rename to app/tests/unit/applicant-info-1.spec.ts diff --git a/tests/unit/applicant-info-2.spec.ts b/app/tests/unit/applicant-info-2.spec.ts similarity index 100% rename from tests/unit/applicant-info-2.spec.ts rename to app/tests/unit/applicant-info-2.spec.ts diff --git a/tests/unit/date-mixin.spec.ts b/app/tests/unit/date-mixin.spec.ts similarity index 100% rename from tests/unit/date-mixin.spec.ts rename to app/tests/unit/date-mixin.spec.ts diff --git a/tests/unit/dialogs/nr-not-required.spec.ts b/app/tests/unit/dialogs/nr-not-required.spec.ts similarity index 100% rename from tests/unit/dialogs/nr-not-required.spec.ts rename to app/tests/unit/dialogs/nr-not-required.spec.ts diff --git a/tests/unit/dialogs/pick-entity-or-conversion.spec.ts b/app/tests/unit/dialogs/pick-entity-or-conversion.spec.ts similarity index 100% rename from tests/unit/dialogs/pick-entity-or-conversion.spec.ts rename to app/tests/unit/dialogs/pick-entity-or-conversion.spec.ts diff --git a/tests/unit/dialogs/staff-payment-error.spec.ts b/app/tests/unit/dialogs/staff-payment-error.spec.ts similarity index 100% rename from tests/unit/dialogs/staff-payment-error.spec.ts rename to app/tests/unit/dialogs/staff-payment-error.spec.ts diff --git a/tests/unit/landing.spec.ts b/app/tests/unit/landing.spec.ts similarity index 100% rename from tests/unit/landing.spec.ts rename to app/tests/unit/landing.spec.ts diff --git a/tests/unit/link-row.spec.ts b/app/tests/unit/link-row.spec.ts similarity index 100% rename from tests/unit/link-row.spec.ts rename to app/tests/unit/link-row.spec.ts diff --git a/tests/unit/mocks/analyze-results.vue b/app/tests/unit/mocks/analyze-results.vue similarity index 100% rename from tests/unit/mocks/analyze-results.vue rename to app/tests/unit/mocks/analyze-results.vue diff --git a/tests/unit/mocks/quill-editor.ts b/app/tests/unit/mocks/quill-editor.ts similarity index 100% rename from tests/unit/mocks/quill-editor.ts rename to app/tests/unit/mocks/quill-editor.ts diff --git a/tests/unit/name-build-info.spec.ts b/app/tests/unit/name-build-info.spec.ts similarity index 100% rename from tests/unit/name-build-info.spec.ts rename to app/tests/unit/name-build-info.spec.ts diff --git a/tests/unit/name-input.spec.ts b/app/tests/unit/name-input.spec.ts similarity index 100% rename from tests/unit/name-input.spec.ts rename to app/tests/unit/name-input.spec.ts diff --git a/tests/unit/names-capture.spec.ts b/app/tests/unit/names-capture.spec.ts similarity index 100% rename from tests/unit/names-capture.spec.ts rename to app/tests/unit/names-capture.spec.ts diff --git a/tests/unit/new-request-module.spec.ts b/app/tests/unit/new-request-module.spec.ts similarity index 100% rename from tests/unit/new-request-module.spec.ts rename to app/tests/unit/new-request-module.spec.ts diff --git a/tests/unit/new-search.spec.ts b/app/tests/unit/new-search.spec.ts similarity index 100% rename from tests/unit/new-search.spec.ts rename to app/tests/unit/new-search.spec.ts diff --git a/tests/unit/reserve-submit.spec.ts b/app/tests/unit/reserve-submit.spec.ts similarity index 100% rename from tests/unit/reserve-submit.spec.ts rename to app/tests/unit/reserve-submit.spec.ts diff --git a/tests/unit/search-pending.spec.ts b/app/tests/unit/search-pending.spec.ts similarity index 100% rename from tests/unit/search-pending.spec.ts rename to app/tests/unit/search-pending.spec.ts diff --git a/tests/unit/search.spec.ts b/app/tests/unit/search.spec.ts similarity index 100% rename from tests/unit/search.spec.ts rename to app/tests/unit/search.spec.ts diff --git a/tsconfig.json b/app/tsconfig.json similarity index 100% rename from tsconfig.json rename to app/tsconfig.json diff --git a/volar.config.js b/app/volar.config.js similarity index 100% rename from volar.config.js rename to app/volar.config.js diff --git a/vue.config.js b/app/vue.config.js similarity index 100% rename from vue.config.js rename to app/vue.config.js From d612c49ce98c4ba7a96cc129db5a0c1460493334 Mon Sep 17 00:00:00 2001 From: EPortman Date: Wed, 17 Jul 2024 12:58:19 -0700 Subject: [PATCH 02/27] Added basic configuration for Cypress --- .gitignore | 16 +- testing/cypress.config.ts | 52 + testing/cypress/appActions/Actions.ts | 13 + testing/cypress/appActions/Utilities.ts | 100 + testing/cypress/pageObjects/homePage.ts | 0 testing/cypress/pageObjects/loginProxy.ts | 34 + testing/cypress/support/commands.ts | 126 + testing/cypress/support/e2e.ts | 20 + testing/cypress/support/global.d.ts | 20 + testing/cypress/support/integration.ts | 20 + testing/package-lock.json | 7357 +++++++++++++++++++++ testing/package.json | 28 + testing/sample.cypress.env.json | 16 + testing/snapshots.js | 13 + testing/tsconfig.json | 16 + testing/tslint.json | 98 + testing/waitforconnection.sh | 11 + 17 files changed, 7939 insertions(+), 1 deletion(-) create mode 100644 testing/cypress.config.ts create mode 100644 testing/cypress/appActions/Actions.ts create mode 100644 testing/cypress/appActions/Utilities.ts create mode 100644 testing/cypress/pageObjects/homePage.ts create mode 100644 testing/cypress/pageObjects/loginProxy.ts create mode 100644 testing/cypress/support/commands.ts create mode 100644 testing/cypress/support/e2e.ts create mode 100644 testing/cypress/support/global.d.ts create mode 100644 testing/cypress/support/integration.ts create mode 100644 testing/package-lock.json create mode 100644 testing/package.json create mode 100644 testing/sample.cypress.env.json create mode 100644 testing/snapshots.js create mode 100644 testing/tsconfig.json create mode 100644 testing/tslint.json create mode 100644 testing/waitforconnection.sh diff --git a/.gitignore b/.gitignore index 4c03d92bd..52e0dc57f 100644 --- a/.gitignore +++ b/.gitignore @@ -10,4 +10,18 @@ public/config/configuration.json *.env .firebase *.firebaserc -*.log \ No newline at end of file +*.log + +# Cypress related files +**/cypress.env.json +**/node_modules +**/videos/ +**/screenshots/ +**/results/** +**/downloads/** +**/mochawesome-report/** +**/client.json +**/token.json +**/local-dev/** +**/*copy.json +testing/cypress.config copy.ts \ No newline at end of file diff --git a/testing/cypress.config.ts b/testing/cypress.config.ts new file mode 100644 index 000000000..fa87bae19 --- /dev/null +++ b/testing/cypress.config.ts @@ -0,0 +1,52 @@ +import { defineConfig } from 'cypress' +import fs from 'fs' + +export default defineConfig({ + chromeWebSecurity: false, + defaultCommandTimeout: 40000, + includeShadowDom: true, + responseTimeout: 40000, + redirectionLimit: 100, + experimentalStudio: true, + experimentalMemoryManagement: true, + numTestsKeptInMemory: 0, + viewportHeight: 1080, + viewportWidth: 1920, + video: true, + reporter: 'mochawesome', + reporterOptions: { + files: ['./mochawesome-report/*.json'], + overwrite: false, + html: true, + json: true, + }, + e2e: { + // baseUrl: 'https://dev.namex.bcregistry.gov.bc.ca', + // baseUrl: 'https://test.namex.bcregistry.gov.bc.ca', + baseUrl: 'http://localhost:8080', + projectId: '', + setupNodeEvents(on, config) { + on('task', { + checkFileExists(filePath) { + // Check if the file exists + if (fs.existsSync(filePath)) { + return true + } else { + return false + } + }, + }) + on('before:browser:launch', (browser, launchOptions) => { + if ( + browser.family === 'chromium' && + (browser.name === 'chrome' || browser.name === 'chromium') + ) { + // If the browser is Chrome or Chromium, add the flags to expose the `gc` function and disable GPU + launchOptions.args.push('--js-flags=--expose-gc') + launchOptions.args.push('--disable-gpu') + } + return launchOptions + }) + }, + }, +}) diff --git a/testing/cypress/appActions/Actions.ts b/testing/cypress/appActions/Actions.ts new file mode 100644 index 000000000..3063cf35a --- /dev/null +++ b/testing/cypress/appActions/Actions.ts @@ -0,0 +1,13 @@ +/** + * Represents an action. + */ +import { faker } from '@faker-js/faker' +import { v4 as uuidv4 } from 'uuid' +import Utilities from './Utilities' +const util = new Utilities() + +const regex = new RegExp('@[0-9]{8}') + +class Action {} + +export default Action diff --git a/testing/cypress/appActions/Utilities.ts b/testing/cypress/appActions/Utilities.ts new file mode 100644 index 000000000..13df69938 --- /dev/null +++ b/testing/cypress/appActions/Utilities.ts @@ -0,0 +1,100 @@ +/** + * Handy utilities for the app + */ +import MD5 from 'crypto-js/md5' + +/** + * Utility class that provides various helper functions. + */ +class Utilities { + /** + * Checks if the provided data meets the conditions for running the test. + * @param data - The data object containing test flags. + * @return A boolean value indicating whether the test should be run or not. + */ + runOk(data: any): boolean { + const isLocalTest = Cypress.env('localtest') + const isSmokeTest = Cypress.env('smoketest') + + // Directly return the evaluation based on conditions + if (!isLocalTest && !isSmokeTest) { + // If neither localtest nor smoketest is set, always return true + return true + } else if (isLocalTest && isSmokeTest) { + // If both flags are set, check corresponding data properties + return data.localtest && data.smoketest + } else if (isLocalTest) { + // If only localtest is set, check the localtest data property + return data.localtest + } else if (isSmokeTest) { + // If only smoketest is set, check the smoketest data property + return data.smoketest + } + + // Default return should never be reached due to logic above covering all cases, + // but it's good practice to have a fallback return in case the function logic evolves. + return false + } + + /** + * Calculates the MD5 hash of the given data. + * + * @param data - The data to calculate the MD5 hash for. + * @return The MD5 hash as a string. + */ + md5(data: string): string { + return MD5(data).toString() + } + + /** + * Returns the current date in the format "YYYYMMDD". + * + * @return The current date in the format "YYYYMMDD". + */ + getDate(): string { + let today = new Date() + let dd: any = today.getDate() + let mm: any = today.getMonth() + 1 //January is 0! + let yyyy = today.getFullYear() + if (dd < 10) { + dd = '0' + dd + } + if (mm < 10) { + mm = '0' + mm + } + return yyyy + mm + dd + } + + /** + * Generates a random integer between the specified minimum and maximum values. + * The maximum value is exclusive and the minimum value is inclusive. + * + * @param min - The minimum value of the range (inclusive). + * @param max - The maximum value of the range (exclusive). + * @return A random integer between the minimum and maximum values. + */ + getRandomInt(min: number, max: number): number { + const minCeiled = Math.ceil(min) + const maxFloored = Math.floor(max) + return Math.floor(Math.random() * (maxFloored - minCeiled) + minCeiled) + } + + /** + * Retrieves the key from a given object map based on the provided search value. + * @param map - The object map to search in. + * @param searchValue - The value to search for. + * @return The key associated with the search value, or undefined if the value is not found. + */ + getKeyByValue( + map: { [key: string]: string }, + searchValue: string // Add JSDoc parameter type for 'searchValue' + ): string | undefined { + for (const [key, value] of Object.entries(map)) { + if (value === searchValue) { + return key + } + } + return undefined // or return a default value or handle the case when the value is not found + } +} +export default Utilities diff --git a/testing/cypress/pageObjects/homePage.ts b/testing/cypress/pageObjects/homePage.ts new file mode 100644 index 000000000..e69de29bb diff --git a/testing/cypress/pageObjects/loginProxy.ts b/testing/cypress/pageObjects/loginProxy.ts new file mode 100644 index 000000000..d85b0c31d --- /dev/null +++ b/testing/cypress/pageObjects/loginProxy.ts @@ -0,0 +1,34 @@ +/** + * Represents the Login Proxy page object. + */ +class LoginProxy { + path = '/' + + idirButton = '#social-idir' // Define the IDIR button selector + azidirButton = '#social-azureidir' + headerWrapper = '#kc-header-wrapper' + headerText = 'bcregistry' + + /** + * Check the Login Proxy page. + */ + checkLoginProxyPage() { + cy.get(this.headerWrapper).contains(this.headerText).should('be.visible') + } + + /** + * Choose IDIR authentication. + */ + chooseIdir() { + cy.get(this.idirButton).click() + } + + /** + * Choose Azure IDIR authentication. + */ + chooseAzIdir() { + cy.get(this.azidirButton).click() + } +} + +export default LoginProxy diff --git a/testing/cypress/support/commands.ts b/testing/cypress/support/commands.ts new file mode 100644 index 000000000..8882d8b55 --- /dev/null +++ b/testing/cypress/support/commands.ts @@ -0,0 +1,126 @@ +/** + * This file contains custom Cypress commands used in the tests. + */ + +/// + +/** + * Making common libraries available to the scripts + */ +import 'cypress-plugin-api' +import 'cypress-real-events' +import '@testing-library/cypress/add-commands' + +import LoginProxy from '../pageObjects/loginProxy' + +const loginProxy = new LoginProxy() + +/** + * Custom Cypress command to perform login. + * + * @param username - The username for login. If not provided, it uses the value from Cypress environment variables. + * @param password - The password for login. If not provided, it uses the value from Cypress environment variables. + * @param host - The host URL to visit. If not provided, it uses an empty string. + * @param siteminder - The Siteminder value. Not used in the code. + */ +Cypress.Commands.add( + 'login', + ( + username?: string, + password?: string, + host?: string, + siteminder?: string + ) => { + // Go to the host + cy.visit(host || '') + + loginProxy.checkLoginProxyPage() + loginProxy.chooseIdir() + + // Validate siteminder and login + cy.get('#login-to', { timeout: 10000 }) + .contains('Log in to ') + .should('be.visible') + cy.get('#user', { timeout: 10000 }).type( + username || Cypress.env('username') + ) + cy.get('#password', { timeout: 10000 }).type( + password || Cypress.env('password'), + { log: false } + ) + cy.get('input[name=btnSubmit]', { timeout: 10000 }).click() + cy.wait(3000) + } +) + +/** + * Custom Cypress command to perform logout. + */ +// Cypress.Commands.add('logout', () => { +// // Make sure you are on page with log out and logout +// cy.get(homePage.header, { timeout: 10000 }).within(() => { +// cy.get(homePage.logOut).click() +// }) +// }) + +/** + * Custom Cypress command to set the ID/PW Env vars. + * + * @param type - The type of ID/PW to set. If not provided, it uses the default type. + */ +Cypress.Commands.add('setid', (type: string) => { + // Set the ID/PW Env vars to default if type not passed in + if (!type) { + type = 'default' + } + const data = Cypress.env('users') + const foundItem = data.find((item: any) => item.type === type) + Cypress.env('username', foundItem.username) + Cypress.env('password', foundItem.password) + Cypress.env('type', foundItem.type) + if (foundItem.otpsecret) { + Cypress.env('otpsecret', foundItem.otpsecret) + } +}) + +/** + * Custom Cypress command to clean up memory by triggering Garbage Collection. + */ +Cypress.Commands.add('cleanGC', () => { + // Clean up memory by triggering Garbage Collection + cy.window().then((win) => { + // window.gc is enabled with --js-flags=--expose-gc chrome flag + if (typeof win.gc === 'function') { + // run gc multiple times in an attempt to force a major GC between tests + win.gc() + win.gc() + win.gc() + win.gc() + win.gc() + } + }) +}) + +/** + * Custom Cypress command to check all links on the page. + */ +Cypress.Commands.add('linkChecker', () => { + cy.get('a').each((link) => { + if ( + link.prop('href') && + link.prop('href').startsWith('mailto', 0) === false + ) { + cy.request({ + url: link.prop('href'), + failOnStatusCode: false, + }).as('links') + } + + cy.get('@links').should((response) => { + expect((response as any).status).to.eq(200) + }) + + // Log the link text and the url. This is useful for debugging. + cy.log(link.prop('innerText') + ': ' + link.prop('href')) + }) +}) diff --git a/testing/cypress/support/e2e.ts b/testing/cypress/support/e2e.ts new file mode 100644 index 000000000..ed5730de1 --- /dev/null +++ b/testing/cypress/support/e2e.ts @@ -0,0 +1,20 @@ +// *********************************************************** +// This example support/e2e.ts 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') diff --git a/testing/cypress/support/global.d.ts b/testing/cypress/support/global.d.ts new file mode 100644 index 000000000..462814e51 --- /dev/null +++ b/testing/cypress/support/global.d.ts @@ -0,0 +1,20 @@ +declare namespace Cypress { + interface Chainable { + login( + username?: string, + password?: string, + host?: string, + siteminder?: string + ): Chainable + + logout(): void + + setid(type: string): Chainable + + generateUUID(): Chainable + + cleanGC(): Chainable + + linkChecker(): Chainable + } +} diff --git a/testing/cypress/support/integration.ts b/testing/cypress/support/integration.ts new file mode 100644 index 000000000..ed5730de1 --- /dev/null +++ b/testing/cypress/support/integration.ts @@ -0,0 +1,20 @@ +// *********************************************************** +// This example support/e2e.ts 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') diff --git a/testing/package-lock.json b/testing/package-lock.json new file mode 100644 index 000000000..32ea2c17a --- /dev/null +++ b/testing/package-lock.json @@ -0,0 +1,7357 @@ +{ + "name": "testing", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "dependencies": { + "crypto-js": "^4.2.0", + "cypress-real-events": "^1.10.3", + "lodash.kebabcase": "^4.1.1", + "otplib": "^12.0.1", + "uuid": "^9.0.1" + }, + "devDependencies": { + "@faker-js/faker": "^8.3.1", + "@testing-library/cypress": "^10.0.1", + "@types/crypto-js": "^4.2.2", + "@types/uuid": "^9.0.8", + "cypress": "^13.11.0", + "cypress-plugin-api": "^2.10.3", + "dayjs": "^1.11.10", + "mochawesome": "^7.1.3", + "mochawesome-merge": "^4.3.0", + "mochawesome-report-generator": "^6.2.0", + "neat-csv": "^5.2.0", + "typescript": "^5.0.2" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.3.tgz", + "integrity": "sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.5.tgz", + "integrity": "sha512-NdUTHcPe4C99WxPub+K9l9tK5/lV4UXIoaHSYgzco9BCyjKAAwzdBI+wWtYqHt7LJdbo74ZjRPJgzVweq1sz0w==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@cypress/request": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.0.tgz", + "integrity": "sha512-GKFCqwZwMYmL3IBoNeR2MM1SnxRIGERsQOTWeQKoYBt2JLqcqiy7JXqO894FLrpjZYqGxW92MNwRH2BN56obdQ==", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "http-signature": "~1.3.6", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "performance-now": "^2.1.0", + "qs": "~6.10.3", + "safe-buffer": "^5.1.2", + "tough-cookie": "^4.1.3", + "tunnel-agent": "^0.6.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@cypress/request/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@cypress/xvfb": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", + "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", + "dependencies": { + "debug": "^3.1.0", + "lodash.once": "^4.1.1" + } + }, + "node_modules/@cypress/xvfb/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@faker-js/faker": { + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-8.3.1.tgz", + "integrity": "sha512-FdgpFxY6V6rLZE9mmIBb9hM0xpfvQOSNOLnzolzKwsE1DH+gC7lEKV1p1IbR0lAYyvYd5a4u3qWJzowUkw1bIw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/fakerjs" + } + ], + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0", + "npm": ">=6.14.13" + } + }, + "node_modules/@otplib/core": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/@otplib/core/-/core-12.0.1.tgz", + "integrity": "sha512-4sGntwbA/AC+SbPhbsziRiD+jNDdIzsZ3JUyfZwjtKyc/wufl1pnSIaG4Uqx8ymPagujub0o92kgBnB89cuAMA==" + }, + "node_modules/@otplib/plugin-crypto": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/@otplib/plugin-crypto/-/plugin-crypto-12.0.1.tgz", + "integrity": "sha512-qPuhN3QrT7ZZLcLCyKOSNhuijUi9G5guMRVrxq63r9YNOxxQjPm59gVxLM+7xGnHnM6cimY57tuKsjK7y9LM1g==", + "dependencies": { + "@otplib/core": "^12.0.1" + } + }, + "node_modules/@otplib/plugin-thirty-two": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/@otplib/plugin-thirty-two/-/plugin-thirty-two-12.0.1.tgz", + "integrity": "sha512-MtT+uqRso909UkbrrYpJ6XFjj9D+x2Py7KjTO9JDPhL0bJUYVu5kFP4TFZW4NFAywrAtFRxOVY261u0qwb93gA==", + "dependencies": { + "@otplib/core": "^12.0.1", + "thirty-two": "^1.0.2" + } + }, + "node_modules/@otplib/preset-default": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/@otplib/preset-default/-/preset-default-12.0.1.tgz", + "integrity": "sha512-xf1v9oOJRyXfluBhMdpOkr+bsE+Irt+0D5uHtvg6x1eosfmHCsCC6ej/m7FXiWqdo0+ZUI6xSKDhJwc8yfiOPQ==", + "dependencies": { + "@otplib/core": "^12.0.1", + "@otplib/plugin-crypto": "^12.0.1", + "@otplib/plugin-thirty-two": "^12.0.1" + } + }, + "node_modules/@otplib/preset-v11": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/@otplib/preset-v11/-/preset-v11-12.0.1.tgz", + "integrity": "sha512-9hSetMI7ECqbFiKICrNa4w70deTUfArtwXykPUvSHWOdzOlfa9ajglu7mNCntlvxycTiOAXkQGwjQCzzDEMRMg==", + "dependencies": { + "@otplib/core": "^12.0.1", + "@otplib/plugin-crypto": "^12.0.1", + "@otplib/plugin-thirty-two": "^12.0.1" + } + }, + "node_modules/@testing-library/cypress": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@testing-library/cypress/-/cypress-10.0.1.tgz", + "integrity": "sha512-e8uswjTZIBhaIXjzEcrQQ8nHRWHgZH7XBxKuIWxZ/T7FxfWhCR48nFhUX5nfPizjVOKSThEfOSv67jquc1ASkw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.14.6", + "@testing-library/dom": "^9.0.0" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "peerDependencies": { + "cypress": "^12.0.0 || ^13.0.0" + } + }, + "node_modules/@testing-library/dom": { + "version": "9.3.3", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.3.tgz", + "integrity": "sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.1.3", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", + "dev": true + }, + "node_modules/@types/crypto-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@types/crypto-js/-/crypto-js-4.2.2.tgz", + "integrity": "sha512-sDOLlVbHhXpAUAL0YHDUUwDZf3iN4Bwi4W6a0W0b+QcAezUbRtH4FVb+9J4h+XFPW7l/gQ9F8qC7P+Ec4k8QVQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "18.18.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.4.tgz", + "integrity": "sha512-t3rNFBgJRugIhackit2mVcLfF6IRc0JE4oeizPQL8Zrm8n2WY/0wOdpOPhdtG0V9Q2TlW/axbF1MJ6z+Yj/kKQ==", + "optional": true + }, + "node_modules/@types/sinonjs__fake-timers": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", + "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==" + }, + "node_modules/@types/sizzle": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", + "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==" + }, + "node_modules/@types/uuid": { + "version": "9.0.8", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", + "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==", + "dev": true + }, + "node_modules/@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.47.tgz", + "integrity": "sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz", + "integrity": "sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==", + "dev": true, + "dependencies": { + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz", + "integrity": "sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-ssr": "3.2.47", + "@vue/reactivity-transform": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz", + "integrity": "sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.47.tgz", + "integrity": "sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==", + "dev": true, + "dependencies": { + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/reactivity-transform": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz", + "integrity": "sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.47.tgz", + "integrity": "sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==", + "dev": true, + "dependencies": { + "@vue/reactivity": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.47.tgz", + "integrity": "sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==", + "dev": true, + "dependencies": { + "@vue/runtime-core": "3.2.47", + "@vue/shared": "3.2.47", + "csstype": "^2.6.8" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.47.tgz", + "integrity": "sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==", + "dev": true, + "dependencies": { + "@vue/compiler-ssr": "3.2.47", + "@vue/shared": "3.2.47" + }, + "peerDependencies": { + "vue": "3.2.47" + } + }, + "node_modules/@vue/shared": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz", + "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==", + "dev": true + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "peer": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "peer": true + }, + "node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dev": true, + "dependencies": { + "deep-equal": "^2.0.5" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/blob-util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", + "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==" + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "peer": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true, + "peer": true + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "engines": { + "node": "*" + } + }, + "node_modules/cachedir": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", + "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/call-bind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "dependencies": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "peer": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "peer": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==" + }, + "node_modules/csstype": { + "version": "2.6.21", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", + "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==", + "dev": true + }, + "node_modules/cypress": { + "version": "13.11.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.11.0.tgz", + "integrity": "sha512-NXXogbAxVlVje4XHX+Cx5eMFZv4Dho/2rIcdBHg9CNPFUGZdM4cRdgIgM7USmNYsC12XY0bZENEQ+KBk72fl+A==", + "hasInstallScript": true, + "dependencies": { + "@cypress/request": "^3.0.0", + "@cypress/xvfb": "^1.2.4", + "@types/sinonjs__fake-timers": "8.1.1", + "@types/sizzle": "^2.3.2", + "arch": "^2.2.0", + "blob-util": "^2.0.2", + "bluebird": "^3.7.2", + "buffer": "^5.7.1", + "cachedir": "^2.3.0", + "chalk": "^4.1.0", + "check-more-types": "^2.24.0", + "cli-cursor": "^3.1.0", + "cli-table3": "~0.6.1", + "commander": "^6.2.1", + "common-tags": "^1.8.0", + "dayjs": "^1.10.4", + "debug": "^4.3.4", + "enquirer": "^2.3.6", + "eventemitter2": "6.4.7", + "execa": "4.1.0", + "executable": "^4.1.1", + "extract-zip": "2.0.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.8.3", + "lodash": "^4.17.21", + "log-symbols": "^4.0.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.5.3", + "supports-color": "^8.1.1", + "tmp": "~0.2.1", + "untildify": "^4.0.0", + "yauzl": "^2.10.0" + }, + "bin": { + "cypress": "bin/cypress" + }, + "engines": { + "node": "^16.0.0 || ^18.0.0 || >=20.0.0" + } + }, + "node_modules/cypress-plugin-api": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/cypress-plugin-api/-/cypress-plugin-api-2.10.3.tgz", + "integrity": "sha512-/UkbozLHtnRgw0KQO9XDkyyVELO3m1PX8gb6LyzIMHl7856KnsMpir8XJanLp4hKDLryrgIbPwn5QNIw4QEXZA==", + "dev": true, + "dependencies": { + "highlight.js": "11.4.0", + "prismjs": "^1.29.0", + "set-cookie-parser": "^2.5.1", + "vue": "^3.2.41" + }, + "peerDependencies": { + "cypress": ">=3" + } + }, + "node_modules/cypress-real-events": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/cypress-real-events/-/cypress-real-events-1.10.3.tgz", + "integrity": "sha512-YN3fn+CJIAM638sE6uMvv2/n3PsWowdd0rOiN6ZoyezNAMyENfuQHvccLKZpN+apGfQZYetCml6QXLYgDid2fg==", + "peerDependencies": { + "cypress": "^4.x || ^5.x || ^6.x || ^7.x || ^8.x || ^9.x || ^10.x || ^11.x || ^12.x || ^13.x" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dateformat": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz", + "integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-equal": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", + "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.5", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.2", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/eventemitter2": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==" + }, + "node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dependencies": { + "pify": "^2.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "peer": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "peer": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "peer": true, + "bin": { + "flat": "cli.js" + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/fsu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/fsu/-/fsu-1.1.1.tgz", + "integrity": "sha512-xQVsnjJ/5pQtcKh+KjUoZGzVWn4uNkchxTF6Lwjr4Gf7nQr8fmUfhKJ62zE77+xQg9xnxi5KUps7XGs+VC986A==", + "dev": true + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "dependencies": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/getos": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", + "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", + "dependencies": { + "async": "^3.2.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "peer": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "peer": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/highlight.js": { + "version": "11.4.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.4.0.tgz", + "integrity": "sha512-nawlpCBCSASs7EdvZOYOYVkJpGmAOKMYZgZtUqSRqodZE0GRVcFKwo1RcpeOemqh9hyttTdd5wDBwHkuSyUfnA==", + "dev": true, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/http-signature": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", + "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.14.1" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/internal-slot": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", + "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "peer": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "dependencies": { + "ci-info": "^3.2.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "peer": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "peer": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "node_modules/lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", + "engines": { + "node": "> 0.8" + } + }, + "node_modules/listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dependencies": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "peer": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.isempty": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz", + "integrity": "sha512-oKMuF3xEeqDltrGMfDxAPGIVMSSRv8tbRSODbrs4KGsRRLEhrW8N8Rd4DRgB2+621hY8A8XwwrTVhXWpxFvMzg==", + "dev": true + }, + "node_modules/lodash.isfunction": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", + "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", + "dev": true + }, + "node_modules/lodash.isobject": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz", + "integrity": "sha512-3/Qptq2vr7WeJbB4KHUSKlq8Pl7ASXi3UG6CMbBm8WRtXi8+GHm7mKaU3urfpSEzWe2wCIChs6/sdocUsTKJiA==", + "dev": true + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "dev": true + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true, + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mocha": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", + "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "nanoid": "3.3.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" + } + }, + "node_modules/mocha/node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/mocha/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mocha/node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "peer": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mocha/node_modules/minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "dev": true, + "peer": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/minimatch/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/mocha/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "peer": true + }, + "node_modules/mocha/node_modules/nanoid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", + "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "dev": true, + "peer": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/mochawesome": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/mochawesome/-/mochawesome-7.1.3.tgz", + "integrity": "sha512-Vkb3jR5GZ1cXohMQQ73H3cZz7RoxGjjUo0G5hu0jLaW+0FdUxUwg3Cj29bqQdh0rFcnyV06pWmqmi5eBPnEuNQ==", + "dev": true, + "dependencies": { + "chalk": "^4.1.2", + "diff": "^5.0.0", + "json-stringify-safe": "^5.0.1", + "lodash.isempty": "^4.4.0", + "lodash.isfunction": "^3.0.9", + "lodash.isobject": "^3.0.2", + "lodash.isstring": "^4.0.1", + "mochawesome-report-generator": "^6.2.0", + "strip-ansi": "^6.0.1", + "uuid": "^8.3.2" + }, + "peerDependencies": { + "mocha": ">=7" + } + }, + "node_modules/mochawesome-merge": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mochawesome-merge/-/mochawesome-merge-4.3.0.tgz", + "integrity": "sha512-1roR6g+VUlfdaRmL8dCiVpKiaUhbPVm1ZQYUM6zHX46mWk+tpsKVZR6ba98k2zc8nlPvYd71yn5gyH970pKBSw==", + "dev": true, + "dependencies": { + "fs-extra": "^7.0.1", + "glob": "^7.1.6", + "yargs": "^15.3.1" + }, + "bin": { + "mochawesome-merge": "bin/mochawesome-merge.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/mochawesome-merge/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/mochawesome-merge/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/mochawesome-merge/node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mochawesome-merge/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mochawesome-merge/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/mochawesome-merge/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/mochawesome-merge/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mochawesome-merge/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mochawesome-merge/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mochawesome-merge/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/mochawesome-merge/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mochawesome-merge/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "node_modules/mochawesome-merge/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mochawesome-merge/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/mochawesome-report-generator": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/mochawesome-report-generator/-/mochawesome-report-generator-6.2.0.tgz", + "integrity": "sha512-Ghw8JhQFizF0Vjbtp9B0i//+BOkV5OWcQCPpbO0NGOoxV33o+gKDYU0Pr2pGxkIHnqZ+g5mYiXF7GMNgAcDpSg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.2", + "dateformat": "^4.5.1", + "escape-html": "^1.0.3", + "fs-extra": "^10.0.0", + "fsu": "^1.1.1", + "lodash.isfunction": "^3.0.9", + "opener": "^1.5.2", + "prop-types": "^15.7.2", + "tcomb": "^3.2.17", + "tcomb-validation": "^3.3.0", + "validator": "^13.6.0", + "yargs": "^17.2.1" + }, + "bin": { + "marge": "bin/cli.js" + } + }, + "node_modules/mochawesome-report-generator/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/mochawesome-report-generator/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/mochawesome-report-generator/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/mochawesome-report-generator/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/mochawesome/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/neat-csv": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/neat-csv/-/neat-csv-5.2.0.tgz", + "integrity": "sha512-JMbn4RPKo1heWhDihK9kbffxkDdd2uFSk30t3YOz1u3gsbIGhGUNlmGGa5H9yySLie3qU4lsLwrxQyirExD71A==", + "dev": true, + "dependencies": { + "csv-parser": "^2.3.2", + "get-stream": "^5.1.0", + "to-readable-stream": "^2.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/neat-csv/node_modules/csv-parser": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/csv-parser/-/csv-parser-2.3.5.tgz", + "integrity": "sha512-LCHolC4AlNwL+5EuD5LH2VVNKpD8QixZW2zzK1XmrVYUaslFY4c5BooERHOCIubG9iv/DAyFjs4x0HvWNZuyWg==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0", + "through2": "^3.0.1" + }, + "bin": { + "csv-parser": "bin/csv-parser" + }, + "engines": { + "node": ">= 8.16.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/ospath": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", + "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==" + }, + "node_modules/otplib": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/otplib/-/otplib-12.0.1.tgz", + "integrity": "sha512-xDGvUOQjop7RDgxTQ+o4pOol0/3xSZzawTiPKRrHnQWAy0WjhNs/5HdIDJCrqC4MBynmjXgULc6YfioaxZeFgg==", + "dependencies": { + "@otplib/core": "^12.0.1", + "@otplib/preset-default": "^12.0.1", + "@otplib/preset-v11": "^12.0.1" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "peer": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "peer": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==" + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.10.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", + "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "peer": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "peer": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "dev": true + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/request-progress": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", + "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", + "dependencies": { + "throttleit": "^1.0.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rxjs": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "peer": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "node_modules/set-cookie-parser": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.5.1.tgz", + "integrity": "sha512-1jeBGaKNGdEq4FgIrORu/N570dwoPYio8lSoYLWmX7sQ//0JY08Xh9o5pBcgmHQ/MbsYp/aZnOe1s1lIsbLprQ==", + "dev": true + }, + "node_modules/set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "dependencies": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "dev": true + }, + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dev": true, + "dependencies": { + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/tcomb": { + "version": "3.2.29", + "resolved": "https://registry.npmjs.org/tcomb/-/tcomb-3.2.29.tgz", + "integrity": "sha512-di2Hd1DB2Zfw6StGv861JoAF5h/uQVu/QJp2g8KVbtfKnoHdBQl5M32YWq6mnSYBQ1vFFrns5B1haWJL7rKaOQ==", + "dev": true + }, + "node_modules/tcomb-validation": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/tcomb-validation/-/tcomb-validation-3.4.1.tgz", + "integrity": "sha512-urVVMQOma4RXwiVCa2nM2eqrAomHROHvWPuj6UkDGz/eb5kcy0x6P0dVt6kzpUZtYMNoAqJLWmz1BPtxrtjtrA==", + "dev": true, + "dependencies": { + "tcomb": "^3.0.0" + } + }, + "node_modules/thirty-two": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/thirty-two/-/thirty-two-1.0.2.tgz", + "integrity": "sha512-OEI0IWCe+Dw46019YLl6V10Us5bi574EvlJEOcAkB29IzQ/mYD1A6RyNHLjZPiHCmuodxvgF6U+vZO1L15lxVA==", + "engines": { + "node": ">=0.2.6" + } + }, + "node_modules/throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==" + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + }, + "node_modules/through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + }, + "node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/to-readable-stream": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-2.1.0.tgz", + "integrity": "sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "peer": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz", + "integrity": "sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/validator": { + "version": "13.11.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.11.0.tgz", + "integrity": "sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/vue": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.47.tgz", + "integrity": "sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "@vue/runtime-dom": "3.2.47", + "@vue/server-renderer": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dev": true, + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "dev": true + }, + "node_modules/which-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.4", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/workerpool": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "dev": true, + "peer": true + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "peer": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dev": true, + "peer": true, + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "dev": true, + "requires": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true + }, + "@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.3.tgz", + "integrity": "sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==", + "dev": true + }, + "@babel/runtime": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.5.tgz", + "integrity": "sha512-NdUTHcPe4C99WxPub+K9l9tK5/lV4UXIoaHSYgzco9BCyjKAAwzdBI+wWtYqHt7LJdbo74ZjRPJgzVweq1sz0w==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.14.0" + } + }, + "@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "optional": true + }, + "@cypress/request": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.0.tgz", + "integrity": "sha512-GKFCqwZwMYmL3IBoNeR2MM1SnxRIGERsQOTWeQKoYBt2JLqcqiy7JXqO894FLrpjZYqGxW92MNwRH2BN56obdQ==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "http-signature": "~1.3.6", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "performance-now": "^2.1.0", + "qs": "~6.10.3", + "safe-buffer": "^5.1.2", + "tough-cookie": "^4.1.3", + "tunnel-agent": "^0.6.0", + "uuid": "^8.3.2" + }, + "dependencies": { + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + } + } + }, + "@cypress/xvfb": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", + "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", + "requires": { + "debug": "^3.1.0", + "lodash.once": "^4.1.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "@faker-js/faker": { + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-8.3.1.tgz", + "integrity": "sha512-FdgpFxY6V6rLZE9mmIBb9hM0xpfvQOSNOLnzolzKwsE1DH+gC7lEKV1p1IbR0lAYyvYd5a4u3qWJzowUkw1bIw==", + "dev": true + }, + "@otplib/core": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/@otplib/core/-/core-12.0.1.tgz", + "integrity": "sha512-4sGntwbA/AC+SbPhbsziRiD+jNDdIzsZ3JUyfZwjtKyc/wufl1pnSIaG4Uqx8ymPagujub0o92kgBnB89cuAMA==" + }, + "@otplib/plugin-crypto": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/@otplib/plugin-crypto/-/plugin-crypto-12.0.1.tgz", + "integrity": "sha512-qPuhN3QrT7ZZLcLCyKOSNhuijUi9G5guMRVrxq63r9YNOxxQjPm59gVxLM+7xGnHnM6cimY57tuKsjK7y9LM1g==", + "requires": { + "@otplib/core": "^12.0.1" + } + }, + "@otplib/plugin-thirty-two": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/@otplib/plugin-thirty-two/-/plugin-thirty-two-12.0.1.tgz", + "integrity": "sha512-MtT+uqRso909UkbrrYpJ6XFjj9D+x2Py7KjTO9JDPhL0bJUYVu5kFP4TFZW4NFAywrAtFRxOVY261u0qwb93gA==", + "requires": { + "@otplib/core": "^12.0.1", + "thirty-two": "^1.0.2" + } + }, + "@otplib/preset-default": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/@otplib/preset-default/-/preset-default-12.0.1.tgz", + "integrity": "sha512-xf1v9oOJRyXfluBhMdpOkr+bsE+Irt+0D5uHtvg6x1eosfmHCsCC6ej/m7FXiWqdo0+ZUI6xSKDhJwc8yfiOPQ==", + "requires": { + "@otplib/core": "^12.0.1", + "@otplib/plugin-crypto": "^12.0.1", + "@otplib/plugin-thirty-two": "^12.0.1" + } + }, + "@otplib/preset-v11": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/@otplib/preset-v11/-/preset-v11-12.0.1.tgz", + "integrity": "sha512-9hSetMI7ECqbFiKICrNa4w70deTUfArtwXykPUvSHWOdzOlfa9ajglu7mNCntlvxycTiOAXkQGwjQCzzDEMRMg==", + "requires": { + "@otplib/core": "^12.0.1", + "@otplib/plugin-crypto": "^12.0.1", + "@otplib/plugin-thirty-two": "^12.0.1" + } + }, + "@testing-library/cypress": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@testing-library/cypress/-/cypress-10.0.1.tgz", + "integrity": "sha512-e8uswjTZIBhaIXjzEcrQQ8nHRWHgZH7XBxKuIWxZ/T7FxfWhCR48nFhUX5nfPizjVOKSThEfOSv67jquc1ASkw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.14.6", + "@testing-library/dom": "^9.0.0" + } + }, + "@testing-library/dom": { + "version": "9.3.3", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.3.tgz", + "integrity": "sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.1.3", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + } + }, + "@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", + "dev": true + }, + "@types/crypto-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@types/crypto-js/-/crypto-js-4.2.2.tgz", + "integrity": "sha512-sDOLlVbHhXpAUAL0YHDUUwDZf3iN4Bwi4W6a0W0b+QcAezUbRtH4FVb+9J4h+XFPW7l/gQ9F8qC7P+Ec4k8QVQ==", + "dev": true + }, + "@types/node": { + "version": "18.18.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.4.tgz", + "integrity": "sha512-t3rNFBgJRugIhackit2mVcLfF6IRc0JE4oeizPQL8Zrm8n2WY/0wOdpOPhdtG0V9Q2TlW/axbF1MJ6z+Yj/kKQ==", + "optional": true + }, + "@types/sinonjs__fake-timers": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", + "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==" + }, + "@types/sizzle": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", + "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==" + }, + "@types/uuid": { + "version": "9.0.8", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", + "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==", + "dev": true + }, + "@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "optional": true, + "requires": { + "@types/node": "*" + } + }, + "@vue/compiler-core": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.47.tgz", + "integrity": "sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==", + "dev": true, + "requires": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-dom": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz", + "integrity": "sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==", + "dev": true, + "requires": { + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@vue/compiler-sfc": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz", + "integrity": "sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==", + "dev": true, + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-ssr": "3.2.47", + "@vue/reactivity-transform": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-ssr": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz", + "integrity": "sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==", + "dev": true, + "requires": { + "@vue/compiler-dom": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@vue/reactivity": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.47.tgz", + "integrity": "sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==", + "dev": true, + "requires": { + "@vue/shared": "3.2.47" + } + }, + "@vue/reactivity-transform": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz", + "integrity": "sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==", + "dev": true, + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "@vue/runtime-core": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.47.tgz", + "integrity": "sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==", + "dev": true, + "requires": { + "@vue/reactivity": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@vue/runtime-dom": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.47.tgz", + "integrity": "sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==", + "dev": true, + "requires": { + "@vue/runtime-core": "3.2.47", + "@vue/shared": "3.2.47", + "csstype": "^2.6.8" + } + }, + "@vue/server-renderer": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.47.tgz", + "integrity": "sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==", + "dev": true, + "requires": { + "@vue/compiler-ssr": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@vue/shared": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz", + "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==", + "dev": true + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==" + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "peer": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==" + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "peer": true + }, + "aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dev": true, + "requires": { + "deep-equal": "^2.0.5" + } + }, + "array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + } + }, + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" + }, + "async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" + }, + "aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "peer": true + }, + "blob-util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", + "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==" + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "peer": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true, + "peer": true + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==" + }, + "cachedir": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", + "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==" + }, + "call-bind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "requires": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + } + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "peer": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==" + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "peer": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==" + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "requires": { + "@colors/colors": "1.5.0", + "string-width": "^4.2.0" + } + }, + "cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "requires": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "peer": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==" + }, + "common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypto-js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==" + }, + "csstype": { + "version": "2.6.21", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", + "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==", + "dev": true + }, + "cypress": { + "version": "13.11.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.11.0.tgz", + "integrity": "sha512-NXXogbAxVlVje4XHX+Cx5eMFZv4Dho/2rIcdBHg9CNPFUGZdM4cRdgIgM7USmNYsC12XY0bZENEQ+KBk72fl+A==", + "requires": { + "@cypress/request": "^3.0.0", + "@cypress/xvfb": "^1.2.4", + "@types/sinonjs__fake-timers": "8.1.1", + "@types/sizzle": "^2.3.2", + "arch": "^2.2.0", + "blob-util": "^2.0.2", + "bluebird": "^3.7.2", + "buffer": "^5.7.1", + "cachedir": "^2.3.0", + "chalk": "^4.1.0", + "check-more-types": "^2.24.0", + "cli-cursor": "^3.1.0", + "cli-table3": "~0.6.1", + "commander": "^6.2.1", + "common-tags": "^1.8.0", + "dayjs": "^1.10.4", + "debug": "^4.3.4", + "enquirer": "^2.3.6", + "eventemitter2": "6.4.7", + "execa": "4.1.0", + "executable": "^4.1.1", + "extract-zip": "2.0.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.8.3", + "lodash": "^4.17.21", + "log-symbols": "^4.0.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.5.3", + "supports-color": "^8.1.1", + "tmp": "~0.2.1", + "untildify": "^4.0.0", + "yauzl": "^2.10.0" + } + }, + "cypress-plugin-api": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/cypress-plugin-api/-/cypress-plugin-api-2.10.3.tgz", + "integrity": "sha512-/UkbozLHtnRgw0KQO9XDkyyVELO3m1PX8gb6LyzIMHl7856KnsMpir8XJanLp4hKDLryrgIbPwn5QNIw4QEXZA==", + "dev": true, + "requires": { + "highlight.js": "11.4.0", + "prismjs": "^1.29.0", + "set-cookie-parser": "^2.5.1", + "vue": "^3.2.41" + } + }, + "cypress-real-events": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/cypress-real-events/-/cypress-real-events-1.10.3.tgz", + "integrity": "sha512-YN3fn+CJIAM638sE6uMvv2/n3PsWowdd0rOiN6ZoyezNAMyENfuQHvccLKZpN+apGfQZYetCml6QXLYgDid2fg==", + "requires": {} + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "dateformat": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz", + "integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==", + "dev": true + }, + "dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true, + "peer": true + }, + "deep-equal": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", + "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.5", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.2", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.13" + } + }, + "define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "requires": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + } + }, + "define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "requires": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "dev": true + }, + "dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "eventemitter2": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==" + }, + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "requires": { + "pify": "^2.2.0" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "requires": { + "pend": "~1.2.0" + } + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "peer": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "peer": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "peer": true + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "optional": true, + "peer": true + }, + "fsu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/fsu/-/fsu-1.1.1.tgz", + "integrity": "sha512-xQVsnjJ/5pQtcKh+KjUoZGzVWn4uNkchxTF6Lwjr4Gf7nQr8fmUfhKJ62zE77+xQg9xnxi5KUps7XGs+VC986A==", + "dev": true + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "requires": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "requires": { + "pump": "^3.0.0" + } + }, + "getos": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", + "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", + "requires": { + "async": "^3.2.0" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "peer": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "requires": { + "ini": "2.0.0" + } + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "requires": { + "get-intrinsic": "^1.2.2" + } + }, + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "requires": { + "function-bind": "^1.1.2" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "peer": true + }, + "highlight.js": { + "version": "11.4.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.4.0.tgz", + "integrity": "sha512-nawlpCBCSASs7EdvZOYOYVkJpGmAOKMYZgZtUqSRqodZE0GRVcFKwo1RcpeOemqh9hyttTdd5wDBwHkuSyUfnA==", + "dev": true + }, + "http-signature": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", + "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.14.1" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" + }, + "internal-slot": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", + "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + } + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + } + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "peer": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true + }, + "is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "requires": { + "ci-info": "^3.2.0" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "peer": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "peer": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "requires": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + } + }, + "is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "peer": true + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true, + "peer": true + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "dev": true + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dev": true, + "requires": { + "which-typed-array": "^1.1.11" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" + }, + "is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "dev": true + }, + "is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "peer": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==" + }, + "listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "requires": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "peer": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash.isempty": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz", + "integrity": "sha512-oKMuF3xEeqDltrGMfDxAPGIVMSSRv8tbRSODbrs4KGsRRLEhrW8N8Rd4DRgB2+621hY8A8XwwrTVhXWpxFvMzg==", + "dev": true + }, + "lodash.isfunction": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", + "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", + "dev": true + }, + "lodash.isobject": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz", + "integrity": "sha512-3/Qptq2vr7WeJbB4KHUSKlq8Pl7ASXi3UG6CMbBm8WRtXi8+GHm7mKaU3urfpSEzWe2wCIChs6/sdocUsTKJiA==", + "dev": true + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "dev": true + }, + "lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==" + }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + } + }, + "log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "requires": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true + }, + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.8" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + }, + "mocha": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", + "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "dev": true, + "peer": true, + "requires": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "nanoid": "3.3.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "dependencies": { + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "peer": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "peer": true + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "peer": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "peer": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "dev": true, + "peer": true, + "requires": { + "brace-expansion": "^2.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "peer": true, + "requires": { + "balanced-match": "^1.0.0" + } + } + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "peer": true + }, + "nanoid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", + "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "dev": true, + "peer": true + } + } + }, + "mochawesome": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/mochawesome/-/mochawesome-7.1.3.tgz", + "integrity": "sha512-Vkb3jR5GZ1cXohMQQ73H3cZz7RoxGjjUo0G5hu0jLaW+0FdUxUwg3Cj29bqQdh0rFcnyV06pWmqmi5eBPnEuNQ==", + "dev": true, + "requires": { + "chalk": "^4.1.2", + "diff": "^5.0.0", + "json-stringify-safe": "^5.0.1", + "lodash.isempty": "^4.4.0", + "lodash.isfunction": "^3.0.9", + "lodash.isobject": "^3.0.2", + "lodash.isstring": "^4.0.1", + "mochawesome-report-generator": "^6.2.0", + "strip-ansi": "^6.0.1", + "uuid": "^8.3.2" + }, + "dependencies": { + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + } + } + }, + "mochawesome-merge": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mochawesome-merge/-/mochawesome-merge-4.3.0.tgz", + "integrity": "sha512-1roR6g+VUlfdaRmL8dCiVpKiaUhbPVm1ZQYUM6zHX46mWk+tpsKVZR6ba98k2zc8nlPvYd71yn5gyH970pKBSw==", + "dev": true, + "requires": { + "fs-extra": "^7.0.1", + "glob": "^7.1.6", + "yargs": "^15.3.1" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "mochawesome-report-generator": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/mochawesome-report-generator/-/mochawesome-report-generator-6.2.0.tgz", + "integrity": "sha512-Ghw8JhQFizF0Vjbtp9B0i//+BOkV5OWcQCPpbO0NGOoxV33o+gKDYU0Pr2pGxkIHnqZ+g5mYiXF7GMNgAcDpSg==", + "dev": true, + "requires": { + "chalk": "^4.1.2", + "dateformat": "^4.5.1", + "escape-html": "^1.0.3", + "fs-extra": "^10.0.0", + "fsu": "^1.1.1", + "lodash.isfunction": "^3.0.9", + "opener": "^1.5.2", + "prop-types": "^15.7.2", + "tcomb": "^3.2.17", + "tcomb-validation": "^3.3.0", + "validator": "^13.6.0", + "yargs": "^17.2.1" + }, + "dependencies": { + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "requires": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + } + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "dev": true + }, + "neat-csv": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/neat-csv/-/neat-csv-5.2.0.tgz", + "integrity": "sha512-JMbn4RPKo1heWhDihK9kbffxkDdd2uFSk30t3YOz1u3gsbIGhGUNlmGGa5H9yySLie3qU4lsLwrxQyirExD71A==", + "dev": true, + "requires": { + "csv-parser": "^2.3.2", + "get-stream": "^5.1.0", + "to-readable-stream": "^2.1.0" + }, + "dependencies": { + "csv-parser": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/csv-parser/-/csv-parser-2.3.5.tgz", + "integrity": "sha512-LCHolC4AlNwL+5EuD5LH2VVNKpD8QixZW2zzK1XmrVYUaslFY4c5BooERHOCIubG9iv/DAyFjs4x0HvWNZuyWg==", + "dev": true, + "requires": { + "minimist": "^1.2.0", + "through2": "^3.0.1" + } + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "peer": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "requires": { + "path-key": "^3.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true + }, + "object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true + }, + "ospath": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", + "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==" + }, + "otplib": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/otplib/-/otplib-12.0.1.tgz", + "integrity": "sha512-xDGvUOQjop7RDgxTQ+o4pOol0/3xSZzawTiPKRrHnQWAy0WjhNs/5HdIDJCrqC4MBynmjXgULc6YfioaxZeFgg==", + "requires": { + "@otplib/core": "^12.0.1", + "@otplib/preset-default": "^12.0.1", + "@otplib/preset-v11": "^12.0.1" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "peer": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "peer": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "peer": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + }, + "postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "dev": true, + "requires": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==" + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } + } + }, + "prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" + }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + } + } + }, + "proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==" + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" + }, + "qs": { + "version": "6.10.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", + "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "peer": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "peer": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "dev": true + }, + "regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + } + }, + "request-progress": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", + "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", + "requires": { + "throttleit": "^1.0.0" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "rxjs": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", + "requires": { + "tslib": "^2.1.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "peer": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "set-cookie-parser": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.5.1.tgz", + "integrity": "sha512-1jeBGaKNGdEq4FgIrORu/N570dwoPYio8lSoYLWmX7sQ//0JY08Xh9o5pBcgmHQ/MbsYp/aZnOe1s1lIsbLprQ==", + "dev": true + }, + "set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "requires": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + } + }, + "set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "requires": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dev": true, + "requires": { + "internal-slot": "^1.0.4" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "tcomb": { + "version": "3.2.29", + "resolved": "https://registry.npmjs.org/tcomb/-/tcomb-3.2.29.tgz", + "integrity": "sha512-di2Hd1DB2Zfw6StGv861JoAF5h/uQVu/QJp2g8KVbtfKnoHdBQl5M32YWq6mnSYBQ1vFFrns5B1haWJL7rKaOQ==", + "dev": true + }, + "tcomb-validation": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/tcomb-validation/-/tcomb-validation-3.4.1.tgz", + "integrity": "sha512-urVVMQOma4RXwiVCa2nM2eqrAomHROHvWPuj6UkDGz/eb5kcy0x6P0dVt6kzpUZtYMNoAqJLWmz1BPtxrtjtrA==", + "dev": true, + "requires": { + "tcomb": "^3.0.0" + } + }, + "thirty-two": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/thirty-two/-/thirty-two-1.0.2.tgz", + "integrity": "sha512-OEI0IWCe+Dw46019YLl6V10Us5bi574EvlJEOcAkB29IzQ/mYD1A6RyNHLjZPiHCmuodxvgF6U+vZO1L15lxVA==" + }, + "throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==" + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + }, + "through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "requires": { + "rimraf": "^3.0.0" + } + }, + "to-readable-stream": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-2.1.0.tgz", + "integrity": "sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "peer": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "dependencies": { + "universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==" + } + } + }, + "tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" + }, + "typescript": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz", + "integrity": "sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==", + "dev": true + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + }, + "untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==" + }, + "url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" + }, + "validator": { + "version": "13.11.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.11.0.tgz", + "integrity": "sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vue": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.47.tgz", + "integrity": "sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==", + "dev": true, + "requires": { + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "@vue/runtime-dom": "3.2.47", + "@vue/server-renderer": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dev": true, + "requires": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + } + }, + "which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "dev": true + }, + "which-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.4", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, + "workerpool": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "dev": true, + "peer": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "peer": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true, + "peer": true + }, + "yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dev": true, + "peer": true, + "requires": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + } + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "peer": true + } + } +} diff --git a/testing/package.json b/testing/package.json new file mode 100644 index 000000000..d351c8bc6 --- /dev/null +++ b/testing/package.json @@ -0,0 +1,28 @@ +{ + "devDependencies": { + "@faker-js/faker": "^8.3.1", + "@testing-library/cypress": "^10.0.1", + "@types/crypto-js": "^4.2.2", + "@types/uuid": "^9.0.8", + "cypress": "^13.11.0", + "cypress-plugin-api": "^2.10.3", + "dayjs": "^1.11.10", + "mochawesome": "^7.1.3", + "mochawesome-merge": "^4.3.0", + "mochawesome-report-generator": "^6.2.0", + "neat-csv": "^5.2.0", + "typescript": "^5.0.2" + }, + "scripts": { + "report": "mochawesome-merge -o mochawesome-report/report.json && marge mochawesome-report/report.json -i --charts=true", + "smoke": "cypress run --spec 'cypress/e2e/**/smoke-*-*.cy.ts' --browser chrome", + "test": "cypress run --browser chrome" + }, + "dependencies": { + "crypto-js": "^4.2.0", + "cypress-real-events": "^1.10.3", + "lodash.kebabcase": "^4.1.1", + "otplib": "^12.0.1", + "uuid": "^9.0.1" + } +} diff --git a/testing/sample.cypress.env.json b/testing/sample.cypress.env.json new file mode 100644 index 000000000..7a57625b1 --- /dev/null +++ b/testing/sample.cypress.env.json @@ -0,0 +1,16 @@ +{ + "users": [ + { + "type": "default", + "username": "", + "password": "", + "email": "", + "otpsecret": "" + } + ], + "host": "https://dev.namex.bcregistry.gov.bc.ca/", + "siteminder": "https://logontest7.gov.bc.ca", + "loginproxy": "https://dev.loginproxy.gov.bc.ca", + "smoketest": false, + "localtest": false +} diff --git a/testing/snapshots.js b/testing/snapshots.js new file mode 100644 index 000000000..0b52a279d --- /dev/null +++ b/testing/snapshots.js @@ -0,0 +1,13 @@ +module.exports = { + 'Verify Snapshot Home Page, not logged in': { + 'Not Logged in': { + 1: '
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n

Loading information...

\n
\n
', + }, + }, + 'Verify Snapshot Home Page, logged in': { + 'Logged in': { + 1: '
\n \n \n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n \n



\n
INTEGRATIONS
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Edit\n \n \n \n Delete\n \n \n \n
\n
\n
\n
\n \n Information\n \n \n Confirm Deletion
\n
\n
You are about to delete\n this integration request. This action cannot be\n undone.
\n
Delete\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Edit\n \n \n \n Delete\n \n \n \n
\n
\n
\n
\n \n Information\n \n \n Confirm Deletion
\n
\n
You are about to delete\n this integration request. This action cannot be\n undone.
\n
Delete\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Edit\n \n \n \n Delete\n \n \n \n
\n
\n
\n
\n \n Information\n \n \n Confirm Deletion
\n
\n
You are about to delete\n this integration request. This action cannot be\n undone.
\n
Delete\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Edit\n \n \n \n Delete\n \n \n \n
\n
\n
\n
\n \n Information\n \n \n Confirm Deletion
\n
\n
You are about to delete\n this integration request. This action cannot be\n undone.
\n
Delete\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Edit\n \n \n \n Delete\n \n \n \n
\n
\n
\n
\n \n Information\n \n \n Confirm Deletion
\n
\n
You are about to delete\n this integration request. This action cannot be\n undone.
\n
Delete\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Edit\n \n \n \n Delete\n \n \n \n
\n
\n
\n
\n \n Information\n \n \n Confirm Deletion
\n
\n
You are about to delete\n this integration request. This action cannot be\n undone.
\n
Delete\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Edit\n \n \n \n Delete\n \n \n \n
\n
\n
\n
\n \n Information\n \n \n Confirm Deletion
\n
\n
You are about to delete\n this integration request. This action cannot be\n undone.
\n
Delete\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Edit\n \n \n \n Delete\n \n \n \n
\n
\n
\n
\n \n Information\n \n \n Confirm Deletion
\n
\n
You are about to delete\n this integration request. This action cannot be\n undone.
\n
Delete\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Edit\n \n \n \n Delete\n \n \n \n
\n
\n
\n
\n \n Information\n \n \n Confirm Deletion
\n
\n
You are about to delete\n this integration request. This action cannot be\n undone.
\n
Delete\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Edit\n \n \n \n Delete\n \n \n \n
\n
\n
\n
\n \n Information\n \n \n Confirm Deletion
\n
\n
You are about to delete\n this integration request. This action cannot be\n undone.
\n
Delete\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Edit\n \n \n \n Delete\n \n \n \n
\n
\n
\n
\n \n Information\n \n \n Confirm Deletion
\n
\n
You are about to delete\n this integration request. This action cannot be\n undone.
\n
Delete\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Edit\n \n \n \n Delete\n \n \n \n
\n
\n
\n
\n \n Information\n \n \n Confirm Deletion
\n
\n
You are about to delete\n this integration request. This action cannot be\n undone.
\n
Delete\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Edit\n \n \n \n Delete\n \n \n \n
\n
\n
\n
\n \n Information\n \n \n Confirm Deletion
\n
\n
You are about to delete\n this integration request. This action cannot be\n undone.
\n
Delete\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n Edit\n \n \n \n Delete\n \n \n \n
\n
\n
\n
\n \n Information\n \n \n Confirm Deletion
\n
\n
You are about to delete\n this integration request. This action cannot be\n undone.
\n
Delete\n
\n
\n
\n
\n \n \n \n \n
Request ID Project Name \n Status Usecase Service Type \n Actions \n
00008887Realigned holistic contingencyCompletedBrowser LoginGold\n
00008886Optional even-keeled system engineCompletedBrowser LoginGold\n
00008883Persevering clear-thinking moderatorCompletedBrowser LoginGold\n
00008882Automated bi-directional process improvement\n CompletedBrowser LoginGold\n
00008871Extended full-range throughputCompletedBrowser LoginGold\n
00008870Quality-focused scalable matrixCompletedBrowser LoginGold\n
00008869Digitized 24/7 solution deliver back-end\n e-businesCompletedBrowser LoginGold\n
00008867Cross-platform static open architecture\n incubate fCompletedBrowser LoginGold\n
00008866Balanced national flexibility engineer\n collaboratiCompletedBrowser LoginGold\n
00008865Pre-emptive bandwidth-monitored function\n iterate sCompletedBrowser LoginGold\n
00008864Focused full-range encoding whiteboard\n efficient sCompletedBrowser LoginGold\n
00008863j;lkj;lkj;lCompletedBrowser LoginGold\n
00008859test1CompletedBrowser LoginGold\n
00008760Created By Training Account Aug 21CompletedBrowser LoginGold\n
\n
\n
\n
\n
\n
\n
\n

\n
INTEGRATION DETAILS - 00008887
\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Installation JSONs
\n
\n
\n \n \n
Development (IDIR)\n
\n
\n
\n \n  Download  \n \n Ready\n \n \n  Ready
\n

\n
\n
For more information on how to use\n these details, or for the public endpoints\n associated to your client, click to learn more on\n our wiki page \n \n \n .
\n
\n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n \n \n \n \n \n
\n
\n
\n Information\n \n \n Please upgrade from Silver to Gold
\n
\n
\n
\n
\n
\n

At this time, the Silver realms are being retired on Jan. 30\n 2023*. Projects on these realms will no longer be supported by\n the SSO team.

\n

Please complete a Change Impact\n Assessment, for each of your projects in the Silver\n realms.

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n Information\n \n \n Session expiring
\n
\n
\n
Your session will expire soon and you will be signed out\n automatically.

\n
Do you want to stay signed in?
\n
\n
Confirm\n
\n
\n
\n
\n
\n
\n
\n Information\n \n \n Session expired
\n
\n
\n
Your session has expired.

\n
Please login again.
\n
\n
Login
\n
\n
\n
\n', + }, + }, + __version: '13.1.0', +} diff --git a/testing/tsconfig.json b/testing/tsconfig.json new file mode 100644 index 000000000..54cbdbcb0 --- /dev/null +++ b/testing/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "target": "es5", + "lib": ["es5", "dom"], + "baseUrl": "./", + "types": [ + "cypress", + "node", + "cypress-real-events", + "@testing-library/cypress" + ], + "esModuleInterop": true, + "resolveJsonModule": true + }, + "include": ["**/*.ts", "**/*.js"] +} diff --git a/testing/tslint.json b/testing/tslint.json new file mode 100644 index 000000000..2a0c7048d --- /dev/null +++ b/testing/tslint.json @@ -0,0 +1,98 @@ +{ + "rulesDirectory": ["codelyzer"], + "rules": { + "arrow-return-shorthand": true, + "callable-types": true, + "class-name": true, + "comment-format": [true, "check-space"], + "curly": true, + "deprecation": { + "severity": "warn" + }, + "eofline": true, + "forin": true, + "import-blacklist": [true, "rxjs/Rx"], + "import-spacing": true, + "indent": [true, "spaces"], + "interface-over-type-literal": true, + "label-position": true, + "max-line-length": [true, 240], + "member-access": false, + "member-ordering": [ + true, + { + "order": [ + "static-field", + "instance-field", + "static-method", + "instance-method" + ] + } + ], + "no-arg": true, + "no-bitwise": true, + "no-console": [true, "debug", "info", "time", "timeEnd", "trace"], + "no-construct": true, + "no-debugger": true, + "no-duplicate-super": true, + "no-empty": false, + "no-empty-interface": true, + "no-eval": true, + "no-inferrable-types": [true, "ignore-params"], + "no-misused-new": true, + "no-non-null-assertion": true, + "no-redundant-jsdoc": true, + "no-shadowed-variable": true, + "no-string-literal": false, + "no-string-throw": true, + "no-switch-case-fall-through": true, + "no-trailing-whitespace": true, + "no-unnecessary-initializer": true, + "no-unused-expression": true, + "no-use-before-declare": true, + "no-var-keyword": true, + "object-literal-sort-keys": false, + "one-line": [ + true, + "check-open-brace", + "check-catch", + "check-else", + "check-whitespace" + ], + "prefer-const": true, + "quotemark": [true, "single"], + "radix": true, + "semicolon": [true, "always"], + "triple-equals": [true, "allow-null-check"], + "typedef-whitespace": [ + true, + { + "call-signature": "nospace", + "index-signature": "nospace", + "parameter": "nospace", + "property-declaration": "nospace", + "variable-declaration": "nospace" + } + ], + "unified-signatures": true, + "variable-name": false, + "whitespace": [ + true, + "check-branch", + "check-decl", + "check-operator", + "check-separator", + "check-type" + ], + "no-output-on-prefix": true, + "use-input-property-decorator": true, + "use-output-property-decorator": true, + "use-host-property-decorator": true, + "no-input-rename": true, + "no-output-rename": true, + "use-life-cycle-interface": true, + "use-pipe-transform-interface": true, + "component-class-suffix": true, + "directive-class-suffix": true + } +} diff --git a/testing/waitforconnection.sh b/testing/waitforconnection.sh new file mode 100644 index 000000000..0801bbd2b --- /dev/null +++ b/testing/waitforconnection.sh @@ -0,0 +1,11 @@ +#!/bin/bash +max_attempts=3 +wait_time=15 +url=https://bcgov.github.io/sso-requests-sandbox +code=301 +if [ $(curl --output /dev/null --silent --head -X GET --retry ${max_attempts} --fail --retry-all-errors --retry-delay ${wait_time} --retry-max-time 240 -w "%{response_code}\n" ${url}) -eq ${code} ]; then + echo "Connection Success!" +else + echo "Failed Connection!" + exit 1 +fi From e02ae1e186134dd9c427bffdd214a198fd0db983 Mon Sep 17 00:00:00 2001 From: EPortman Date: Wed, 17 Jul 2024 13:19:45 -0700 Subject: [PATCH 03/27] Added basic cypress tests --- testing/cypress/e2e/names-10-create.cy.ts | 115 ++++++++++++++++ .../e2e/names-20-create-anonymous.cy.ts | 102 ++++++++++++++ .../cypress/e2e/names-30-create-bcsc.cy.ts | 124 ++++++++++++++++++ .../cypress/e2e/names-40-create-bceid.cy.ts | 121 +++++++++++++++++ .../e2e/smoke/smoke-10-brokenlinks.cy.ts | 28 ++++ 5 files changed, 490 insertions(+) create mode 100644 testing/cypress/e2e/names-10-create.cy.ts create mode 100644 testing/cypress/e2e/names-20-create-anonymous.cy.ts create mode 100644 testing/cypress/e2e/names-30-create-bcsc.cy.ts create mode 100644 testing/cypress/e2e/names-40-create-bceid.cy.ts create mode 100644 testing/cypress/e2e/smoke/smoke-10-brokenlinks.cy.ts diff --git a/testing/cypress/e2e/names-10-create.cy.ts b/testing/cypress/e2e/names-10-create.cy.ts new file mode 100644 index 000000000..7a5b123ac --- /dev/null +++ b/testing/cypress/e2e/names-10-create.cy.ts @@ -0,0 +1,115 @@ +import type { LocaleDefinition } from '@faker-js/faker'; +import { base, en, Faker, en_CA } from '@faker-js/faker'; +const customFaker = new Faker({ + locale: [en, base, en_CA], +}); + +describe('names-10-create', () => { + beforeEach(() => { + customFaker.seed(Date.now() ^ (Math.random() * 0x100000000)); + cy.visit('https://test.names.bcregistry.gov.bc.ca'); + cy.get("#loginBtn").click().then(() => { + cy.get('div[role="menu"', { timeout: 1000 }).within(() => { + cy.contains('div', 'IDIR').click(); + }); + + cy.setid('default').then(() => { + // Validate siteminder and login + cy.get('#login-to', { timeout: 10000 }) + .contains('Log in to ') + .should('be.visible') + cy.get('#user', { timeout: 10000 }).type( + Cypress.env('username') + ) + cy.get('#password', { timeout: 10000 }).type( + Cypress.env('password'), + { log: false } + ) + + cy.get('div.login-form-action > input', { timeout: 10000 }).click() + cy.wait(3000) + }); + }); + }); + + afterEach(() => { + + cy.get('button.user-account-btn').click().then(() => { + cy.contains('div', 'Log out').click(); + }) + + }); + + let i = 0; + while (i < 10) { + it('should create a new name', () => { + cy.log('here we go!') + cy.get('#request-action-select').click().then(() => { + cy.contains('span', 'For businesses that do not exist yet').click() + cy.contains('div', 'Start a new BC-based business').click() + cy.get('#entity-type-options-select').click().then(() => { + cy.contains('span', 'Limited Company').click() + }) + }); + + cy.get('div#company-type').next().within(() => { + cy.get('#name-input-component').type(customFaker.company.name()) + }); + + cy.get('div#designation').click().then(() => { + cy.contains('div.v-list-item__title', 'INC.').eq(0).click({ force: true }) + }) + + cy.get('#search-name-btn').click() + + cy.get('#name-check-submit-btn').click() + cy.get('button.submit-continue-btn').click() + + /* firstname: string = 'input[type="text"][id="firstname"]' + middlename: string = 'input[type="text"][id="middlename"]' + lastname: string = 'input[type="text"][id="lastname"]' + line1: string = 'input[type="text"][id="line1"]' + 1ine2: string = 'input[type="text"][id="1ine2"]' + city: string = 'input[type="text"][id="city"]' + province: string = 'input[type="text"][id="province"]' + country: string = 'input[type="text"][id="country"]' + postalcode: string = 'input[type="text"][id="postalcode"]' */ + + cy.get('input[type="text"][id="firstname"]').type(customFaker.person.firstName()) + cy.get('input[type="text"][id="middlename"]').type(customFaker.person.middleName()) + cy.get('input[type="text"][id="lastname"]').type(customFaker.person.lastName()) + cy.get('input[type="text"][id="line1"]').focus().type(customFaker.number.int({ min: 10, max: 9000 }).toString()) + + /* cy.get('input[type="text"][id="line2"]').type(customFaker.location.streetAddress()) + cy.get('input[type="text"][id="city"]').type(customFaker.location.city()) + cy.get('input[type="text"][id="province"]').type(customFaker.location.state()) + cy.get('input[type="text"][id="country"]').type(customFaker.location.country()) + cy.get('input[type="text"][id="postalcode"]').type(customFaker.location.zipCode()) */ + + cy.get('div[role="menu"]').within(() => { + cy.get('a.link-sm-dk-text').eq(0).click({ force: true }) + }); + cy.get('input[role="checkbox"]').click({ force: true }) + + cy.get('button.submit-continue-btn').eq(1).click() + + cy.get('input[type="text"][id="emailAddress"]').type('roland.stens@gov.bc.ca') + cy.get('input[type="tel"][id="phoneNumber"]').type('123') + cy.get('input[type="text"][id="faxNumber"]').type(customFaker.phone.number()) + cy.get('textarea[id="natureBusinessInfo"]').type(customFaker.lorem.sentence()) + cy.get('textarea[id="additionalInfo"]').type(customFaker.lorem.sentence()) + cy.get('button.submit-continue-btn').eq(2).click() + + cy.get('div[role="dialog"]').within(() => { + cy.get('button#confirm-nr-continue-btn').click() + }) + + cy.wait(1000) + cy.contains('label', 'No Fee').click() + cy.get('button#confirm-nr-submit-btn').click() + + + }); + i++; + } +}); \ No newline at end of file diff --git a/testing/cypress/e2e/names-20-create-anonymous.cy.ts b/testing/cypress/e2e/names-20-create-anonymous.cy.ts new file mode 100644 index 000000000..29a6e7b58 --- /dev/null +++ b/testing/cypress/e2e/names-20-create-anonymous.cy.ts @@ -0,0 +1,102 @@ +import type { LocaleDefinition } from '@faker-js/faker'; +import { base, en, Faker, en_CA } from '@faker-js/faker'; +const customFaker = new Faker({ + locale: [en, base, en_CA], +}); + +describe('names-20-create', () => { + beforeEach(() => { + customFaker.seed(Date.now() ^ (Math.random() * 0x100000000)); + cy.visit('https://test.names.bcregistry.gov.bc.ca'); + }); + + afterEach(() => { + }); + + let i = 0; + while (i < 10) { + + it('should create a new name', () => { + cy.log('here we go!') + cy.get('#request-action-select').click().then(() => { + cy.contains('span', 'For businesses that do not exist yet').click() + cy.contains('div', 'Start a new BC-based business').click() + cy.get('#entity-type-options-select').click().then(() => { + cy.contains('span', 'Limited Company').click() + }) + }); + + cy.get('div#company-type').next().within(() => { + cy.get('#name-input-component').type(customFaker.company.name()) + }); + + cy.get('div#designation').click().then(() => { + cy.contains('div.v-list-item__title', 'INC.').eq(0).click({ force: true }) + }) + + cy.get('#search-name-btn').click() + + cy.get('#name-check-submit-btn').click() + cy.get('button.submit-continue-btn').click() + + /* firstname: string = 'input[type="text"][id="firstname"]' + middlename: string = 'input[type="text"][id="middlename"]' + lastname: string = 'input[type="text"][id="lastname"]' + line1: string = 'input[type="text"][id="line1"]' + 1ine2: string = 'input[type="text"][id="1ine2"]' + city: string = 'input[type="text"][id="city"]' + province: string = 'input[type="text"][id="province"]' + country: string = 'input[type="text"][id="country"]' + postalcode: string = 'input[type="text"][id="postalcode"]' */ + + cy.get('input[type="text"][id="firstname"]').type(customFaker.person.firstName()) + cy.get('input[type="text"][id="middlename"]').type(customFaker.person.middleName()) + cy.get('input[type="text"][id="lastname"]').type(customFaker.person.lastName()) + cy.get('input[type="text"][id="line1"]').focus().type(customFaker.number.int({ min: 10, max: 9000 }).toString()) + + /* cy.get('input[type="text"][id="line2"]').type(customFaker.location.streetAddress()) + cy.get('input[type="text"][id="city"]').type(customFaker.location.city()) + cy.get('input[type="text"][id="province"]').type(customFaker.location.state()) + cy.get('input[type="text"][id="country"]').type(customFaker.location.country()) + cy.get('input[type="text"][id="postalcode"]').type(customFaker.location.zipCode()) */ + + cy.get('div[role="menu"]').within(() => { + cy.get('a.link-sm-dk-text').eq(0).click({ force: true }) + }); + cy.get('input[role="checkbox"]').click({ force: true }) + + cy.get('button.submit-continue-btn').eq(1).click() + + cy.get('input[type="text"][id="emailAddress"]').type('roland.stens@gov.bc.ca') + cy.get('input[type="tel"][id="phoneNumber"]').type('123') + cy.get('input[type="text"][id="faxNumber"]').type(customFaker.phone.number()) + cy.get('textarea[id="natureBusinessInfo"]').type(customFaker.lorem.sentence()) + cy.get('textarea[id="additionalInfo"]').type(customFaker.lorem.sentence()) + + // Select Urgent + cy.get('input[type="checkbox"][role="checkbox"]').eq(1).click({ force: true }) + + cy.get('button.submit-continue-btn').eq(2).click() + + cy.get('div[role="dialog"]').within(() => { + cy.get('button#confirm-nr-continue-btn').click() + }) + + //cy.get('button#confirm-nr-submit-btn').click() + + cy.origin('https://www.beanstream.com', () => { + cy.get('#trnCardNumber').should('exist').type('4030000010001234') + cy.get('select').eq(2).should('exist').select('30') + cy.get('#trnCardCvd').should('exist').type('123') + cy.get('input[name="submitButton"]').should('exist').click() + }) + + cy.get('#existing-request-display').should('exist') // Shows details of the request + // cy.pause() // to copy down the NR number + + cy.get('#back-to-search-btn').click() + cy.get('#tabs-landing-comp').should('exist') // back to landing page + }); + i++; + } +}); \ No newline at end of file diff --git a/testing/cypress/e2e/names-30-create-bcsc.cy.ts b/testing/cypress/e2e/names-30-create-bcsc.cy.ts new file mode 100644 index 000000000..3355c2b10 --- /dev/null +++ b/testing/cypress/e2e/names-30-create-bcsc.cy.ts @@ -0,0 +1,124 @@ +import type { LocaleDefinition } from '@faker-js/faker'; +import { base, en, Faker, en_CA } from '@faker-js/faker'; +const customFaker = new Faker({ + locale: [en, base, en_CA], +}); + +describe('names-30-create', () => { + beforeEach(() => { + customFaker.seed(Date.now() ^ (Math.random() * 0x100000000)); + cy.visit('https://test.names.bcregistry.gov.bc.ca'); + cy.get("#loginBtn").click().then(() => { + cy.get('div[role="menu"', { timeout: 1000 }).within(() => { + cy.contains('div', 'BC Services Card').click(); + }); + + cy.setid('bcsc').then(() => { + + // cy.origin('https://idtest.gov.bc.ca/login/entry#start', () => { + + cy.get('#tile_test_with_username_password_device_div_id').click({ force: true }) + cy.wait(3000) + + // Validate siteminder and login + cy.contains('h1', 'Log in to: BC Registries', { timeout: 10000 }).should('be.visible') + + cy.get('input#username', { timeout: 10000 }).type( + Cypress.env('username') + ) + cy.get('input#password', { timeout: 10000 }).type( + Cypress.env('password'), + { log: false } + ) + + cy.get('button#submit-btn', { timeout: 10000 }).click() + cy.wait(3000) + // }); + }); + }); + }); + + afterEach(() => { + cy.get('button.user-account-btn').click().then(() => { + cy.contains('div', 'Log out').click(); + }) + }); + + let i = 0; + while (i < 20) { + it('should create a new name', () => { + cy.log('here we go!') + cy.get('#request-action-select').click().then(() => { + cy.contains('span', 'For businesses that do not exist yet').click() + cy.contains('div', 'Start a new BC-based business').click() + cy.get('#entity-type-options-select').click().then(() => { + cy.contains('span', 'Limited Company').click() + }) + }); + + cy.get('div#company-type').next().within(() => { + cy.get('#name-input-component').type(customFaker.company.name()) + }); + + cy.get('div#designation').click().then(() => { + cy.contains('div.v-list-item__title', 'INC.').eq(0).click({ force: true }) + }) + + cy.get('#search-name-btn').click() + + cy.get('#name-check-submit-btn').click() + cy.get('button.submit-continue-btn').click() + + /* firstname: string = 'input[type="text"][id="firstname"]' + middlename: string = 'input[type="text"][id="middlename"]' + lastname: string = 'input[type="text"][id="lastname"]' + line1: string = 'input[type="text"][id="line1"]' + 1ine2: string = 'input[type="text"][id="1ine2"]' + city: string = 'input[type="text"][id="city"]' + province: string = 'input[type="text"][id="province"]' + country: string = 'input[type="text"][id="country"]' + postalcode: string = 'input[type="text"][id="postalcode"]' */ + + cy.get('input[type="text"][id="firstname"]').type(customFaker.person.firstName()) + cy.get('input[type="text"][id="middlename"]').type(customFaker.person.middleName()) + cy.get('input[type="text"][id="lastname"]').type(customFaker.person.lastName()) + cy.get('input[type="text"][id="line1"]').focus().type(customFaker.number.int({ min: 10, max: 9000 }).toString()) + + /* cy.get('input[type="text"][id="line2"]').type(customFaker.location.streetAddress()) + cy.get('input[type="text"][id="city"]').type(customFaker.location.city()) + cy.get('input[type="text"][id="province"]').type(customFaker.location.state()) + cy.get('input[type="text"][id="country"]').type(customFaker.location.country()) + cy.get('input[type="text"][id="postalcode"]').type(customFaker.location.zipCode()) */ + + cy.get('div[role="menu"]').within(() => { + cy.get('a.link-sm-dk-text').eq(0).click({ force: true }) + }); + cy.get('input[role="checkbox"]').click({ force: true }) + + cy.get('button.submit-continue-btn').eq(1).click() + + cy.get('input[type="text"][id="emailAddress"]').type('roland.stens@gov.bc.ca') + cy.get('input[type="tel"][id="phoneNumber"]').type('123') + cy.get('input[type="text"][id="faxNumber"]').type(customFaker.phone.number()) + cy.get('textarea[id="natureBusinessInfo"]').type(customFaker.lorem.sentence()) + cy.get('textarea[id="additionalInfo"]').type(customFaker.lorem.sentence()) + + // Select Urgent + // cy.get('input[type="checkbox"][role="checkbox"]').eq(1).click({ force: true }) + + cy.get('button.submit-continue-btn').eq(2).click() + + cy.get('div[role="dialog"]').within(() => { + cy.get('button#confirm-nr-continue-btn').click() + }) + + + cy.get('#existing-request-display').should('exist') // Shows details of the request + // cy.pause() // to copy down the NR number + + cy.get('#back-to-search-btn').click() + cy.get('#tabs-landing-comp').should('exist') // back to landing page + }); + i++; +} +}); \ No newline at end of file diff --git a/testing/cypress/e2e/names-40-create-bceid.cy.ts b/testing/cypress/e2e/names-40-create-bceid.cy.ts new file mode 100644 index 000000000..a0661daeb --- /dev/null +++ b/testing/cypress/e2e/names-40-create-bceid.cy.ts @@ -0,0 +1,121 @@ +import type { LocaleDefinition } from '@faker-js/faker'; +import { base, en, Faker, en_CA } from '@faker-js/faker'; +const customFaker = new Faker({ + locale: [en, base, en_CA], +}); + +describe('names-40-create', () => { + beforeEach(() => { + customFaker.seed(Date.now() ^ (Math.random() * 0x100000000)); + cy.visit('https://dev.names.bcregistry.gov.bc.ca'); + cy.get("#loginBtn").click().then(() => { + cy.get('div[role="menu"', { timeout: 1000 }).within(() => { + cy.contains('div', 'BC Services Card').click(); + }); + + cy.setid('bceid').then(() => { + + cy.get('#tile_test_with_username_password_device_div_id').click({ force: true }) + cy.wait(3000) + + // Validate siteminder and login + cy.contains('h1', 'Log in to: BC Registries', { timeout: 10000 }).should('be.visible') + + cy.get('input#username', { timeout: 10000 }).type( + Cypress.env('username') + ) + cy.get('input#password', { timeout: 10000 }).type( + Cypress.env('password'), + { log: false } + ) + + cy.get('button#submit-btn', { timeout: 10000 }).click() + cy.wait(3000) + }); + }); + }); + + afterEach(() => { + cy.get('button.user-account-btn').click().then(() => { + cy.contains('div', 'Log out').click(); + }) + }); + + let i = 0; + while (i < 20) { + it('should create a new name', () => { + cy.log('here we go!') + cy.get('#request-action-select').click().then(() => { + cy.contains('span', 'For businesses that do not exist yet').click() + cy.contains('div', 'Start a new BC-based business').click() + cy.get('#entity-type-options-select').click().then(() => { + cy.contains('span', 'Limited Company').click() + }) + }); + + cy.get('div#company-type').next().within(() => { + cy.get('#name-input-component').type(customFaker.company.name()) + }); + + cy.get('div#designation').click().then(() => { + cy.contains('div.v-list-item__title', 'INC.').eq(0).click({ force: true }) + }) + + cy.get('#search-name-btn').click() + + cy.get('#name-check-submit-btn').click() + cy.get('button.submit-continue-btn').click() + + /* firstname: string = 'input[type="text"][id="firstname"]' + middlename: string = 'input[type="text"][id="middlename"]' + lastname: string = 'input[type="text"][id="lastname"]' + line1: string = 'input[type="text"][id="line1"]' + 1ine2: string = 'input[type="text"][id="1ine2"]' + city: string = 'input[type="text"][id="city"]' + province: string = 'input[type="text"][id="province"]' + country: string = 'input[type="text"][id="country"]' + postalcode: string = 'input[type="text"][id="postalcode"]' */ + + cy.get('input[type="text"][id="firstname"]').type(customFaker.person.firstName()) + cy.get('input[type="text"][id="middlename"]').type(customFaker.person.middleName()) + cy.get('input[type="text"][id="lastname"]').type(customFaker.person.lastName()) + cy.get('input[type="text"][id="line1"]').focus().type(customFaker.number.int({ min: 10, max: 9000 }).toString()) + + /* cy.get('input[type="text"][id="line2"]').type(customFaker.location.streetAddress()) + cy.get('input[type="text"][id="city"]').type(customFaker.location.city()) + cy.get('input[type="text"][id="province"]').type(customFaker.location.state()) + cy.get('input[type="text"][id="country"]').type(customFaker.location.country()) + cy.get('input[type="text"][id="postalcode"]').type(customFaker.location.zipCode()) */ + + cy.get('div[role="menu"]').within(() => { + cy.get('a.link-sm-dk-text').eq(0).click({ force: true }) + }); + cy.get('input[role="checkbox"]').click({ force: true }) + + cy.get('button.submit-continue-btn').eq(1).click() + + cy.get('input[type="text"][id="emailAddress"]').type('roland.stens@gov.bc.ca') + cy.get('input[type="tel"][id="phoneNumber"]').type('123') + cy.get('input[type="text"][id="faxNumber"]').type(customFaker.phone.number()) + cy.get('textarea[id="natureBusinessInfo"]').type(customFaker.lorem.sentence()) + cy.get('textarea[id="additionalInfo"]').type(customFaker.lorem.sentence()) + + // Select Urgent + // cy.get('input[type="checkbox"][role="checkbox"]').eq(1).click({ force: true }) + + cy.get('button.submit-continue-btn').eq(2).click() + + cy.get('div[role="dialog"]').within(() => { + cy.get('button#confirm-nr-continue-btn').click() + }) + + + cy.get('#existing-request-display').should('exist') // Shows details of the request + // cy.pause() // to copy down the NR number + + cy.get('#back-to-search-btn').click() + cy.get('#tabs-landing-comp').should('exist') // back to landing page + }); + i++; +} +}); \ No newline at end of file diff --git a/testing/cypress/e2e/smoke/smoke-10-brokenlinks.cy.ts b/testing/cypress/e2e/smoke/smoke-10-brokenlinks.cy.ts new file mode 100644 index 000000000..c09fc3aa0 --- /dev/null +++ b/testing/cypress/e2e/smoke/smoke-10-brokenlinks.cy.ts @@ -0,0 +1,28 @@ +// Cypress Test: Check for Broken Static Links +// This spec checks for broken links on the home page, including the header and footer. +// It verifies if the specified links are operational. +// It does not test if the links are correct. + +// describe('Check for Broken Static Links', () => { +// beforeEach(() => { +// cy.setid('default') +// cy.login() +// }) + +// afterEach(() => { +// cy.logout() +// }) +// it('Check All Static Links', () => { +// // Iterate through all the links on the page +// // If the link has a specified URL, check if the link is operational +// cy.linkChecker() + +// // Navigate to the next tab +// cy.contains('a', 'Examine Names').click() +// cy.linkChecker() + +// // Navigate to the next tab +// cy.contains('a', 'Search').click() +// cy.linkChecker() +// }) +// }) From 1aebbf9a37435bbbe44ceb6505405758f8a7119a Mon Sep 17 00:00:00 2001 From: EPortman Date: Wed, 17 Jul 2024 13:23:21 -0700 Subject: [PATCH 04/27] Changed build directory in dev-ops --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6c61d7095..ca8b90507 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,5 +15,5 @@ jobs: uses: bcgov/bcregistry-sre/.github/workflows/frontend-ci.yaml@main with: app_name: "namerequest" - working_directory: "./" + working_directory: "./app" codecov_flag: "" From b5277d31ea71ff181f3df9559b258b5eebcfc6a6 Mon Sep 17 00:00:00 2001 From: EPortman Date: Wed, 17 Jul 2024 13:29:16 -0700 Subject: [PATCH 05/27] Updated ci / cd --- .github/workflows/cd.yml | 3 ++ .github/workflows/e2e.yml | 65 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 .github/workflows/e2e.yml diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index b2131fd98..ace89e81f 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -4,6 +4,8 @@ on: push: branches: - main + paths: + - 'app/**' workflow_dispatch: inputs: environment: @@ -26,6 +28,7 @@ jobs: with: environment: ${{ inputs.environment }} tagname: ${{ inputs.tagname }} + working_directory: 'app' secrets: APP_NAME: "namerequest" OP_CONNECT_URL: ${{ secrets.OP_CONNECT_URL }} diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml new file mode 100644 index 000000000..6e9b18bd8 --- /dev/null +++ b/.github/workflows/e2e.yml @@ -0,0 +1,65 @@ +name: main-e2e-tests + +on: + workflow_dispatch: + inputs: + smoketest: + required: true + description: 'Is this a smoke test?' + default: 'true' + url_parameter: + required: false + description: 'Which URL to test?' + logLevel: + description: 'Log level' + required: true + default: 'warning' + type: choice + options: + - info + - warning + - debug +env: + CYPRESS_users: ${{ secrets.CYPRESS_USERS }} + CYPRESS_BASE_URL: ${{ inputs.url_parameter || secrets.CYPRESS_BASEURL }} + CYPRESS_ENVIRONMENT: ${{ github.base_ref }} + CYPRESS_loginproxy: ${{ secrets.CYPRESS_LOGINPROXY }} + CYPRESS_siteminder: ${{ secrets.CYPRESS_SITEMINDER }} + CYPRESS_smoketest: ${{inputs.smoketest}} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +jobs: + smoke-test: + runs-on: ubuntu-latest + strategy: + fail-fast: false # https://github.com/cypress-io/github-action/issues/48 + steps: + # Checkout the PR branch + - name: Checkout Target Branch + uses: actions/checkout@v4 + - name: E2E Smoke tests + uses: cypress-io/github-action@v6 + id: smoke + continue-on-error: false + with: + summary-title: 'E2E Smoke tests' + wait-on: ${{ secrets.CYPRESS_HOST }} + wait-on-timeout: 120 + record: false + install-command: npm ci + working-directory: testing + spec: | + cypress/e2e/smoke/smoke-*-*.cy.ts + browser: chrome + # project: ./e2e + ci-build-id: ${{ github.event.number }} + + - name: Run the reports + run: | + cd testing + npm run report + + - name: Upload Test Reports + uses: actions/upload-artifact@v4 + with: + name: smoke-test-results + path: testing/mochawesome-report/report.html From 2a0f3175c42692ca1bbf0f638dc9c2270c647e35 Mon Sep 17 00:00:00 2001 From: EPortman Date: Wed, 17 Jul 2024 13:33:38 -0700 Subject: [PATCH 06/27] updated PR cloud build --- devops/cloudbuild-pr.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/devops/cloudbuild-pr.yaml b/devops/cloudbuild-pr.yaml index 4d609d951..db3259b6e 100644 --- a/devops/cloudbuild-pr.yaml +++ b/devops/cloudbuild-pr.yaml @@ -3,9 +3,11 @@ steps: - name: node:20.5.1 entrypoint: npm args: ['install'] + dir: app # setup .env - name: 'bash' + dir: app script: | #!/usr/bin/env bash cp .env.example .env @@ -25,6 +27,7 @@ steps: - 'VUE_APP_WEBCHAT_REASON=$_VUE_APP_WEBCHAT_REASON' - 'VUE_APP_WEBCHAT_STATUS_URL=$_VUE_APP_WEBCHAT_STATUS_URL' args: ['--openssl-legacy-provider', 'run', 'build'] + dir: app # # Deploy to firebase channel, using the PR # @@ -33,6 +36,7 @@ steps: - name: gcr.io/yfthig-dev/firebase entrypoint: bash args: ['-c', 'firebase hosting:channel:deploy --project=yfthig-dev PR-$_PR_NUMBER > /workspace/firebase-deploy.txt'] + dir: app # # Update the PR with the temporary URL From 8ff875533448f84be85818957be9ebecfe7b35fe Mon Sep 17 00:00:00 2001 From: EPortman Date: Wed, 17 Jul 2024 13:46:09 -0700 Subject: [PATCH 07/27] Changed to pnpm --- devops/cloudbuild-pr.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/devops/cloudbuild-pr.yaml b/devops/cloudbuild-pr.yaml index db3259b6e..be5d374bc 100644 --- a/devops/cloudbuild-pr.yaml +++ b/devops/cloudbuild-pr.yaml @@ -1,7 +1,7 @@ steps: # install / setup ci - name: node:20.5.1 - entrypoint: npm + entrypoint: pnpm args: ['install'] dir: app @@ -16,7 +16,7 @@ steps: # Generate the static site # - name: node:20.5.1 - entrypoint: npm + entrypoint: pnpm env: - 'VUE_APP_NAMEREQUEST_LD_CLIENT_ID=$_VUE_APP_NAMEREQUEST_LD_CLIENT_ID' - 'VUE_APP_GENESYS_ENV=$_VUE_APP_GENESYS_ENV' From cf790be1b0925754e597b05a261e55c6fbbc29fd Mon Sep 17 00:00:00 2001 From: EPortman Date: Wed, 17 Jul 2024 13:55:26 -0700 Subject: [PATCH 08/27] installed pnpm --- devops/cloudbuild-pr.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/devops/cloudbuild-pr.yaml b/devops/cloudbuild-pr.yaml index be5d374bc..abdbcab81 100644 --- a/devops/cloudbuild-pr.yaml +++ b/devops/cloudbuild-pr.yaml @@ -1,4 +1,10 @@ steps: + # pnpm + - name: 'bash' + dir: app + script: | + curl -fsSL https://get.pnpm.io/install.sh | sh - + # install / setup ci - name: node:20.5.1 entrypoint: pnpm From 5e072983bdc0459c32fc4821fa8552251961eb1f Mon Sep 17 00:00:00 2001 From: EPortman Date: Wed, 17 Jul 2024 13:55:50 -0700 Subject: [PATCH 09/27] installed pnpm --- devops/cloudbuild-pr.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devops/cloudbuild-pr.yaml b/devops/cloudbuild-pr.yaml index abdbcab81..63fa4742c 100644 --- a/devops/cloudbuild-pr.yaml +++ b/devops/cloudbuild-pr.yaml @@ -3,7 +3,7 @@ steps: - name: 'bash' dir: app script: | - curl -fsSL https://get.pnpm.io/install.sh | sh - + curl -fsSL https://get.pnpm.io/install.sh | sh - # install / setup ci - name: node:20.5.1 From 5cd8eda27bc42460a95a903295ad448b4448ef2c Mon Sep 17 00:00:00 2001 From: EPortman Date: Wed, 17 Jul 2024 13:59:45 -0700 Subject: [PATCH 10/27] Trial --- devops/cloudbuild-pr.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devops/cloudbuild-pr.yaml b/devops/cloudbuild-pr.yaml index 63fa4742c..219c603eb 100644 --- a/devops/cloudbuild-pr.yaml +++ b/devops/cloudbuild-pr.yaml @@ -3,7 +3,7 @@ steps: - name: 'bash' dir: app script: | - curl -fsSL https://get.pnpm.io/install.sh | sh - + npm install -g pnpm # install / setup ci - name: node:20.5.1 From ab49571410c7bc3d113367b12be4b06b1f4b8a77 Mon Sep 17 00:00:00 2001 From: EPortman Date: Wed, 17 Jul 2024 14:02:25 -0700 Subject: [PATCH 11/27] try --- devops/cloudbuild-pr.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/devops/cloudbuild-pr.yaml b/devops/cloudbuild-pr.yaml index 219c603eb..fdcddab6e 100644 --- a/devops/cloudbuild-pr.yaml +++ b/devops/cloudbuild-pr.yaml @@ -1,9 +1,9 @@ steps: # pnpm - - name: 'bash' + - name: node:20.5.1 + entrypoint: npm dir: app - script: | - npm install -g pnpm + args: ['install', '-g', 'pnpm'] # install / setup ci - name: node:20.5.1 From c9dec155b1b95fd66f7dbe755e4c774feb55d207 Mon Sep 17 00:00:00 2001 From: EPortman Date: Wed, 17 Jul 2024 14:07:02 -0700 Subject: [PATCH 12/27] ANother --- devops/cloudbuild-pr.yaml | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/devops/cloudbuild-pr.yaml b/devops/cloudbuild-pr.yaml index fdcddab6e..98baea2a5 100644 --- a/devops/cloudbuild-pr.yaml +++ b/devops/cloudbuild-pr.yaml @@ -1,15 +1,10 @@ steps: # pnpm - name: node:20.5.1 - entrypoint: npm - dir: app - args: ['install', '-g', 'pnpm'] - - # install / setup ci - - name: node:20.5.1 - entrypoint: pnpm - args: ['install'] dir: app + script: | + npm install -g pnpm + pnpm install # setup .env - name: 'bash' From 8fe137b9ecbadb40ce65c9ffd6d15d86a5272f21 Mon Sep 17 00:00:00 2001 From: EPortman Date: Wed, 17 Jul 2024 14:13:24 -0700 Subject: [PATCH 13/27] consolidate --- devops/cloudbuild-pr.yaml | 50 +++++++++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 18 deletions(-) diff --git a/devops/cloudbuild-pr.yaml b/devops/cloudbuild-pr.yaml index 98baea2a5..ce76273a9 100644 --- a/devops/cloudbuild-pr.yaml +++ b/devops/cloudbuild-pr.yaml @@ -2,22 +2,6 @@ steps: # pnpm - name: node:20.5.1 dir: app - script: | - npm install -g pnpm - pnpm install - - # setup .env - - name: 'bash' - dir: app - script: | - #!/usr/bin/env bash - cp .env.example .env - - # - # Generate the static site - # - - name: node:20.5.1 - entrypoint: pnpm env: - 'VUE_APP_NAMEREQUEST_LD_CLIENT_ID=$_VUE_APP_NAMEREQUEST_LD_CLIENT_ID' - 'VUE_APP_GENESYS_ENV=$_VUE_APP_GENESYS_ENV' @@ -27,8 +11,38 @@ steps: - 'VUE_APP_WEBCHAT_URL=$_VUE_APP_WEBCHAT_URL' - 'VUE_APP_WEBCHAT_REASON=$_VUE_APP_WEBCHAT_REASON' - 'VUE_APP_WEBCHAT_STATUS_URL=$_VUE_APP_WEBCHAT_STATUS_URL' - args: ['--openssl-legacy-provider', 'run', 'build'] - dir: app + script: | + npm install -g pnpm + pnpm install + #!/usr/bin/env bash + cp .env.example .env + pnpm --openssl-legacy-provider run build + + + + # setup .env + # - name: 'bash' + # dir: app + # script: | + # #!/usr/bin/env bash + # cp .env.example .env + + # + # Generate the static site + # + # - name: node:20.5.1 + # entrypoint: pnpm + # env: + # - 'VUE_APP_NAMEREQUEST_LD_CLIENT_ID=$_VUE_APP_NAMEREQUEST_LD_CLIENT_ID' + # - 'VUE_APP_GENESYS_ENV=$_VUE_APP_GENESYS_ENV' + # - 'VUE_APP_GENESYS_URL=$_VUE_APP_GENESYS_URL' + # - 'VUE_APP_GENESYS_ID=$_VUE_APP_GENESYS_ID' + # - 'VUE_APP_REGISTRIES_SEARCH_API_KEY=$_VUE_APP_REGISTRIES_SEARCH_API_KEY' + # - 'VUE_APP_WEBCHAT_URL=$_VUE_APP_WEBCHAT_URL' + # - 'VUE_APP_WEBCHAT_REASON=$_VUE_APP_WEBCHAT_REASON' + # - 'VUE_APP_WEBCHAT_STATUS_URL=$_VUE_APP_WEBCHAT_STATUS_URL' + # args: ['--openssl-legacy-provider', 'run', 'build'] + # dir: app # # Deploy to firebase channel, using the PR # From e4e51774455812a2add8c285d1b39f0214cbe0c4 Mon Sep 17 00:00:00 2001 From: EPortman Date: Wed, 17 Jul 2024 14:20:01 -0700 Subject: [PATCH 14/27] another --- devops/cloudbuild-pr.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/devops/cloudbuild-pr.yaml b/devops/cloudbuild-pr.yaml index ce76273a9..633e2210e 100644 --- a/devops/cloudbuild-pr.yaml +++ b/devops/cloudbuild-pr.yaml @@ -16,7 +16,8 @@ steps: pnpm install #!/usr/bin/env bash cp .env.example .env - pnpm --openssl-legacy-provider run build + export NODE_OPTIONS=--openssl-legacy-provider + pnpm run build From f7c01d5f5c59bd20455ace6d69987302a29c09be Mon Sep 17 00:00:00 2001 From: EPortman Date: Tue, 30 Jul 2024 14:26:34 -0700 Subject: [PATCH 15/27] Updated cloud build step to use pnpm build --- .github/workflows/e2e.yml | 1 + devops/cloudbuild-pr.yaml | 53 ++--- testing/cypress.config.ts | 2 +- testing/cypress/e2e/names-10-create.cy.ts | 204 ++++++++---------- .../e2e/names-20-create-anonymous.cy.ts | 2 +- .../e2e/smoke/smoke-10-brokenlinks.cy.ts | 41 ++-- testing/cypress/pageObjects/homePage.ts | 0 .../cypress/pageObjects/homePageRequest.ts | 48 +++++ testing/cypress/support/commands.ts | 68 +++--- testing/package.json | 1 + 10 files changed, 218 insertions(+), 202 deletions(-) delete mode 100644 testing/cypress/pageObjects/homePage.ts create mode 100644 testing/cypress/pageObjects/homePageRequest.ts diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 6e9b18bd8..c3b2f25d7 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -49,6 +49,7 @@ jobs: working-directory: testing spec: | cypress/e2e/smoke/smoke-*-*.cy.ts + cypress/e2e/name-*-*.cy.ts browser: chrome # project: ./e2e ci-build-id: ${{ github.event.number }} diff --git a/devops/cloudbuild-pr.yaml b/devops/cloudbuild-pr.yaml index 633e2210e..87f30f81c 100644 --- a/devops/cloudbuild-pr.yaml +++ b/devops/cloudbuild-pr.yaml @@ -1,6 +1,25 @@ steps: - # pnpm + # install pnpm - name: node:20.5.1 + entrypoint: npm + args: ['install', '-g', 'pnpm'] + + # install dependencies + - name: node:20.5.1 + entrypoint: pnpm + args: ['install'] + dir: app + + # setup .env + - name: 'bash' + dir: app + script: | + #!/usr/bin/env bash + cp .env.example .env + + # Generate the static site + - name: node:20.5.1 + entrypoint: pnpm dir: app env: - 'VUE_APP_NAMEREQUEST_LD_CLIENT_ID=$_VUE_APP_NAMEREQUEST_LD_CLIENT_ID' @@ -12,38 +31,8 @@ steps: - 'VUE_APP_WEBCHAT_REASON=$_VUE_APP_WEBCHAT_REASON' - 'VUE_APP_WEBCHAT_STATUS_URL=$_VUE_APP_WEBCHAT_STATUS_URL' script: | - npm install -g pnpm - pnpm install - #!/usr/bin/env bash - cp .env.example .env export NODE_OPTIONS=--openssl-legacy-provider - pnpm run build - - - - # setup .env - # - name: 'bash' - # dir: app - # script: | - # #!/usr/bin/env bash - # cp .env.example .env - - # - # Generate the static site - # - # - name: node:20.5.1 - # entrypoint: pnpm - # env: - # - 'VUE_APP_NAMEREQUEST_LD_CLIENT_ID=$_VUE_APP_NAMEREQUEST_LD_CLIENT_ID' - # - 'VUE_APP_GENESYS_ENV=$_VUE_APP_GENESYS_ENV' - # - 'VUE_APP_GENESYS_URL=$_VUE_APP_GENESYS_URL' - # - 'VUE_APP_GENESYS_ID=$_VUE_APP_GENESYS_ID' - # - 'VUE_APP_REGISTRIES_SEARCH_API_KEY=$_VUE_APP_REGISTRIES_SEARCH_API_KEY' - # - 'VUE_APP_WEBCHAT_URL=$_VUE_APP_WEBCHAT_URL' - # - 'VUE_APP_WEBCHAT_REASON=$_VUE_APP_WEBCHAT_REASON' - # - 'VUE_APP_WEBCHAT_STATUS_URL=$_VUE_APP_WEBCHAT_STATUS_URL' - # args: ['--openssl-legacy-provider', 'run', 'build'] - # dir: app + pnpm build # # Deploy to firebase channel, using the PR # diff --git a/testing/cypress.config.ts b/testing/cypress.config.ts index fa87bae19..a9252a895 100644 --- a/testing/cypress.config.ts +++ b/testing/cypress.config.ts @@ -23,7 +23,7 @@ export default defineConfig({ e2e: { // baseUrl: 'https://dev.namex.bcregistry.gov.bc.ca', // baseUrl: 'https://test.namex.bcregistry.gov.bc.ca', - baseUrl: 'http://localhost:8080', + baseUrl: 'https://test.names.bcregistry.gov.bc.ca', projectId: '', setupNodeEvents(on, config) { on('task', { diff --git a/testing/cypress/e2e/names-10-create.cy.ts b/testing/cypress/e2e/names-10-create.cy.ts index 7a5b123ac..073d64854 100644 --- a/testing/cypress/e2e/names-10-create.cy.ts +++ b/testing/cypress/e2e/names-10-create.cy.ts @@ -1,115 +1,91 @@ -import type { LocaleDefinition } from '@faker-js/faker'; -import { base, en, Faker, en_CA } from '@faker-js/faker'; -const customFaker = new Faker({ - locale: [en, base, en_CA], -}); - -describe('names-10-create', () => { - beforeEach(() => { - customFaker.seed(Date.now() ^ (Math.random() * 0x100000000)); - cy.visit('https://test.names.bcregistry.gov.bc.ca'); - cy.get("#loginBtn").click().then(() => { - cy.get('div[role="menu"', { timeout: 1000 }).within(() => { - cy.contains('div', 'IDIR').click(); - }); - - cy.setid('default').then(() => { - // Validate siteminder and login - cy.get('#login-to', { timeout: 10000 }) - .contains('Log in to ') - .should('be.visible') - cy.get('#user', { timeout: 10000 }).type( - Cypress.env('username') - ) - cy.get('#password', { timeout: 10000 }).type( - Cypress.env('password'), - { log: false } - ) - - cy.get('div.login-form-action > input', { timeout: 10000 }).click() - cy.wait(3000) - }); - }); - }); - - afterEach(() => { - - cy.get('button.user-account-btn').click().then(() => { - cy.contains('div', 'Log out').click(); - }) - - }); - - let i = 0; - while (i < 10) { - it('should create a new name', () => { - cy.log('here we go!') - cy.get('#request-action-select').click().then(() => { - cy.contains('span', 'For businesses that do not exist yet').click() - cy.contains('div', 'Start a new BC-based business').click() - cy.get('#entity-type-options-select').click().then(() => { - cy.contains('span', 'Limited Company').click() - }) - }); - - cy.get('div#company-type').next().within(() => { - cy.get('#name-input-component').type(customFaker.company.name()) - }); - - cy.get('div#designation').click().then(() => { - cy.contains('div.v-list-item__title', 'INC.').eq(0).click({ force: true }) - }) - - cy.get('#search-name-btn').click() - - cy.get('#name-check-submit-btn').click() - cy.get('button.submit-continue-btn').click() - - /* firstname: string = 'input[type="text"][id="firstname"]' - middlename: string = 'input[type="text"][id="middlename"]' - lastname: string = 'input[type="text"][id="lastname"]' - line1: string = 'input[type="text"][id="line1"]' - 1ine2: string = 'input[type="text"][id="1ine2"]' - city: string = 'input[type="text"][id="city"]' - province: string = 'input[type="text"][id="province"]' - country: string = 'input[type="text"][id="country"]' - postalcode: string = 'input[type="text"][id="postalcode"]' */ - - cy.get('input[type="text"][id="firstname"]').type(customFaker.person.firstName()) - cy.get('input[type="text"][id="middlename"]').type(customFaker.person.middleName()) - cy.get('input[type="text"][id="lastname"]').type(customFaker.person.lastName()) - cy.get('input[type="text"][id="line1"]').focus().type(customFaker.number.int({ min: 10, max: 9000 }).toString()) - - /* cy.get('input[type="text"][id="line2"]').type(customFaker.location.streetAddress()) - cy.get('input[type="text"][id="city"]').type(customFaker.location.city()) - cy.get('input[type="text"][id="province"]').type(customFaker.location.state()) - cy.get('input[type="text"][id="country"]').type(customFaker.location.country()) - cy.get('input[type="text"][id="postalcode"]').type(customFaker.location.zipCode()) */ - - cy.get('div[role="menu"]').within(() => { - cy.get('a.link-sm-dk-text').eq(0).click({ force: true }) - }); - cy.get('input[role="checkbox"]').click({ force: true }) - - cy.get('button.submit-continue-btn').eq(1).click() - - cy.get('input[type="text"][id="emailAddress"]').type('roland.stens@gov.bc.ca') - cy.get('input[type="tel"][id="phoneNumber"]').type('123') - cy.get('input[type="text"][id="faxNumber"]').type(customFaker.phone.number()) - cy.get('textarea[id="natureBusinessInfo"]').type(customFaker.lorem.sentence()) - cy.get('textarea[id="additionalInfo"]').type(customFaker.lorem.sentence()) - cy.get('button.submit-continue-btn').eq(2).click() - - cy.get('div[role="dialog"]').within(() => { - cy.get('button#confirm-nr-continue-btn').click() - }) - - cy.wait(1000) - cy.contains('label', 'No Fee').click() - cy.get('button#confirm-nr-submit-btn').click() - - - }); - i++; - } +import type { LocaleDefinition } from '@faker-js/faker'; +import { base, en, Faker, en_CA } from '@faker-js/faker'; +const customFaker = new Faker({ + locale: [en, base, en_CA], +}); +import HomePage from '../pageObjects/homePageRequest' +const homePage = new HomePage() + +describe('names-10-create', () => { + beforeEach(() => { + customFaker.seed(Date.now() ^ (Math.random() * 0x100000000)); + cy.login() + }); + + afterEach(() => { + cy.logout() + }); + + let i = 0; + while (i < 1) { + it('should create a new name', () => { + cy.log('here we go!') + cy.get(homePage.requestActionSelect).click().then(() => { + cy.contains('span', 'For businesses that do not exist yet').click() + cy.contains('div', 'Start a new BC-based business').click() + cy.get('#entity-type-options-select').click().then(() => { + cy.contains('span', 'Limited Company').click() + }) + }); + + cy.get('div#company-type').next().within(() => { + cy.get('#name-input-component').type(customFaker.company.name()) + }); + + cy.get('div#designation').click().then(() => { + cy.contains('div.v-list-item__title', 'INC.').eq(0).click({ force: true }) + }) + + cy.get('#search-name-btn').click() + + cy.get('#name-check-submit-btn').click() + cy.get('button.submit-continue-btn').click() + + /* firstname: string = 'input[type="text"][id="firstname"]' + middlename: string = 'input[type="text"][id="middlename"]' + lastname: string = 'input[type="text"][id="lastname"]' + line1: string = 'input[type="text"][id="line1"]' + 1ine2: string = 'input[type="text"][id="1ine2"]' + city: string = 'input[type="text"][id="city"]' + province: string = 'input[type="text"][id="province"]' + country: string = 'input[type="text"][id="country"]' + postalcode: string = 'input[type="text"][id="postalcode"]' */ + + cy.get('input[type="text"][id="firstname"]').type(customFaker.person.firstName()) + cy.get('input[type="text"][id="middlename"]').type(customFaker.person.middleName()) + cy.get('input[type="text"][id="lastname"]').type(customFaker.person.lastName()) + cy.get('input[type="text"][id="line1"]').focus().type(customFaker.number.int({ min: 10, max: 9000 }).toString()) + + /* cy.get('input[type="text"][id="line2"]').type(customFaker.location.streetAddress()) + cy.get('input[type="text"][id="city"]').type(customFaker.location.city()) + cy.get('input[type="text"][id="province"]').type(customFaker.location.state()) + cy.get('input[type="text"][id="country"]').type(customFaker.location.country()) + cy.get('input[type="text"][id="postalcode"]').type(customFaker.location.zipCode()) */ + + cy.get('div[role="menu"]').within(() => { + cy.get('a.link-sm-dk-text').eq(0).click({ force: true }) + }); + cy.get('input[role="checkbox"]').click({ force: true }) + + cy.get('button.submit-continue-btn').eq(1).click() + + cy.get('input[type="text"][id="emailAddress"]').type('roland.stens@gov.bc.ca') + cy.get('input[type="tel"][id="phoneNumber"]').type('123') + cy.get('input[type="text"][id="faxNumber"]').type(customFaker.phone.number()) + cy.get('textarea[id="natureBusinessInfo"]').type(customFaker.lorem.sentence()) + cy.get('textarea[id="additionalInfo"]').type(customFaker.lorem.sentence()) + cy.get('button.submit-continue-btn').eq(2).click() + + cy.get('div[role="dialog"]').within(() => { + cy.get('button#confirm-nr-continue-btn').click() + }) + + cy.wait(1000) + cy.contains('label', 'No Fee').click() + cy.get('button#confirm-nr-submit-btn').click() + + + }); + i++; + } }); \ No newline at end of file diff --git a/testing/cypress/e2e/names-20-create-anonymous.cy.ts b/testing/cypress/e2e/names-20-create-anonymous.cy.ts index 29a6e7b58..13b720f73 100644 --- a/testing/cypress/e2e/names-20-create-anonymous.cy.ts +++ b/testing/cypress/e2e/names-20-create-anonymous.cy.ts @@ -7,7 +7,7 @@ const customFaker = new Faker({ describe('names-20-create', () => { beforeEach(() => { customFaker.seed(Date.now() ^ (Math.random() * 0x100000000)); - cy.visit('https://test.names.bcregistry.gov.bc.ca'); + cy.visit(''); }); afterEach(() => { diff --git a/testing/cypress/e2e/smoke/smoke-10-brokenlinks.cy.ts b/testing/cypress/e2e/smoke/smoke-10-brokenlinks.cy.ts index c09fc3aa0..07927b818 100644 --- a/testing/cypress/e2e/smoke/smoke-10-brokenlinks.cy.ts +++ b/testing/cypress/e2e/smoke/smoke-10-brokenlinks.cy.ts @@ -3,26 +3,27 @@ // It verifies if the specified links are operational. // It does not test if the links are correct. -// describe('Check for Broken Static Links', () => { -// beforeEach(() => { -// cy.setid('default') -// cy.login() -// }) +describe('Check for Broken Static Links', () => { + beforeEach(() => { + cy.setid('default') + cy.login() + }) -// afterEach(() => { -// cy.logout() -// }) -// it('Check All Static Links', () => { -// // Iterate through all the links on the page -// // If the link has a specified URL, check if the link is operational -// cy.linkChecker() + // afterEach(() => { + // cy.logout() + // }) -// // Navigate to the next tab -// cy.contains('a', 'Examine Names').click() -// cy.linkChecker() + it('Check All Static Links', () => { + // Iterate through all the links on the page + // If the link has a specified URL, check if the link is operational + cy.linkChecker() -// // Navigate to the next tab -// cy.contains('a', 'Search').click() -// cy.linkChecker() -// }) -// }) + // Navigate to the next tab + // cy.contains('a', 'Examine Names').click() + // cy.linkChecker() + + // // Navigate to the next tab + // cy.contains('a', 'Search').click() + // cy.linkChecker() + }) +}) diff --git a/testing/cypress/pageObjects/homePage.ts b/testing/cypress/pageObjects/homePage.ts deleted file mode 100644 index e69de29bb..000000000 diff --git a/testing/cypress/pageObjects/homePageRequest.ts b/testing/cypress/pageObjects/homePageRequest.ts new file mode 100644 index 000000000..b9200f0da --- /dev/null +++ b/testing/cypress/pageObjects/homePageRequest.ts @@ -0,0 +1,48 @@ +/** + * Represents the home page of the BC Registry Name Request application. + */ + +import Utilities from '../appActions/Utilities' +const util = new Utilities() + +/** + * Represents the home page of the BC Registry Name Examination application. + */ +class HomePage { + url = 'https://test.names.bcregistry.gov.bc.ca' + path = '/' + title = 'Name Request' + + affiliationErrorDialog = '#affiliation-error-dialog' + appTitle = '#app-title' + app = '#app' + appHeader = '#appHeader' + breadcrumbBackBtn = '#breadcrumb-back-btn' + breadcrumb = '#breadcrumb' + dummyInputBox = '#dummy-input-box' + exampleName = '#example-name' + existingTab = '#existing-tab' +/* input-55 = '#input-55' + input-59 = '#input-59' */ + landingContainer = '#landing-container' + linkRow = '#link-row' + loginBtn = '#loginBtn' + lowerContainer = '#lower-container' + lowerRow = '#lower-row' + mainColumn = '#main-column' + mrasSearchInfoModal = '#mras-search-info-modal' + nameBuildInfo = '#name-build-info' + namerequestSbcHeader = '#namerequest-sbc-header' + newandBetterWay = '#new-and-better-way' + newTab = '#new-tab' + requestActionSelect = '#request-action-select' + requestAction = '#request-action' + searchContainer = '#search-container' + statsContentOuter3 = '#stats-content-outer-3' + tabsLandingComp = '#tabs-landing-comp' + upperRow = '#upper-row' + vuetifyThemeStylesheet = '#vuetify-theme-stylesheet' + warningBar = '#warning-bar' + warningModal = '#warning-modal' +} +export default HomePage diff --git a/testing/cypress/support/commands.ts b/testing/cypress/support/commands.ts index 8882d8b55..bf38a6efe 100644 --- a/testing/cypress/support/commands.ts +++ b/testing/cypress/support/commands.ts @@ -34,34 +34,40 @@ Cypress.Commands.add( // Go to the host cy.visit(host || '') - loginProxy.checkLoginProxyPage() - loginProxy.chooseIdir() + cy.get('#loginBtn').click().then(() => { + cy.get('div[role="menu"', { timeout: 1000 }).within(() => { + cy.contains('div', 'IDIR').click(); + }); - // Validate siteminder and login - cy.get('#login-to', { timeout: 10000 }) - .contains('Log in to ') - .should('be.visible') - cy.get('#user', { timeout: 10000 }).type( - username || Cypress.env('username') - ) - cy.get('#password', { timeout: 10000 }).type( - password || Cypress.env('password'), - { log: false } - ) - cy.get('input[name=btnSubmit]', { timeout: 10000 }).click() - cy.wait(3000) + cy.setid('default').then(() => { + // Validate siteminder and login + cy.get('#login-to', { timeout: 10000 }) + .contains('Log in to ') + .should('be.visible') + cy.get('#user', { timeout: 10000 }).type( + Cypress.env('username') + ) + cy.get('#password', { timeout: 10000 }).type( + Cypress.env('password'), + { log: false } + ) + + cy.get('div.login-form-action > input', { timeout: 10000 }).click() + cy.wait(3000) + }); + }); } ) /** * Custom Cypress command to perform logout. */ -// Cypress.Commands.add('logout', () => { -// // Make sure you are on page with log out and logout -// cy.get(homePage.header, { timeout: 10000 }).within(() => { -// cy.get(homePage.logOut).click() -// }) -// }) +Cypress.Commands.add('logout', () => { + // Make sure you are on page with log out and logout + cy.get('button.user-account-btn').click().then(() => { + cy.contains('div', 'Log out').click(); + }) +}) /** * Custom Cypress command to set the ID/PW Env vars. @@ -106,21 +112,15 @@ Cypress.Commands.add('cleanGC', () => { */ Cypress.Commands.add('linkChecker', () => { cy.get('a').each((link) => { - if ( - link.prop('href') && - link.prop('href').startsWith('mailto', 0) === false - ) { + const href = link.prop('href'); + if (href) { cy.request({ - url: link.prop('href'), + url: href, failOnStatusCode: false, - }).as('links') + }).then((response) => { + expect(response.status).to.eq(200); + cy.log(link.prop('innerText') + ': ' + href); + }) } - - cy.get('@links').should((response) => { - expect((response as any).status).to.eq(200) - }) - - // Log the link text and the url. This is useful for debugging. - cy.log(link.prop('innerText') + ': ' + link.prop('href')) }) }) diff --git a/testing/package.json b/testing/package.json index d351c8bc6..3499cd640 100644 --- a/testing/package.json +++ b/testing/package.json @@ -16,6 +16,7 @@ "scripts": { "report": "mochawesome-merge -o mochawesome-report/report.json && marge mochawesome-report/report.json -i --charts=true", "smoke": "cypress run --spec 'cypress/e2e/**/smoke-*-*.cy.ts' --browser chrome", + "names": "cypress run --spec 'cypress/e2e/**/names-*-*.cy.ts' --browser chrome", "test": "cypress run --browser chrome" }, "dependencies": { From 5b3ee8e6168672184a6e02cecb8cdcd90b113a17 Mon Sep 17 00:00:00 2001 From: EPortman Date: Tue, 30 Jul 2024 14:36:01 -0700 Subject: [PATCH 16/27] Removed entrypoint on step 3 --- devops/cloudbuild-pr.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/devops/cloudbuild-pr.yaml b/devops/cloudbuild-pr.yaml index 87f30f81c..fda4558fd 100644 --- a/devops/cloudbuild-pr.yaml +++ b/devops/cloudbuild-pr.yaml @@ -19,7 +19,6 @@ steps: # Generate the static site - name: node:20.5.1 - entrypoint: pnpm dir: app env: - 'VUE_APP_NAMEREQUEST_LD_CLIENT_ID=$_VUE_APP_NAMEREQUEST_LD_CLIENT_ID' From 7a1bdf1ba4337493f330f088896fb0a86bafc0f6 Mon Sep 17 00:00:00 2001 From: EPortman Date: Tue, 30 Jul 2024 14:42:32 -0700 Subject: [PATCH 17/27] Changed it to be 1 step only --- devops/cloudbuild-pr.yaml | 100 ++++++++++++++++++-------------------- 1 file changed, 47 insertions(+), 53 deletions(-) diff --git a/devops/cloudbuild-pr.yaml b/devops/cloudbuild-pr.yaml index fda4558fd..bd62e9750 100644 --- a/devops/cloudbuild-pr.yaml +++ b/devops/cloudbuild-pr.yaml @@ -1,70 +1,64 @@ steps: - # install pnpm - - name: node:20.5.1 - entrypoint: npm - args: ['install', '-g', 'pnpm'] - - # install dependencies - - name: node:20.5.1 - entrypoint: pnpm - args: ['install'] - dir: app - - # setup .env - - name: 'bash' - dir: app - script: | - #!/usr/bin/env bash - cp .env.example .env - - # Generate the static site - - name: node:20.5.1 - dir: app + - name: 'node:21' env: - - 'VUE_APP_NAMEREQUEST_LD_CLIENT_ID=$_VUE_APP_NAMEREQUEST_LD_CLIENT_ID' - - 'VUE_APP_GENESYS_ENV=$_VUE_APP_GENESYS_ENV' - - 'VUE_APP_GENESYS_URL=$_VUE_APP_GENESYS_URL' - - 'VUE_APP_GENESYS_ID=$_VUE_APP_GENESYS_ID' - - 'VUE_APP_REGISTRIES_SEARCH_API_KEY=$_VUE_APP_REGISTRIES_SEARCH_API_KEY' - - 'VUE_APP_WEBCHAT_URL=$_VUE_APP_WEBCHAT_URL' - - 'VUE_APP_WEBCHAT_REASON=$_VUE_APP_WEBCHAT_REASON' - - 'VUE_APP_WEBCHAT_STATUS_URL=$_VUE_APP_WEBCHAT_STATUS_URL' + - NUXT_ADDRESS_COMPLETE_KEY=$_NUXT_ADDRESS_COMPLETE_KEY + - AUTH_API_KEY=$_AUTH_API_KEY + - AUTH_DOMAIN=$_AUTH_DOMAIN + - AUTH_PROJECT_ID=$_AUTH_PROJECT_ID + - AUTH_MESSAGING_SENDER_ID=$_AUTH_MESSAGING_SENDER_ID + - AUTH_APP_ID=$_AUTH_APP_ID + - NUXT_KEYCLOAK_AUTH_URL=$_NUXT_KEYCLOAK_AUTH_URL + - NUXT_KEYCLOAK_REALM=$_NUXT_KEYCLOAK_REALM + - NUXT_KEYCLOAK_CLIENTID=$_NUXT_KEYCLOAK_CLIENTID + dir: web/admin script: | - export NODE_OPTIONS=--openssl-legacy-provider + #!/usr/bin/env bash + cp .env.sample .env + npm install --global pnpm + pnpm install pnpm build - - # - # Deploy to firebase channel, using the PR # - # store log to /workspace to get the channel URL - # - name: gcr.io/yfthig-dev/firebase + args: + - '-c' + - >- + firebase hosting:channel:deploy --project=yfthig-dev PR-$_PR_NUMBER > + /workspace/firebase-deploy.txt + dir: web/admin entrypoint: bash - args: ['-c', 'firebase hosting:channel:deploy --project=yfthig-dev PR-$_PR_NUMBER > /workspace/firebase-deploy.txt'] - dir: app - - # - # Update the PR with the temporary URL - # - - id: "Update the PR" - name: gcr.io/cloud-builders/curl - entrypoint: bash + - name: gcr.io/cloud-builders/curl args: - - -c - - | + - '-c' + - > # Read from "/workspace" + cat /workspace/firebase-deploy.txt - url=`cat /workspace/firebase-deploy.txt| grep 'Channel URL' | grep -Eo "https://[a-zA-Z0-9./?=_%:-]*"` + + url=`cat /workspace/firebase-deploy.txt| grep 'Channel URL' | grep -Eo + "https://[a-zA-Z0-9./?=_%:-]*"` + echo "this is the body:" + echo '{"body": "Temporary Url for review:'"$url"'"}' + curl -X POST \ - https://api.github.com/repos/bcgov/namerequest/issues/$_PR_NUMBER/comments \ + + https://api.github.com/repos/bcgov/business-ar/issues/$_PR_NUMBER/comments + \ + --header "Authorization: Token $$TOKEN" \ + --header "Accept: application/vnd.github.v3+json" \ + --data-binary '{"body": "Temporary Url for review: '"$url"'"}' - secretEnv: ['TOKEN'] + dir: web/admin + id: Update the PR + entrypoint: bash + secretEnv: + - TOKEN +options: + dynamicSubstitutions: true availableSecrets: secretManager: - - versionName: projects/$PROJECT_ID/secrets/token-pr-review/versions/latest - env: 'TOKEN' -options: - dynamic_substitutions: true + - versionName: projects/$PROJECT_ID/secrets/token-pr-review/versions/latest + env: TOKEN + \ No newline at end of file From fa3a6dbe2c96ddccbc6536ac97a66cc174f9e62b Mon Sep 17 00:00:00 2001 From: EPortman Date: Tue, 30 Jul 2024 14:55:01 -0700 Subject: [PATCH 18/27] Updated single step to work with project --- devops/cloudbuild-pr.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/devops/cloudbuild-pr.yaml b/devops/cloudbuild-pr.yaml index bd62e9750..4d0b43dd8 100644 --- a/devops/cloudbuild-pr.yaml +++ b/devops/cloudbuild-pr.yaml @@ -1,5 +1,5 @@ steps: - - name: 'node:21' + - name: 'node:20.5.1' env: - NUXT_ADDRESS_COMPLETE_KEY=$_NUXT_ADDRESS_COMPLETE_KEY - AUTH_API_KEY=$_AUTH_API_KEY @@ -10,10 +10,10 @@ steps: - NUXT_KEYCLOAK_AUTH_URL=$_NUXT_KEYCLOAK_AUTH_URL - NUXT_KEYCLOAK_REALM=$_NUXT_KEYCLOAK_REALM - NUXT_KEYCLOAK_CLIENTID=$_NUXT_KEYCLOAK_CLIENTID - dir: web/admin + dir: app script: | #!/usr/bin/env bash - cp .env.sample .env + cp .env.example .env npm install --global pnpm pnpm install pnpm build @@ -23,7 +23,7 @@ steps: - >- firebase hosting:channel:deploy --project=yfthig-dev PR-$_PR_NUMBER > /workspace/firebase-deploy.txt - dir: web/admin + dir: app entrypoint: bash - name: gcr.io/cloud-builders/curl args: @@ -50,7 +50,7 @@ steps: --header "Accept: application/vnd.github.v3+json" \ --data-binary '{"body": "Temporary Url for review: '"$url"'"}' - dir: web/admin + dir: app id: Update the PR entrypoint: bash secretEnv: From 75483452aad1263148f748fd5094def1ac8e0496 Mon Sep 17 00:00:00 2001 From: EPortman Date: Tue, 30 Jul 2024 14:58:43 -0700 Subject: [PATCH 19/27] Missed one --- devops/cloudbuild-pr.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devops/cloudbuild-pr.yaml b/devops/cloudbuild-pr.yaml index 4d0b43dd8..e537ddef3 100644 --- a/devops/cloudbuild-pr.yaml +++ b/devops/cloudbuild-pr.yaml @@ -42,7 +42,7 @@ steps: curl -X POST \ - https://api.github.com/repos/bcgov/business-ar/issues/$_PR_NUMBER/comments + https://api.github.com/repos/bcgov/namerequest/issues/$_PR_NUMBER/comments \ --header "Authorization: Token $$TOKEN" \ From 1a5b2377570e6ee5df05fda47bdc0d8ff94b6686 Mon Sep 17 00:00:00 2001 From: EPortman Date: Thu, 1 Aug 2024 11:05:27 -0700 Subject: [PATCH 20/27] Updated placement of devops directory --- .gitignore | 1 + {devops => app/devops}/cloudbuild-pr.yaml | 23 +++++++++++++++++++++++ {devops => app/devops}/vaults.env | 0 3 files changed, 24 insertions(+) rename {devops => app/devops}/cloudbuild-pr.yaml (71%) rename {devops => app/devops}/vaults.env (100%) diff --git a/.gitignore b/.gitignore index 52e0dc57f..12ea8ca5c 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ public/config/configuration.json .firebase *.firebaserc *.log +!vaults.env # Cypress related files **/cypress.env.json diff --git a/devops/cloudbuild-pr.yaml b/app/devops/cloudbuild-pr.yaml similarity index 71% rename from devops/cloudbuild-pr.yaml rename to app/devops/cloudbuild-pr.yaml index e537ddef3..1aa9b8650 100644 --- a/devops/cloudbuild-pr.yaml +++ b/app/devops/cloudbuild-pr.yaml @@ -55,6 +55,29 @@ steps: entrypoint: bash secretEnv: - TOKEN + - name: gcr.io/cloud-builders/curl + args: + - '-c' + - > + # Read from "/workspace" + + cat /workspace/firebase-deploy.txt + + url=`cat /workspace/firebase-deploy.txt| grep 'Channel URL' | grep -Eo + "https://[a-zA-Z0-9./?=_%:-]*"` + + echo '{"body": "Temporary Url used for smoke test:'"$url"'"}' + + curl \ + -X POST \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: token $$TOKEN" \ + https://api.github.com/repos/bcgov/namerequest/actions/workflows/e2e.yml/dispatches \ + -d '{"ref":"main", "inputs":{"url_parameter":"'"$url"'"}}' + id: Run Smoke Test + entrypoint: bash + secretEnv: + - TOKEN options: dynamicSubstitutions: true availableSecrets: diff --git a/devops/vaults.env b/app/devops/vaults.env similarity index 100% rename from devops/vaults.env rename to app/devops/vaults.env From 7e584d3cd99d21aaa1e1f2e9bb964aa8b1c87ba9 Mon Sep 17 00:00:00 2001 From: EPortman Date: Thu, 1 Aug 2024 11:08:24 -0700 Subject: [PATCH 21/27] Updated version number --- app/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/package.json b/app/package.json index 34ff8b5c7..b4742d60e 100644 --- a/app/package.json +++ b/app/package.json @@ -1,6 +1,6 @@ { "name": "name-request", - "version": "5.5.4", + "version": "5.5.5", "private": true, "appName": "Name Request UI", "sbcName": "SBC Common Components", From ce09fedba0dfdec01abb0e275ed75007edaeac4e Mon Sep 17 00:00:00 2001 From: EPortman Date: Thu, 1 Aug 2024 11:51:24 -0700 Subject: [PATCH 22/27] Added video --- .github/workflows/e2e.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index c3b2f25d7..4f5ade82d 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -39,7 +39,7 @@ jobs: - name: E2E Smoke tests uses: cypress-io/github-action@v6 id: smoke - continue-on-error: false + continue-on-error: true with: summary-title: 'E2E Smoke tests' wait-on: ${{ secrets.CYPRESS_HOST }} @@ -64,3 +64,9 @@ jobs: with: name: smoke-test-results path: testing/mochawesome-report/report.html + + - name: Upload Test Videos + uses: actions/upload-artifact@v4 + with: + name: cypress-videos + path: testing/cypress/videos From 5afc541b3f1345e19180ca8d29bbf1de488e8ea5 Mon Sep 17 00:00:00 2001 From: EPortman Date: Thu, 1 Aug 2024 12:59:06 -0700 Subject: [PATCH 23/27] updated git ignore --- .gitignore | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitignore b/.gitignore index f94274f4c..bb216501a 100644 --- a/.gitignore +++ b/.gitignore @@ -13,8 +13,6 @@ public/config/configuration.json *.log <<<<<<< HEAD !vaults.env -======= ->>>>>>> EPortman-20291-move-app-to-app-directory # Cypress related files **/cypress.env.json From 1c54de3fb9a252edc066abd5388f19cac0ebd315 Mon Sep 17 00:00:00 2001 From: EPortman Date: Thu, 1 Aug 2024 12:59:49 -0700 Subject: [PATCH 24/27] Made gitignore not ignore the valuts.env file --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index bb216501a..12ea8ca5c 100644 --- a/.gitignore +++ b/.gitignore @@ -11,7 +11,6 @@ public/config/configuration.json .firebase *.firebaserc *.log -<<<<<<< HEAD !vaults.env # Cypress related files From 6a559e21b25d691477641d84c5269844e444bd42 Mon Sep 17 00:00:00 2001 From: EPortman Date: Thu, 1 Aug 2024 13:17:30 -0700 Subject: [PATCH 25/27] Changed cloudbuild file to be inline --- app/devops/cloudbuild-pr.yaml | 87 ------------------------------- {app/devops => devops}/vaults.env | 0 2 files changed, 87 deletions(-) delete mode 100644 app/devops/cloudbuild-pr.yaml rename {app/devops => devops}/vaults.env (100%) diff --git a/app/devops/cloudbuild-pr.yaml b/app/devops/cloudbuild-pr.yaml deleted file mode 100644 index 1aa9b8650..000000000 --- a/app/devops/cloudbuild-pr.yaml +++ /dev/null @@ -1,87 +0,0 @@ -steps: - - name: 'node:20.5.1' - env: - - NUXT_ADDRESS_COMPLETE_KEY=$_NUXT_ADDRESS_COMPLETE_KEY - - AUTH_API_KEY=$_AUTH_API_KEY - - AUTH_DOMAIN=$_AUTH_DOMAIN - - AUTH_PROJECT_ID=$_AUTH_PROJECT_ID - - AUTH_MESSAGING_SENDER_ID=$_AUTH_MESSAGING_SENDER_ID - - AUTH_APP_ID=$_AUTH_APP_ID - - NUXT_KEYCLOAK_AUTH_URL=$_NUXT_KEYCLOAK_AUTH_URL - - NUXT_KEYCLOAK_REALM=$_NUXT_KEYCLOAK_REALM - - NUXT_KEYCLOAK_CLIENTID=$_NUXT_KEYCLOAK_CLIENTID - dir: app - script: | - #!/usr/bin/env bash - cp .env.example .env - npm install --global pnpm - pnpm install - pnpm build - - name: gcr.io/yfthig-dev/firebase - args: - - '-c' - - >- - firebase hosting:channel:deploy --project=yfthig-dev PR-$_PR_NUMBER > - /workspace/firebase-deploy.txt - dir: app - entrypoint: bash - - name: gcr.io/cloud-builders/curl - args: - - '-c' - - > - # Read from "/workspace" - - cat /workspace/firebase-deploy.txt - - url=`cat /workspace/firebase-deploy.txt| grep 'Channel URL' | grep -Eo - "https://[a-zA-Z0-9./?=_%:-]*"` - - echo "this is the body:" - - echo '{"body": "Temporary Url for review:'"$url"'"}' - - curl -X POST \ - - https://api.github.com/repos/bcgov/namerequest/issues/$_PR_NUMBER/comments - \ - - --header "Authorization: Token $$TOKEN" \ - - --header "Accept: application/vnd.github.v3+json" \ - - --data-binary '{"body": "Temporary Url for review: '"$url"'"}' - dir: app - id: Update the PR - entrypoint: bash - secretEnv: - - TOKEN - - name: gcr.io/cloud-builders/curl - args: - - '-c' - - > - # Read from "/workspace" - - cat /workspace/firebase-deploy.txt - - url=`cat /workspace/firebase-deploy.txt| grep 'Channel URL' | grep -Eo - "https://[a-zA-Z0-9./?=_%:-]*"` - - echo '{"body": "Temporary Url used for smoke test:'"$url"'"}' - - curl \ - -X POST \ - -H "Accept: application/vnd.github+json" \ - -H "Authorization: token $$TOKEN" \ - https://api.github.com/repos/bcgov/namerequest/actions/workflows/e2e.yml/dispatches \ - -d '{"ref":"main", "inputs":{"url_parameter":"'"$url"'"}}' - id: Run Smoke Test - entrypoint: bash - secretEnv: - - TOKEN -options: - dynamicSubstitutions: true -availableSecrets: - secretManager: - - versionName: projects/$PROJECT_ID/secrets/token-pr-review/versions/latest - env: TOKEN - \ No newline at end of file diff --git a/app/devops/vaults.env b/devops/vaults.env similarity index 100% rename from app/devops/vaults.env rename to devops/vaults.env From df09e7e0effde73cf7191e703b40c9dac2f83a29 Mon Sep 17 00:00:00 2001 From: EPortman Date: Thu, 1 Aug 2024 13:29:35 -0700 Subject: [PATCH 26/27] Moved devops directory back to app folder --- {devops => app/devops}/vaults.env | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {devops => app/devops}/vaults.env (100%) diff --git a/devops/vaults.env b/app/devops/vaults.env similarity index 100% rename from devops/vaults.env rename to app/devops/vaults.env From 3b90c7628722969920638c34d94a5d573b6c710d Mon Sep 17 00:00:00 2001 From: EPortman Date: Thu, 1 Aug 2024 13:56:18 -0700 Subject: [PATCH 27/27] Updated CD file --- .github/workflows/cd.yml | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index ace89e81f..8bce859ed 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -9,27 +9,24 @@ on: workflow_dispatch: inputs: environment: - description: "Environment" + description: 'Environment' required: true type: choice options: - - dev - - test - - sandbox - - prod - tagname: - description: "Specify a previous version (git tag) to deploy" - required: false - default: "" + - dev + - test + - sandbox + - prod jobs: namerequest-ui-cd: - uses: bcgov/bcregistry-sre/.github/workflows/ui-cd-node20.yaml@main + uses: bcgov/bcregistry-sre/.github/workflows/frontend-cd.yaml@main with: - environment: ${{ inputs.environment }} - tagname: ${{ inputs.tagname }} + target: ${{ inputs.environment }} + node_version: '20.5.1' + app_name: 'namerequest' working_directory: 'app' secrets: - APP_NAME: "namerequest" - OP_CONNECT_URL: ${{ secrets.OP_CONNECT_URL }} - OP_CONNECT_TOKEN: ${{ secrets.OP_CONNECT_TOKEN }} + WORKLOAD_IDENTIFY_POOLS_PROVIDER: ${{ secrets.WORKLOAD_IDENTIFY_POOLS_PROVIDER }} + GCP_SERVICE_ACCOUNT: ${{ secrets.GCP_SERVICE_ACCOUNT }} +