From 019eab59581b32c01595eecd43484f1433df9bb7 Mon Sep 17 00:00:00 2001 From: afwilcox Date: Mon, 4 Nov 2024 14:09:36 -0800 Subject: [PATCH] feat: Release/noble sea lemon (#733) Signed-off-by: OMPRAKASH MISHRA Co-authored-by: Josh Gamache Co-authored-by: gregorylavery <100631366+gregorylavery@users.noreply.github.com> Co-authored-by: Barrett Falk Co-authored-by: dmitri-korin-bcps <108112696+dmitri-korin-bcps@users.noreply.github.com> Co-authored-by: Scarlett <35635257+Scarlett-Truong@users.noreply.github.com> Co-authored-by: Mike <100624415+marqueone-ps@users.noreply.github.com> Co-authored-by: Mike Sears Co-authored-by: jeznorth Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Scarlett Co-authored-by: Ryan Rondeau Co-authored-by: jon-funk Co-authored-by: Mike Vesprini <11034827+mikevespi@users.noreply.github.com> Co-authored-by: Om Mishra <32200996+mishraomp@users.noreply.github.com> Co-authored-by: Mike Vesprini --- .../actions/get-latest-pr-number/action.yml | 39 + .github/scripts/sysdig_deploy.sh | 27 + .github/scripts/sysdig_installed.sh | 34 + .github/workflows/deploy-sysdig.yml | 64 + .github/workflows/merge-main.yml | 13 +- .github/workflows/merge-release.yml | 4 +- .gitignore | 20 + backend/package-lock.json | 12 + backend/package.json | 1 + backend/src/app.module.ts | 2 + .../maps/automapper-entity-to-dto-maps.ts | 20 + .../src/middleware/maps/dto-to-table-map.ts | 6 + .../models/case-files/assessment-details.ts | 2 + .../models/complaints/allegation-complaint.ts | 3 +- .../src/types/models/complaints/complaint.ts | 27 +- .../types/models/complaints/gir-complaint.ts | 3 +- .../models/complaints/update-complaint.dto.ts | 7 + .../models/complaints/wildlife-complaint.ts | 3 +- .../complaints/complaint-report-data.ts | 1 + backend/src/v1/case_file/case_file.module.ts | 11 +- .../v1/case_file/case_file.service.spec.ts | 5 + backend/src/v1/case_file/case_file.service.ts | 150 +- .../src/v1/complaint/complaint.controller.ts | 18 +- backend/src/v1/complaint/complaint.module.ts | 2 + backend/src/v1/complaint/complaint.service.ts | 3 + .../v1/complaint/entities/complaint.entity.ts | 10 + .../dto/create-linked_complaint_xref.dto.ts | 12 + .../dto/linked_complaint_xref.dto.ts | 54 + .../dto/update-linked_complaint_xref.dto.ts | 4 + .../entities/linked_complaint_xref.entity.ts | 39 + .../linked_complaint_xref.controller.spec.ts | 34 + .../linked_complaint_xref.controller.ts | 11 + .../linked_complaint_xref.module.ts | 13 + .../linked_complaint_xref.service.spec.ts | 32 + .../linked_complaint_xref.service.ts | 107 ++ .../CDOGS-ERS-COMPLAINT-TEMPLATE-v1.docx | Bin 320063 -> 319513 bytes .../CDOGS-HWCR-COMPLAINT-TEMPLATE-v1.docx | Bin 316926 -> 316604 bytes charts/app/templates/secret.yaml | 10 +- frontend/README.md | 2 +- frontend/craco.config.ts | 37 + frontend/cypress.config.ts | 2 +- .../e2e/allegation-details-create.cy.ts | 4 +- .../cypress/e2e/allegation-details-edit.cy.ts | 8 +- .../e2e/change-complaint-assignee.cy.ts | 4 +- frontend/cypress/e2e/complaint-export.cy.ts | 6 +- .../cypress/e2e/complaint-filters-ceeb.cy.ts | 63 + .../cypress/e2e/complaint-search.v2.cy.ts | 56 - .../cypress/e2e/external-file-reference.cy.ts | 132 ++ ...wcr-details-create-enter-coordinates.cy.ts | 12 +- .../cypress/e2e/hwcr-details-create.cy.ts | 4 +- frontend/cypress/e2e/hwcr-details-edit.cy.ts | 8 +- .../cypress/e2e/hwcr-outcome-equipment.cy.ts | 6 +- frontend/cypress/support/commands.ts | 11 +- frontend/cypress/support/index.ts | 2 +- frontend/package-lock.json | 1337 +++++++++++++++-- frontend/package.json | 16 +- frontend/src/app/App.tsx | 2 +- frontend/src/app/common/api.ts | 47 +- frontend/src/app/common/methods.tsx | 63 + .../common/comp-coordinate-input.tsx | 443 ++++++ .../components/common/comp-location-info.tsx | 53 + .../complaints/complaint-filter.tsx | 4 +- .../containers/complaints/complaint-list.tsx | 10 + .../containers/complaints/complaints.tsx | 2 + .../complaints/details/call-details.tsx | 16 +- .../details/complaint-details-create.tsx | 96 +- .../details/complaint-details-edit.tsx | 163 +- .../complaints/details/complaint-header.tsx | 47 +- .../details/linked-complaint-list.tsx | 118 ++ .../list-items/complaint-action-items.tsx | 152 +- .../ceeb/ceeb-decision/decision-form.tsx | 31 +- .../ceeb/ceeb-decision/decision-item.tsx | 4 +- .../outcomes/ceeb/ceeb-decision/decision.tsx | 4 +- .../outcomes/external-file-reference.tsx | 214 +++ ...laint-assessment-link-complaint-search.tsx | 157 ++ .../outcomes/hwcr-complaint-assessment.tsx | 298 ++-- .../hwcr-equipment/equipment-form.tsx | 190 +-- .../hwcr-equipment/equipment-item.tsx | 22 +- .../complaints/outcomes/hwcr-file-review.tsx | 8 +- .../outcomes/hwcr-outcome-by-animal-v2.tsx | 9 +- .../outcomes/hwcr-outcome-report.tsx | 7 +- .../outcomes/hwcr-prevention-education.tsx | 13 +- .../oucome-by-animal/animal-outcome.tsx | 4 +- .../oucome-by-animal/create-outcome.tsx | 12 +- .../oucome-by-animal/drug-authorized-by.tsx | 4 +- .../outcomes/oucome-by-animal/drug-item.tsx | 4 +- .../oucome-by-animal/edit-outcome.tsx | 8 +- .../supplemental-notes-input.tsx | 4 +- .../webeoc-complaint-update-list.tsx | 2 +- .../app/components/containers/pages/index.ts | 4 +- .../containers/pages/not-authorized.tsx | 16 +- .../components/containers/pages/not-found.tsx | 35 +- .../error-handling/generic-error-boundary.tsx | 17 +- .../leaflet-map-with-multiple-points.tsx | 2 +- .../app/components/modal/instances/index.ts | 2 + .../modal/instances/quick-close-modal.tsx | 127 ++ frontend/src/app/components/modal/modal.tsx | 2 +- .../app/components/modal/model-components.ts | 3 + .../src/app/constants/feature-flag-types.ts | 1 + frontend/src/app/store/migrations.ts | 2 + .../src/app/store/migrations/migration-19.ts | 13 + .../src/app/store/reducers/case-selectors.ts | 2 +- .../src/app/store/reducers/case-thunks.ts | 13 +- frontend/src/app/store/reducers/cases.ts | 5 +- frontend/src/app/store/reducers/complaints.ts | 57 + .../app/store/reducers/documents-thunks.ts | 31 +- frontend/src/app/store/reducers/officer.ts | 27 +- frontend/src/app/store/store.ts | 2 +- .../app/case-files/assessment-details.ts | 2 + .../src/app/types/app/complaints/complaint.ts | 26 +- .../types/app/complaints/linked-complaint.ts | 11 + frontend/src/app/types/modal/modal-types.ts | 1 + frontend/src/app/types/outcomes/assessment.ts | 2 + .../src/app/types/state/complaint-state.ts | 3 + frontend/src/assets/sass/complaint.scss | 57 +- frontend/src/assets/sass/errors.scss | 42 +- frontend/src/assets/sass/form.scss | 22 + frontend/src/assets/sass/layout.scss | 14 +- frontend/tsconfig.json | 15 +- migrations/migrations/R__Create-Test-Data.sql | 142 ++ migrations/migrations/V0.30.1__CE-230.sql | 7 + migrations/migrations/V0.30.2__CE-1151.sql | 43 + .../R__Test-Data-Creation.sql | 130 +- .../test-only-migrations/V0.29.0__CE-590.sql | 59 + terraform/alerts_prod.tf | 259 ++++ terraform/alerts_test.tf | 259 ++++ terraform/backend.tf | 17 + terraform/channels.tf | 18 + terraform/provider.tf | 12 + terraform/variables.tf | 6 + 130 files changed, 5237 insertions(+), 995 deletions(-) create mode 100644 .github/actions/get-latest-pr-number/action.yml create mode 100755 .github/scripts/sysdig_deploy.sh create mode 100755 .github/scripts/sysdig_installed.sh create mode 100644 .github/workflows/deploy-sysdig.yml create mode 100644 backend/src/v1/linked_complaint_xref/dto/create-linked_complaint_xref.dto.ts create mode 100644 backend/src/v1/linked_complaint_xref/dto/linked_complaint_xref.dto.ts create mode 100644 backend/src/v1/linked_complaint_xref/dto/update-linked_complaint_xref.dto.ts create mode 100644 backend/src/v1/linked_complaint_xref/entities/linked_complaint_xref.entity.ts create mode 100644 backend/src/v1/linked_complaint_xref/linked_complaint_xref.controller.spec.ts create mode 100644 backend/src/v1/linked_complaint_xref/linked_complaint_xref.controller.ts create mode 100644 backend/src/v1/linked_complaint_xref/linked_complaint_xref.module.ts create mode 100644 backend/src/v1/linked_complaint_xref/linked_complaint_xref.service.spec.ts create mode 100644 backend/src/v1/linked_complaint_xref/linked_complaint_xref.service.ts create mode 100644 frontend/craco.config.ts create mode 100644 frontend/cypress/e2e/complaint-filters-ceeb.cy.ts create mode 100644 frontend/cypress/e2e/external-file-reference.cy.ts create mode 100644 frontend/src/app/components/common/comp-coordinate-input.tsx create mode 100644 frontend/src/app/components/common/comp-location-info.tsx create mode 100644 frontend/src/app/components/containers/complaints/details/linked-complaint-list.tsx create mode 100644 frontend/src/app/components/containers/complaints/outcomes/external-file-reference.tsx create mode 100644 frontend/src/app/components/containers/complaints/outcomes/hwcr-complaint-assessment-link-complaint-search.tsx create mode 100644 frontend/src/app/components/modal/instances/quick-close-modal.tsx create mode 100644 frontend/src/app/store/migrations/migration-19.ts create mode 100644 frontend/src/app/types/app/complaints/linked-complaint.ts create mode 100644 migrations/migrations/V0.30.1__CE-230.sql create mode 100644 migrations/migrations/V0.30.2__CE-1151.sql create mode 100644 migrations/test-only-migrations/V0.29.0__CE-590.sql create mode 100644 terraform/alerts_prod.tf create mode 100644 terraform/alerts_test.tf create mode 100644 terraform/backend.tf create mode 100644 terraform/channels.tf create mode 100644 terraform/provider.tf create mode 100644 terraform/variables.tf diff --git a/.github/actions/get-latest-pr-number/action.yml b/.github/actions/get-latest-pr-number/action.yml new file mode 100644 index 000000000..15bbcdac2 --- /dev/null +++ b/.github/actions/get-latest-pr-number/action.yml @@ -0,0 +1,39 @@ +name: Get Latest Merged PR Number +description: Get the latest merged PR number from the release branch, this is the production candidate +branding: + icon: git-pull-request + color: blue + +inputs: + token: + description: Specify token (GH or PAT), instead of inheriting one from the calling workflow + default: ${{ github.token }} + +outputs: + pr: + description: "Latest merged pull request number" + value: ${{ steps.vars.outputs.pr }} + +runs: + using: composite + steps: + - id: vars + shell: bash + run: | + git fetch origin + + release_branch="${{ github.event.pull_request.head.ref }}" + echo "Detected release branch: $release_branch" + + latest_pr=$(git log origin/$release_branch --pretty=format:'%s' | grep -oP '(?<=#)\d+' | head -n 1) + + if [ -z "$latest_pr" ]; then + echo "No merged PR found on $release_branch" + exit 1 + elif [[ ! "$latest_pr" =~ ^[0-9]+$ ]]; then + echo "PR number format incorrect: $latest_pr" + exit 1 + fi + + echo "Latest PR number from $release_branch: $latest_pr" + echo "pr=$latest_pr" >> $GITHUB_OUTPUT diff --git a/.github/scripts/sysdig_deploy.sh b/.github/scripts/sysdig_deploy.sh new file mode 100755 index 000000000..aaef72b14 --- /dev/null +++ b/.github/scripts/sysdig_deploy.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# Handles sysdig terraform validation and apply + +set -e # failfast +# ENV: +# APPLY: determines if plan is applied, lease as false for dry-run + +cd terraform || exit 1 +terraform -v +terraform init \ + -backend-config="bucket=${STATE_BACKEND_BUCKET}" \ + -backend-config="key=${STATE_BACKEND_FILEPATH}" \ + -backend-config="access_key=${STATE_BACKEND_ACCESS_KEY}" \ + -backend-config="secret_key=${STATE_BACKEND_SECRET_KEY}" \ + -backend-config="endpoint=${STATE_BACKEND_ENDPOINT}" + +# validate and lint check +terraform validate +terraform plan + +if [ "$APPLY" = "true" ]; then + echo "APPLY=true flag provided, attempting to apply changes" + # deploy + terraform apply -auto-approve +else + echo "Dry-run, skipping apply" +fi \ No newline at end of file diff --git a/.github/scripts/sysdig_installed.sh b/.github/scripts/sysdig_installed.sh new file mode 100755 index 000000000..9494b069a --- /dev/null +++ b/.github/scripts/sysdig_installed.sh @@ -0,0 +1,34 @@ +#!/bin/bash +# Fetches the sysdig team crd and checks at least 1 user is present in the config +# IMPORTANT NOTE: requires a serviceaccount with get/list on sysdig-team +# ENV: +# OC_NAMESPACE +# OC_SERVER +# OC_TOKEN +set -e # failfast +if [ -z "$OC_NAMESPACE" ]; then + echo "OC_NAMESPACE not set" + exit 1 +fi +if [ -z "$OC_SERVER" ]; then + echo "OC_SERVER not set" + exit 1 +fi +if [ -z "$OC_TOKEN" ]; then + echo "OC_TOKEN not set" + exit 1 +fi + +OC_TEMP_TOKEN=$(curl -k -X POST $OC_SERVER/api/v1/namespaces/$OC_NAMESPACE/serviceaccounts/pipeline/token --header "Authorization: Bearer $OC_TOKEN" -d '{"spec": {"expirationSeconds": 600}}' -H 'Content-Type: application/json; charset=utf-8' | jq -r '.status.token' ) +oc login --token=$OC_TEMP_TOKEN --server=$OC_SERVER +oc project $OC_NAMESPACE # Safeguard! + + +sysdig_config=$(oc get sysdig-team -n $OC_NAMESPACE -ojson) +num_users=$(echo $sysdig_config | jq -r '.items[0].spec.team.users | length') +if [ $num_users -eq 0 ]; then + echo "No users found in sysdig-team" + exit 1 +fi +echo "Found $num_users users in sysdig-team" +exit 0 diff --git a/.github/workflows/deploy-sysdig.yml b/.github/workflows/deploy-sysdig.yml new file mode 100644 index 000000000..e5e132a5b --- /dev/null +++ b/.github/workflows/deploy-sysdig.yml @@ -0,0 +1,64 @@ +name: Deploy Sysdig Alerts + +on: + push: + paths: + - "terraform/**" + +concurrency: + # Do not interrupt previous workflows + # avoid state corruption from cancels + group: ${{ github.workflow }} + cancel-in-progress: false + +jobs: + installed: + environment: tools + name: Check Sysdig Installed + runs-on: ubuntu-22.04 + timeout-minutes: 1 + steps: + - uses: actions/checkout@v4 + - run: ./.github/scripts/sysdig_installed.sh + env: + OC_NAMESPACE: ${{ secrets.OC_NAMESPACE }} + OC_SERVER: ${{ secrets.OC_SERVER }} + OC_TOKEN: ${{ secrets.OC_TOKEN }} + + validate: + environment: tools + needs: installed + name: Validate Sysdig Terraform + runs-on: ubuntu-22.04 + timeout-minutes: 3 + steps: + - uses: actions/checkout@v4 + - name: Validate Sysdig Terraform + run: APPLY=false ./.github/scripts/sysdig_deploy.sh + env: + STATE_BACKEND_BUCKET: ${{ secrets.STATE_BACKEND_BUCKET }} + STATE_BACKEND_ACCESS_KEY: ${{ secrets.STATE_BACKEND_ACCESS_KEY }} + STATE_BACKEND_SECRET_KEY: ${{ secrets.STATE_BACKEND_SECRET_KEY }} + STATE_BACKEND_FILEPATH: ${{ secrets.STATE_BACKEND_FILEPATH }} + STATE_BACKEND_ENDPOINT: ${{ secrets.STATE_BACKEND_ENDPOINT }} + TF_VAR_sysdig_api_token: ${{ secrets.TF_VAR_SYSDIG_API_TOKEN }} + AWS_NO_SIGN_REQUEST: 1 + deploy: + if: github.ref == 'refs/heads/main' + needs: validate + environment: tools + name: Deploy Sysdig Terraform + runs-on: ubuntu-22.04 + timeout-minutes: 10 + steps: + - uses: actions/checkout@v4 + - name: Apply Sysdig Terraform + run: APPLY=true ./.github/scripts/sysdig_deploy.sh + env: + STATE_BACKEND_BUCKET: ${{ secrets.STATE_BACKEND_BUCKET }} + STATE_BACKEND_ACCESS_KEY: ${{ secrets.STATE_BACKEND_ACCESS_KEY }} + STATE_BACKEND_SECRET_KEY: ${{ secrets.STATE_BACKEND_SECRET_KEY }} + STATE_BACKEND_FILEPATH: ${{ secrets.STATE_BACKEND_FILEPATH }} + STATE_BACKEND_ENDPOINT: ${{ secrets.STATE_BACKEND_ENDPOINT }} + TF_VAR_sysdig_api_token: ${{ secrets.TF_VAR_SYSDIG_API_TOKEN }} + AWS_NO_SIGN_REQUEST: 1 diff --git a/.github/workflows/merge-main.yml b/.github/workflows/merge-main.yml index 2bacb333d..9ec85b1bc 100644 --- a/.github/workflows/merge-main.yml +++ b/.github/workflows/merge-main.yml @@ -24,17 +24,16 @@ jobs: vars: name: Set Variables outputs: - pr: ${{ steps.pr.outputs.pr }} + pr: ${{ steps.latest-pr.outputs.pr }} runs-on: ubuntu-22.04 timeout-minutes: 1 steps: - uses: actions/checkout@v4 - # Get PR number for squash merges to release - - name: PR Number - id: pr - uses: ./.github/actions/get-pr-number + - name: Get Latest PR Number in release branch + id: latest-pr + uses: ./.github/actions/get-latest-pr-number - name: Set PR Output - run: echo "pr=${{ steps.pr.outputs.pr }}" >> $GITHUB_OUTPUT + run: echo "pr=${{ steps.latest-pr.outputs.pr }}" >> $GITHUB_OUTPUT create_release: name: Create GitHub Release (Keep Version) @@ -86,6 +85,8 @@ jobs: --set webeoc.pdb.enabled=true --set nats.config.cluster.replicas=3 --set nats.config.cluster.enabled=true + --set bitnami-pg.backup.cronjob.storage.size=512Mi + --set bitnami-pg.primary.persistence.size=512Mi promote: name: Promote Images diff --git a/.github/workflows/merge-release.yml b/.github/workflows/merge-release.yml index 0b6628fa0..6851d5094 100644 --- a/.github/workflows/merge-release.yml +++ b/.github/workflows/merge-release.yml @@ -16,9 +16,9 @@ on: required: true concurrency: - # Do not interrupt previous workflows + # Cancel previous pending/running workflows group: ${{ github.workflow }} - cancel-in-progress: false + cancel-in-progress: true jobs: vars: diff --git a/.gitignore b/.gitignore index b4ca1287a..e8bcf6afc 100644 --- a/.gitignore +++ b/.gitignore @@ -119,3 +119,23 @@ frontend/cypress/screenshots/allegation-details-edit.cy.ts/Complaint Edit Page s frontend/cypress/screenshots/hwcr-details-edit.cy.ts/Complaint Edit Page spec - Edit View -- Navigate to the Complaint Edit page & check inputs (failed).png frontend/cypress/screenshots/hwcr-details-edit.cy.ts/Complaint Edit Page spec - Edit View -- it has a map on screen with a marker at the correct location (failed).png nr-compliance-enforcement.code-workspace + +# Terraform +*.tfstate +*.tfstate.* +crash.log +crash.*.log +override.tf +override.tf.json +*_override.tf +*_override.tf.json +.terraform/ +.terraform.lock.hcl +**/.terraform/* +*.tfvars +*.tfvars.json +# Ignore transient lock info files created by terraform apply +.terraform.tfstate.lock.info +# Ignore CLI configuration files +.terraformrc +terraform.rc \ No newline at end of file diff --git a/backend/package-lock.json b/backend/package-lock.json index 5f17a01b7..93694c69e 100644 --- a/backend/package-lock.json +++ b/backend/package-lock.json @@ -42,6 +42,7 @@ "linq-to-typescript": "^11.0.0", "nest-winston": "^1.9.2", "npm-check-updates": "^17.1.3", + "nrs-ce-common-types": "^1.0.10", "passport": "^0.6.0", "passport-jwt": "^4.0.1", "path-to-regexp": "^8.0.0", @@ -8221,6 +8222,12 @@ "node": ">=8" } }, + "node_modules/nrs-ce-common-types": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nrs-ce-common-types/-/nrs-ce-common-types-1.0.10.tgz", + "integrity": "sha512-pDa3WczpyEcXfUVw0gs+cZFMcHiiimMm8f3XU3VJxLKmZ7rZkBBwUsXgXv19W1edAxAYR/a9aJSL9bJVmWD2ZA==", + "license": "ISC" + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -17189,6 +17196,11 @@ "path-key": "^3.0.0" } }, + "nrs-ce-common-types": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nrs-ce-common-types/-/nrs-ce-common-types-1.0.10.tgz", + "integrity": "sha512-pDa3WczpyEcXfUVw0gs+cZFMcHiiimMm8f3XU3VJxLKmZ7rZkBBwUsXgXv19W1edAxAYR/a9aJSL9bJVmWD2ZA==" + }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", diff --git a/backend/package.json b/backend/package.json index 6d70ce6e1..fd363214c 100644 --- a/backend/package.json +++ b/backend/package.json @@ -73,6 +73,7 @@ "linq-to-typescript": "^11.0.0", "nest-winston": "^1.9.2", "npm-check-updates": "^17.1.3", + "nrs-ce-common-types": "^1.0.10", "passport": "^0.6.0", "passport-jwt": "^4.0.1", "path-to-regexp": "^8.0.0", diff --git a/backend/src/app.module.ts b/backend/src/app.module.ts index ffe9880f0..d27440a16 100644 --- a/backend/src/app.module.ts +++ b/backend/src/app.module.ts @@ -53,6 +53,7 @@ import { TeamCodeModule } from "./v1/team_code/team_code.module"; import { OfficerTeamXrefModule } from "./v1/officer_team_xref/officer_team_xref.module"; import { ComplaintMethodReceivedCodeModule } from "./v1/complaint_method_received_code/complaint_method_received_code.module"; import { CompMthdRecvCdAgcyCdXrefModule } from "./v1/comp_mthd_recv_cd_agcy_cd_xref/comp_mthd_recv_cd_agcy_cd_xref.module"; +import { LinkedComplaintXrefModule } from "./v1/linked_complaint_xref/linked_complaint_xref.module"; console.log("Var check - POSTGRESQL_HOST", process.env.POSTGRESQL_HOST); console.log("Var check - POSTGRESQL_DATABASE", process.env.POSTGRESQL_DATABASE); @@ -128,6 +129,7 @@ if (process.env.POSTGRESQL_PASSWORD != null) { OfficerTeamXrefModule, ComplaintMethodReceivedCodeModule, CompMthdRecvCdAgcyCdXrefModule, + LinkedComplaintXrefModule, ], controllers: [AppController], providers: [AppService, ComplaintSequenceResetScheduler], diff --git a/backend/src/middleware/maps/automapper-entity-to-dto-maps.ts b/backend/src/middleware/maps/automapper-entity-to-dto-maps.ts index cb0957f48..4a1f6562e 100644 --- a/backend/src/middleware/maps/automapper-entity-to-dto-maps.ts +++ b/backend/src/middleware/maps/automapper-entity-to-dto-maps.ts @@ -243,6 +243,10 @@ export const complaintToComplaintDtoMap = (mapper: Mapper) => { (destination) => destination.webeocId, mapFrom((source) => source.webeoc_identifier), ), + forMember( + (destination) => destination.referenceNumber, + mapFrom((source) => source.reference_number), + ), forMember( (destination) => destination.complaintMethodReceivedCode, mapFrom((source) => { @@ -692,6 +696,10 @@ export const applyWildlifeComplaintMap = (mapper: Mapper) => { (destination) => destination.webeocId, mapFrom((source) => source.complaint_identifier.webeoc_identifier), ), + forMember( + (destination) => destination.referenceNumber, + mapFrom((source) => source.complaint_identifier.reference_number), + ), forMember( (destination) => destination.complaintMethodReceivedCode, mapFrom((source) => { @@ -915,6 +923,10 @@ export const applyAllegationComplaintMap = (mapper: Mapper) => { (destination) => destination.webeocId, mapFrom((source) => source.complaint_identifier.webeoc_identifier), ), + forMember( + (destination) => destination.referenceNumber, + mapFrom((source) => source.complaint_identifier.reference_number), + ), forMember( (destination) => destination.complaintMethodReceivedCode, mapFrom((source) => { @@ -1432,6 +1444,10 @@ export const mapWildlifeReport = (mapper: Mapper, tz: string = "America/Vancouve (destination) => destination.webeocId, mapFrom((source) => source.complaint_identifier.webeoc_identifier), ), + forMember( + (destination) => destination.referenceNumber, + mapFrom((source) => source.complaint_identifier.reference_number), + ), forMember( (destination) => destination.complaintMethodReceivedCode, mapFrom((source) => { @@ -1723,6 +1739,10 @@ export const mapAllegationReport = (mapper: Mapper, tz: string = "America/Vancou (destination) => destination.webeocId, mapFrom((source) => source.complaint_identifier.webeoc_identifier), ), + forMember( + (destination) => destination.referenceNumber, + mapFrom((source) => source.complaint_identifier.reference_number), + ), forMember( (destination) => destination.complaintMethodReceivedCode, mapFrom((source) => { diff --git a/backend/src/middleware/maps/dto-to-table-map.ts b/backend/src/middleware/maps/dto-to-table-map.ts index a574b619f..539f3de64 100644 --- a/backend/src/middleware/maps/dto-to-table-map.ts +++ b/backend/src/middleware/maps/dto-to-table-map.ts @@ -100,6 +100,12 @@ export const mapComplaintDtoToComplaintTable = (mapper: Mapper) => { }; }), ), + forMember( + (dest) => dest.reference_number, + mapFrom((src) => { + return src.referenceNumber; + }), + ), forMember( (dest) => dest.is_privacy_requested, mapFrom((src) => { diff --git a/backend/src/types/models/case-files/assessment-details.ts b/backend/src/types/models/case-files/assessment-details.ts index 5a679ee1c..27f5b55e2 100644 --- a/backend/src/types/models/case-files/assessment-details.ts +++ b/backend/src/types/models/case-files/assessment-details.ts @@ -1,6 +1,8 @@ import { AssessmentActionDto } from "./assessment-action"; export interface AssessmentDetailsDto { actionNotRequired: boolean; + actionCloseComplaint: boolean; + actionLinkedComplaintIdentifier: string; actionJustificationCode: string; actionJustificationShortDescription: string; actionJustificationLongDescription: string; diff --git a/backend/src/types/models/complaints/allegation-complaint.ts b/backend/src/types/models/complaints/allegation-complaint.ts index b34eeee29..f3dc0cec4 100644 --- a/backend/src/types/models/complaints/allegation-complaint.ts +++ b/backend/src/types/models/complaints/allegation-complaint.ts @@ -1,7 +1,8 @@ import { UUID } from "crypto"; import { ComplaintDto } from "./complaint"; +import { BaseComplaint } from "nrs-ce-common-types"; -export interface AllegationComplaintDto extends ComplaintDto { +export interface AllegationComplaintDto extends ComplaintDto, BaseComplaint { ersId: UUID; violation: string; isInProgress: boolean; diff --git a/backend/src/types/models/complaints/complaint.ts b/backend/src/types/models/complaints/complaint.ts index 0d3ced50c..e2db929cc 100644 --- a/backend/src/types/models/complaints/complaint.ts +++ b/backend/src/types/models/complaints/complaint.ts @@ -1,27 +1,7 @@ import { DelegateDto } from "../people/delegate"; +import { BaseComplaint } from "nrs-ce-common-types"; -export interface ComplaintDto { - id: string; - details: string; - name: string; - address: string; - email: string; - phone1: string; - phone2: string; - phone3: string; - // contacts: Array //-- for future use - location: { type: string; coordinates: Array }; - locationSummary: string; - locationDetail: string; - status: string; - reportedBy: string; - ownedBy: string; - reportedByOther: string; - incidentDateTime: Date; - reportedOn: Date; - updatedOn: Date; - createdBy: string; - updatedBy: string; +export interface ComplaintDto extends BaseComplaint { organization: { area: string; zone: string; @@ -29,7 +9,4 @@ export interface ComplaintDto { officeLocation?: string; }; delegates: Array; - webeocId: string; - complaintMethodReceivedCode: string; - isPrivacyRequested: string; } diff --git a/backend/src/types/models/complaints/gir-complaint.ts b/backend/src/types/models/complaints/gir-complaint.ts index 3d9c9b018..092bee8b2 100644 --- a/backend/src/types/models/complaints/gir-complaint.ts +++ b/backend/src/types/models/complaints/gir-complaint.ts @@ -1,7 +1,8 @@ import { UUID } from "crypto"; import { ComplaintDto } from "./complaint"; +import { BaseComplaint } from "nrs-ce-common-types"; -export interface GeneralIncidentComplaintDto extends ComplaintDto { +export interface GeneralIncidentComplaintDto extends ComplaintDto, BaseComplaint { girId: UUID; girType: string; } diff --git a/backend/src/types/models/complaints/update-complaint.dto.ts b/backend/src/types/models/complaints/update-complaint.dto.ts index c0715b272..6a28d5e11 100644 --- a/backend/src/types/models/complaints/update-complaint.dto.ts +++ b/backend/src/types/models/complaints/update-complaint.dto.ts @@ -160,6 +160,13 @@ export class UpdateComplaintDto { }) webeoc_identifier: string; + @ApiProperty({ + example: "54321", + description: + "Allows users to link complaints to files in external systems. Currently labeled in the system as COORS reference number and initially only used for COORS linkages.", + }) + reference_number: string; + @ApiProperty({ example: "RAPP", description: "Method in which the complaint was created", diff --git a/backend/src/types/models/complaints/wildlife-complaint.ts b/backend/src/types/models/complaints/wildlife-complaint.ts index df9fcbf0e..8ca8d7cd6 100644 --- a/backend/src/types/models/complaints/wildlife-complaint.ts +++ b/backend/src/types/models/complaints/wildlife-complaint.ts @@ -1,8 +1,9 @@ import { UUID } from "crypto"; import { ComplaintDto } from "./complaint"; import { AttractantXrefDto } from "./attractant-ref"; +import { BaseComplaint } from "nrs-ce-common-types"; -export interface WildlifeComplaintDto extends ComplaintDto { +export interface WildlifeComplaintDto extends ComplaintDto, BaseComplaint { hwcrId: UUID; species: string; natureOfComplaint: string; diff --git a/backend/src/types/models/reports/complaints/complaint-report-data.ts b/backend/src/types/models/reports/complaints/complaint-report-data.ts index d8bf330c4..23d370005 100644 --- a/backend/src/types/models/reports/complaints/complaint-report-data.ts +++ b/backend/src/types/models/reports/complaints/complaint-report-data.ts @@ -22,6 +22,7 @@ export interface ComplaintReportData { locationDescription: string; description: string; webeocId: string; + referenceNumber: string; complaintMethodReceivedCode: string; //-- caller information diff --git a/backend/src/v1/case_file/case_file.module.ts b/backend/src/v1/case_file/case_file.module.ts index cf83bfe1c..843f4961c 100644 --- a/backend/src/v1/case_file/case_file.module.ts +++ b/backend/src/v1/case_file/case_file.module.ts @@ -1,12 +1,21 @@ import { Module } from "@nestjs/common"; +import { TypeOrmModule } from "@nestjs/typeorm"; import { AutomapperModule } from "@automapper/nestjs"; import { CaseFileController } from "./case_file.controller"; import { CaseFileService } from "./case_file.service"; import { CodeTableModule } from "../code-table/code-table.module"; import { ComplaintModule } from "../complaint/complaint.module"; +import { Complaint } from "../complaint/entities/complaint.entity"; +import { LinkedComplaintXref } from "../linked_complaint_xref/entities/linked_complaint_xref.entity"; @Module({ - imports: [AutomapperModule, CodeTableModule, ComplaintModule], + imports: [ + AutomapperModule, + CodeTableModule, + ComplaintModule, + TypeOrmModule.forFeature([Complaint]), + TypeOrmModule.forFeature([LinkedComplaintXref]), + ], controllers: [CaseFileController], providers: [CaseFileService], }) diff --git a/backend/src/v1/case_file/case_file.service.spec.ts b/backend/src/v1/case_file/case_file.service.spec.ts index bc7804142..b489861c4 100644 --- a/backend/src/v1/case_file/case_file.service.spec.ts +++ b/backend/src/v1/case_file/case_file.service.spec.ts @@ -63,6 +63,7 @@ import { StagingComplaint } from "../staging_complaint/entities/staging_complain import { TeamCode } from "../team_code/entities/team_code.entity"; import { CompMthdRecvCdAgcyCdXref } from "../comp_mthd_recv_cd_agcy_cd_xref/entities/comp_mthd_recv_cd_agcy_cd_xref"; import { CompMthdRecvCdAgcyCdXrefService } from "../comp_mthd_recv_cd_agcy_cd_xref/comp_mthd_recv_cd_agcy_cd_xref.service"; +import { LinkedComplaintXref } from "../linked_complaint_xref/entities/linked_complaint_xref.entity"; describe("Testing: Case File Service", () => { let service: CaseFileService; @@ -187,6 +188,10 @@ describe("Testing: Case File Service", () => { provide: getRepositoryToken(CompMthdRecvCdAgcyCdXref), useFactory: MockCompMthdRecvCdAgcyCdXrefRepository, }, + { + provide: getRepositoryToken(LinkedComplaintXref), + useValue: {}, + }, ComplaintUpdatesService, CaseFileService, ComplaintService, diff --git a/backend/src/v1/case_file/case_file.service.ts b/backend/src/v1/case_file/case_file.service.ts index 587fd7104..892786d5e 100644 --- a/backend/src/v1/case_file/case_file.service.ts +++ b/backend/src/v1/case_file/case_file.service.ts @@ -19,6 +19,13 @@ import { UpdateDecisionInput } from "src/types/models/case-files/ceeb/decision/u import { CreateAuthorizationOutcomeInput } from "src/types/models/case-files/ceeb/site/create-authorization-outcome-input"; import { UpdateAuthorizationOutcomeInput } from "src/types/models/case-files/ceeb/site/update-authorization-outcome-input"; import { DeleteAuthorizationOutcomeInput } from "src/types/models/case-files/ceeb/site/delete-authorization-outcome-input"; +import { DataSource, Repository } from "typeorm"; +import { LinkedComplaintXref } from "../linked_complaint_xref/entities/linked_complaint_xref.entity"; +import { InjectRepository } from "@nestjs/typeorm"; +import { getIdirFromRequest } from "../../common/get-idir-from-request"; +import { CodeTableService } from "../code-table/code-table.service"; +import { Complaint } from "../complaint/entities/complaint.entity"; +import { CreateLinkedComplaintXrefDto } from "../linked_complaint_xref/dto/create-linked_complaint_xref.dto"; @Injectable({ scope: Scope.REQUEST }) export class CaseFileService { @@ -153,6 +160,8 @@ export class CaseFileService { @Inject(REQUEST) private request: Request, @InjectMapper() mapper, private readonly complaintService: ComplaintService, + private readonly _codeTableService: CodeTableService, + private readonly dataSource: DataSource, ) { this.mapper = mapper; } @@ -178,17 +187,138 @@ export class CaseFileService { } }; - createAssessment = async (token: string, model: CaseFileDto): Promise => { - const result = await post(token, { - query: `mutation CreateAssessment($createAssessmentInput: CreateAssessmentInput!) { - createAssessment(createAssessmentInput: $createAssessmentInput) - ${this.caseFileQueryFields} - }`, - variables: model, - }); - const returnValue = await this.handleAPIResponse(result); + // The linked complaint xref and complaint repositories are needed if an assessment being created is also linking two + // complaints. The codeTableService is needed to fetch the status used to update the closing complaint's status. + @InjectRepository(LinkedComplaintXref) + private readonly _linkedComplaintXrefRepository: Repository; + @InjectRepository(Complaint) + private readonly _complaintsRepository: Repository; + + async createAssessment(token: string, model: CaseFileDto): Promise { + /** + * If the assessment is linking the complaint to another, the assessment (CM db) and a linked complaint xref + * (NATCom db) both need to be created. To ensure that either both are successfully created, or neither of them + * are, the following takes place: + * A transaction is started in the NATCom database. If anything beyond this point fails, the transaction is + * rolled back. With the transaction open, the db's ability to fulfill the creation of the link is confirmed. + * Once confirmed, the assessment is created in the CM database. If this is successful, the transaction in the + * NATCom database is commit, the connection is closed, and the new assessmentis returned. + * + * This process of creating the complaint links is handled here to accommodate this pseudo two phase commit + * pattern. + */ + + let returnValue; + // The model reaches this function in the shape { "createAssessmentInput": {...CaseFlieDTO} } despite that property + // not existing in the CaseFileDTO type, which renders the CaseFile fields inside inaccessible in this scope. + // For example, leadIdentifier would be found in model.leadIdentifier by the type's definition, however in this + // scope it is at model.createAssessmentInput.leadIdentifier, which errors due to type violation. + // This copies it into a new variable cast to any to allow access to the nested properties. + let modelAsAny: any = { ...model }; + // If changes need to be made in both databases (i.e. we need to create a link or change the status of a complaint) + // then the transactional approach is taken. + if ( + modelAsAny.createAssessmentInput.assessmentDetails.actionLinkedComplaintIdentifier || + modelAsAny.createAssessmentInput.assessmentDetails.actionCloseComplaint + ) { + const dateLinkCreated = new Date(); + const complaintBeingLinkedId = modelAsAny.createAssessmentInput.leadIdentifier; + const linkingToComplaintId = modelAsAny.createAssessmentInput.assessmentDetails.actionLinkedComplaintIdentifier; + const queryRunner = this.dataSource.createQueryRunner(); + await queryRunner.connect(); + await queryRunner.startTransaction(); + try { + const idir = getIdirFromRequest(this.request); + // If actionLinkedComplaintIdentifier is present the link must be created in the database + if (modelAsAny.createAssessmentInput.assessmentDetails.actionLinkedComplaintIdentifier) { + // When linking complaint "A" to complaint "B", if "A" already has other complaints linked to it those links + // are marked as inactive, and new links are created with them pointing to "B". + const trailingComplaints = await this._linkedComplaintXrefRepository + .createQueryBuilder() + .update(LinkedComplaintXref) + .set({ active_ind: false }) + .where({ + complaint_identifier: complaintBeingLinkedId, + }) + .andWhere({ + active_ind: true, + }) + .returning("*") + .execute(); + + if (trailingComplaints.affected > 0) { + trailingComplaints.raw.forEach(async (row) => { + const linkString = await this._linkedComplaintXrefRepository.create({ + // ...row, + complaint_identifier: { complaint_identifier: linkingToComplaintId }, + linked_complaint_identifier: row.linked_complaint_identifier, + active_ind: true, + create_user_id: idir, + create_utc_timestamp: dateLinkCreated, + }); + await queryRunner.manager.save(linkString); + }); + } + + // Create the new link between the complaints + let newLink = new CreateLinkedComplaintXrefDto(); + newLink = { + ...newLink, + complaint_identifier: { + complaint_identifier: linkingToComplaintId, + }, + linked_complaint_identifier: { complaint_identifier: complaintBeingLinkedId }, + active_ind: true, + create_user_id: idir, + create_utc_timestamp: dateLinkCreated, + }; + + const complaintLinkString = await this._linkedComplaintXrefRepository.create(newLink); + await queryRunner.manager.save(complaintLinkString); + } + // Update the status of the complaint to "closed" if actionCloseComplaint is set to true + if (modelAsAny.createAssessmentInput.assessmentDetails.actionCloseComplaint) { + const statusCode = await this._codeTableService.getComplaintStatusCodeByStatus("CLOSED"); + await this._complaintsRepository + .createQueryBuilder("complaint") + .update() + .set({ complaint_status_code: statusCode, update_user_id: idir }) + .where({ complaint_identifier: complaintBeingLinkedId }) + .execute(); + } + + // Create the assessment in the Case Management database + const result = await post(token, { + query: `mutation CreateAssessment($createAssessmentInput: CreateAssessmentInput!) { + createAssessment(createAssessmentInput: $createAssessmentInput) + ${this.caseFileQueryFields} + }`, + variables: model, + }); + returnValue = await this.handleAPIResponse(result); + // If the mutation succeeded, commit the pending transaction + await queryRunner.commitTransaction(); + } catch (err) { + this.logger.error(err); + await queryRunner.rollbackTransaction(); + Promise.reject(new Error("An error occurred while linking the complaints. " + err)); + } finally { + await queryRunner.release(); + } + } else { + // If the assessment is not linking two complaints then simply create the new assessment in CM. + const result = await post(token, { + query: `mutation CreateAssessment($createAssessmentInput: CreateAssessmentInput!) { + createAssessment(createAssessmentInput: $createAssessmentInput) + ${this.caseFileQueryFields} + }`, + variables: model, + }); + returnValue = await this.handleAPIResponse(result); + } + return returnValue?.createAssessment; - }; + } updateAssessment = async (token: string, model: CaseFileDto): Promise => { const result = await post(token, { diff --git a/backend/src/v1/complaint/complaint.controller.ts b/backend/src/v1/complaint/complaint.controller.ts index 20a53a4f3..dab2b327d 100644 --- a/backend/src/v1/complaint/complaint.controller.ts +++ b/backend/src/v1/complaint/complaint.controller.ts @@ -21,6 +21,7 @@ import { dtoAlias } from "../../types/models/complaints/dtoAlias-type"; import { RelatedDataDto } from "src/types/models/complaints/related-data"; import { ACTION_TAKEN_ACTION_TYPES } from "src/types/constants"; import { hasRole } from "src/common/has-role"; +import { LinkedComplaintXrefService } from "../linked_complaint_xref/linked_complaint_xref.service"; @UseGuards(JwtRoleGuard) @ApiTags("complaint") @@ -29,7 +30,11 @@ import { hasRole } from "src/common/has-role"; version: "1", }) export class ComplaintController { - constructor(private readonly service: ComplaintService, private readonly stagingService: StagingComplaintService) {} + constructor( + private readonly service: ComplaintService, + private readonly stagingService: StagingComplaintService, + private readonly linkedComplaintXrefService: LinkedComplaintXrefService, + ) {} private readonly logger = new Logger(ComplaintController.name); @Get(":complaintType") @@ -122,6 +127,17 @@ export class ComplaintController { return this.service.getZoneAtAGlanceStatistics(complaintType, zone); } + @Get("/linked-complaints/:complaint_id") + @Roles(Role.COS_OFFICER) + async findLinkedComplaintsById(@Param("complaint_id") complaintId: string) { + const childComplaints = await this.linkedComplaintXrefService.findChildComplaints(complaintId); + if (childComplaints.length > 0) return childComplaints; + else { + const parentComplaint = await this.linkedComplaintXrefService.findParentComplaint(complaintId); + return parentComplaint; + } + } + @Public() @Post("/staging/action-taken") @UseGuards(ApiKeyGuard) diff --git a/backend/src/v1/complaint/complaint.module.ts b/backend/src/v1/complaint/complaint.module.ts index 459d8f1ba..14ca39afc 100644 --- a/backend/src/v1/complaint/complaint.module.ts +++ b/backend/src/v1/complaint/complaint.module.ts @@ -32,6 +32,7 @@ import { ComplaintMethodReceivedCode } from "../complaint_method_received_code/e import { CompMthdRecvCdAgcyCdXref } from "../comp_mthd_recv_cd_agcy_cd_xref/entities/comp_mthd_recv_cd_agcy_cd_xref"; import { CompMthdRecvCdAgcyCdXrefService } from "../comp_mthd_recv_cd_agcy_cd_xref/comp_mthd_recv_cd_agcy_cd_xref.service"; import { CompMthdRecvCdAgcyCdXrefModule } from "../comp_mthd_recv_cd_agcy_cd_xref/comp_mthd_recv_cd_agcy_cd_xref.module"; +import { LinkedComplaintXrefModule } from "../linked_complaint_xref/linked_complaint_xref.module"; @Module({ imports: [ @@ -65,6 +66,7 @@ import { CompMthdRecvCdAgcyCdXrefModule } from "../comp_mthd_recv_cd_agcy_cd_xre ComplaintUpdatesModule, StagingComplaintModule, CompMthdRecvCdAgcyCdXrefModule, + LinkedComplaintXrefModule, ], controllers: [ComplaintController], providers: [ComplaintService, CompMthdRecvCdAgcyCdXrefService], diff --git a/backend/src/v1/complaint/complaint.service.ts b/backend/src/v1/complaint/complaint.service.ts index 585bf193e..64b139cf3 100644 --- a/backend/src/v1/complaint/complaint.service.ts +++ b/backend/src/v1/complaint/complaint.service.ts @@ -388,6 +388,9 @@ export class ComplaintService { qb.orWhere("complaint.reported_by_other_text ILIKE :query", { query: `%${query}%`, }); + qb.orWhere("complaint.reference_number ILIKE :query", { + query: `%${query}%`, + }); qb.orWhere("reported_by.short_description ILIKE :query", { query: `%${query}%`, diff --git a/backend/src/v1/complaint/entities/complaint.entity.ts b/backend/src/v1/complaint/entities/complaint.entity.ts index 93fbc0335..9b4bf7315 100644 --- a/backend/src/v1/complaint/entities/complaint.entity.ts +++ b/backend/src/v1/complaint/entities/complaint.entity.ts @@ -126,6 +126,14 @@ export class Complaint { @Column({ length: 20 }) webeoc_identifier: string; + @ApiProperty({ + example: "54321", + description: + "Allows users to link complaints to files in external systems. Currently labeled in the system as COORS reference number and initially only used for COORS linkages.", + }) + @Column({ length: 20 }) + reference_number: string; + @ApiProperty({ example: "43.43,-123.55", description: "The lat/long point of the complaint", @@ -235,6 +243,7 @@ export class Complaint { cos_geo_org_unit?: CosGeoOrgUnit, person_complaint_xref?: PersonComplaintXref[], webeoc_identifier?: string, + reference_number?: string, comp_mthd_recv_cd_agcy_cd_xref?: CompMthdRecvCdAgcyCdXref, is_privacy_requested?: string, ) { @@ -263,6 +272,7 @@ export class Complaint { this.cos_geo_org_unit = cos_geo_org_unit; this.person_complaint_xref = person_complaint_xref; this.webeoc_identifier = webeoc_identifier; + this.reference_number = reference_number; this.comp_mthd_recv_cd_agcy_cd_xref = comp_mthd_recv_cd_agcy_cd_xref; this.is_privacy_requested = is_privacy_requested; } diff --git a/backend/src/v1/linked_complaint_xref/dto/create-linked_complaint_xref.dto.ts b/backend/src/v1/linked_complaint_xref/dto/create-linked_complaint_xref.dto.ts new file mode 100644 index 000000000..3cfd22c4a --- /dev/null +++ b/backend/src/v1/linked_complaint_xref/dto/create-linked_complaint_xref.dto.ts @@ -0,0 +1,12 @@ +import { PickType } from "@nestjs/swagger"; +import { LinkedComplaintXrefDto } from "./linked_complaint_xref.dto"; + +export class CreateLinkedComplaintXrefDto extends PickType(LinkedComplaintXrefDto, [ + "create_user_id", + "create_utc_timestamp", + "update_user_id", + "update_utc_timestamp", + "complaint_identifier", + "linked_complaint_identifier", + "active_ind", +] as const) {} diff --git a/backend/src/v1/linked_complaint_xref/dto/linked_complaint_xref.dto.ts b/backend/src/v1/linked_complaint_xref/dto/linked_complaint_xref.dto.ts new file mode 100644 index 000000000..f19b2a6fa --- /dev/null +++ b/backend/src/v1/linked_complaint_xref/dto/linked_complaint_xref.dto.ts @@ -0,0 +1,54 @@ +import { ApiProperty } from "@nestjs/swagger"; +import { UUID } from "crypto"; +import { Complaint } from "../../complaint/entities/complaint.entity"; + +export class LinkedComplaintXrefDto { + @ApiProperty({ + example: "903f87c8-76dd-427c-a1bb-4d179e443252", + description: + "System generated unique key for a linked complaint relationship. This key should never be exposed to users via any system utilizing the tables.", + }) + public linked_complaint_xref_guid: UUID; + + @ApiProperty({ + example: "mburns", + description: "The id of the user that created the cross reference.", + }) + create_user_id: string; + + @ApiProperty({ + example: "2003-04-12 04:05:06", + description: "The timestamp when the cross reference was created. The timestamp is stored in UTC with no Offset.", + }) + create_utc_timestamp: Date; + + @ApiProperty({ + example: "mburns", + description: "The id of the user that updated the cross reference.", + }) + update_user_id: string; + + @ApiProperty({ + example: "2003-04-12 04:05:06", + description: "The timestamp when the cross reference was updated. The timestamp is stored in UTC with no Offset.", + }) + update_utc_timestamp: Date; + + @ApiProperty({ + example: "24-007007", + description: "System generated unique key for a hwcr complaint.", + }) + public linked_complaint_identifier: Complaint; + + @ApiProperty({ + example: "23-007007", + description: "System generated unique key for a hwcr complaint.", + }) + public complaint_identifier: Complaint; + + @ApiProperty({ + example: "True", + description: "A boolean indicator to determine if the linked complaint is active.", + }) + public active_ind: boolean; +} diff --git a/backend/src/v1/linked_complaint_xref/dto/update-linked_complaint_xref.dto.ts b/backend/src/v1/linked_complaint_xref/dto/update-linked_complaint_xref.dto.ts new file mode 100644 index 000000000..3a2aa9705 --- /dev/null +++ b/backend/src/v1/linked_complaint_xref/dto/update-linked_complaint_xref.dto.ts @@ -0,0 +1,4 @@ +import { PartialType } from "@nestjs/mapped-types"; +import { CreateLinkedComplaintXrefDto } from "./create-linked_complaint_xref.dto"; + +export class UpdateLinkedComplaintXrefDto extends PartialType(CreateLinkedComplaintXrefDto) {} diff --git a/backend/src/v1/linked_complaint_xref/entities/linked_complaint_xref.entity.ts b/backend/src/v1/linked_complaint_xref/entities/linked_complaint_xref.entity.ts new file mode 100644 index 000000000..78efde555 --- /dev/null +++ b/backend/src/v1/linked_complaint_xref/entities/linked_complaint_xref.entity.ts @@ -0,0 +1,39 @@ +import { Complaint } from "../../complaint/entities/complaint.entity"; +import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm"; +import { UUID } from "crypto"; + +@Index("PK_linked_complaint_xref_guid", ["linkedComplaintXrefGuid"], { + unique: true, +}) +@Entity("linked_complaint_xref", { schema: "public" }) +export class LinkedComplaintXref { + @Column("uuid", { + primary: true, + name: "linked_complaint_xref_guid", + default: () => "uuid_generate_v4()", + }) + linkedComplaintXrefGuid: UUID; + + @Column("character varying", { name: "create_user_id", length: 32 }) + create_user_id: string; + + @Column("timestamp without time zone", { name: "create_utc_timestamp" }) + create_utc_timestamp: Date; + + @Column("character varying", { name: "update_user_id", length: 32 }) + update_user_id: string; + + @Column("timestamp without time zone", { name: "update_utc_timestamp" }) + update_utc_timestamp: Date; + + @Column("boolean", { name: "active_ind" }) + active_ind: boolean; + + @ManyToOne(() => Complaint, (complaint) => complaint.complaint_identifier) + @JoinColumn([{ name: "complaint_identifier", referencedColumnName: "complaint_identifier" }]) + complaint_identifier: Complaint; + + @ManyToOne(() => Complaint, (complaint) => complaint.complaint_identifier) + @JoinColumn([{ name: "linked_complaint_identifier", referencedColumnName: "complaint_identifier" }]) + linked_complaint_identifier: Complaint; +} diff --git a/backend/src/v1/linked_complaint_xref/linked_complaint_xref.controller.spec.ts b/backend/src/v1/linked_complaint_xref/linked_complaint_xref.controller.spec.ts new file mode 100644 index 000000000..38d813a37 --- /dev/null +++ b/backend/src/v1/linked_complaint_xref/linked_complaint_xref.controller.spec.ts @@ -0,0 +1,34 @@ +import { Test, TestingModule } from "@nestjs/testing"; +import { LinkedComplaintXrefController } from "./linked_complaint_xref.controller"; +import { LinkedComplaintXrefService } from "./linked_complaint_xref.service"; +import { LinkedComplaintXref } from "./entities/linked_complaint_xref.entity"; +import { getRepositoryToken } from "@nestjs/typeorm"; +import { DataSource } from "typeorm"; +import { dataSourceMockFactory } from "../../../test/mocks/datasource"; + +describe("LinkedComplaintXrefController", () => { + let controller: LinkedComplaintXrefController; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + controllers: [LinkedComplaintXrefController], + providers: [ + LinkedComplaintXrefService, + { + provide: getRepositoryToken(LinkedComplaintXref), + useValue: {}, + }, + { + provide: DataSource, + useFactory: dataSourceMockFactory, + }, + ], + }).compile(); + + controller = module.get(LinkedComplaintXrefController); + }); + + it("should be defined", () => { + expect(controller).toBeDefined(); + }); +}); diff --git a/backend/src/v1/linked_complaint_xref/linked_complaint_xref.controller.ts b/backend/src/v1/linked_complaint_xref/linked_complaint_xref.controller.ts new file mode 100644 index 000000000..fe76b5781 --- /dev/null +++ b/backend/src/v1/linked_complaint_xref/linked_complaint_xref.controller.ts @@ -0,0 +1,11 @@ +import { Controller, UseGuards } from "@nestjs/common"; +import { ApiTags } from "@nestjs/swagger"; +import { JwtRoleGuard } from "../../auth/jwtrole.guard"; + +@UseGuards(JwtRoleGuard) +@ApiTags("linked-complaint-xref") +@Controller({ + path: "linked-complaint-xref", + version: "1", +}) +export class LinkedComplaintXrefController {} diff --git a/backend/src/v1/linked_complaint_xref/linked_complaint_xref.module.ts b/backend/src/v1/linked_complaint_xref/linked_complaint_xref.module.ts new file mode 100644 index 000000000..8399f7b55 --- /dev/null +++ b/backend/src/v1/linked_complaint_xref/linked_complaint_xref.module.ts @@ -0,0 +1,13 @@ +import { Module } from "@nestjs/common"; +import { LinkedComplaintXrefService } from "./linked_complaint_xref.service"; +import { LinkedComplaintXrefController } from "./linked_complaint_xref.controller"; +import { TypeOrmModule } from "@nestjs/typeorm"; +import { LinkedComplaintXref } from "./entities/linked_complaint_xref.entity"; + +@Module({ + imports: [TypeOrmModule.forFeature([LinkedComplaintXref])], + controllers: [LinkedComplaintXrefController], + providers: [LinkedComplaintXrefService], + exports: [LinkedComplaintXrefService], +}) +export class LinkedComplaintXrefModule {} diff --git a/backend/src/v1/linked_complaint_xref/linked_complaint_xref.service.spec.ts b/backend/src/v1/linked_complaint_xref/linked_complaint_xref.service.spec.ts new file mode 100644 index 000000000..8a36b5c61 --- /dev/null +++ b/backend/src/v1/linked_complaint_xref/linked_complaint_xref.service.spec.ts @@ -0,0 +1,32 @@ +import { Test, TestingModule } from "@nestjs/testing"; +import { LinkedComplaintXrefService } from "./linked_complaint_xref.service"; +import { getRepositoryToken } from "@nestjs/typeorm"; +import { DataSource } from "typeorm"; +import { dataSourceMockFactory } from "../../../test/mocks/datasource"; +import { LinkedComplaintXref } from "./entities/linked_complaint_xref.entity"; + +describe("LinkedComplaintXrefService", () => { + let service: LinkedComplaintXrefService; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + LinkedComplaintXrefService, + { + provide: getRepositoryToken(LinkedComplaintXref), + useValue: {}, + }, + { + provide: DataSource, + useFactory: dataSourceMockFactory, + }, + ], + }).compile(); + + service = module.get(LinkedComplaintXrefService); + }); + + it("should be defined", () => { + expect(service).toBeDefined(); + }); +}); diff --git a/backend/src/v1/linked_complaint_xref/linked_complaint_xref.service.ts b/backend/src/v1/linked_complaint_xref/linked_complaint_xref.service.ts new file mode 100644 index 000000000..c49982eb4 --- /dev/null +++ b/backend/src/v1/linked_complaint_xref/linked_complaint_xref.service.ts @@ -0,0 +1,107 @@ +import { Injectable, Logger } from "@nestjs/common"; +import { CreateLinkedComplaintXrefDto } from "./dto/create-linked_complaint_xref.dto"; +import { LinkedComplaintXref } from "./entities/linked_complaint_xref.entity"; +import { InjectRepository } from "@nestjs/typeorm"; +import { Repository } from "typeorm"; +import { HwcrComplaint } from "../hwcr_complaint/entities/hwcr_complaint.entity"; +import { Complaint } from "../complaint/entities/complaint.entity"; + +@Injectable() +export class LinkedComplaintXrefService { + @InjectRepository(LinkedComplaintXref) + private readonly linkedComplaintXrefRepository: Repository; + + private readonly logger = new Logger(LinkedComplaintXrefService.name); + + async create(createLinkedComplaintXrefDto: CreateLinkedComplaintXrefDto): Promise { + const newLinkedComplaintXref = this.linkedComplaintXrefRepository.create(createLinkedComplaintXrefDto); + return newLinkedComplaintXref; + } + + async findChildComplaints(parentComplaintId) { + try { + const builder = this.linkedComplaintXrefRepository + .createQueryBuilder("linkedComplaint") + .leftJoinAndMapOne( + "linkedComplaint.complaint", + Complaint, + "complaint", + "linkedComplaint.linked_complaint_identifier = complaint.complaint_identifier", + ) + .leftJoin("complaint.complaint_status_code", "complaint_status") + .addSelect(["complaint_status.complaint_status_code", "complaint_status.short_description"]) + .leftJoinAndMapOne( + "linkedComplaint.hwcr_complaint", + HwcrComplaint, + "hwcr_complaint", + "linkedComplaint.linked_complaint_identifier = hwcr_complaint.complaint_identifier", + ) + .leftJoin("hwcr_complaint.species_code", "species_code") + .addSelect(["species_code.species_code", "species_code.short_description"]) + .leftJoin("hwcr_complaint.hwcr_complaint_nature_code", "complaint_nature_code") + .addSelect(["complaint_nature_code.hwcr_complaint_nature_code", "complaint_nature_code.long_description"]) + .where("linkedComplaint.complaint_identifier = :id", { id: parentComplaintId }) + .andWhere("linkedComplaint.active_ind = :active", { active: true }) + .orderBy("complaint.incident_utc_datetime", "DESC"); + const data = await builder.getMany(); + const result = data.map((item: any) => { + return { + id: item.complaint.complaint_identifier, + species: item.hwcr_complaint.species_code.short_description, + natureOfComplaint: item.hwcr_complaint.hwcr_complaint_nature_code.long_description, + details: item.complaint.detail_text, + name: item.complaint.caller_name, + address: item.complaint.caller_address, + phone: item.complaint.caller_phone_1, + status: item.complaint.complaint_status_code.short_description, + }; + }); + return result ?? []; + } catch (err) { + this.logger.error(err); + } + } + + async findParentComplaint(childComplaintId) { + try { + const builder = this.linkedComplaintXrefRepository + .createQueryBuilder("linkedComplaint") + .leftJoinAndMapOne( + "linkedComplaint.complaint", + Complaint, + "complaint", + "linkedComplaint.complaint_identifier = complaint.complaint_identifier", + ) + .leftJoin("complaint.complaint_status_code", "complaint_status") + .addSelect(["complaint_status.complaint_status_code", "complaint_status.short_description"]) + .leftJoinAndMapOne( + "linkedComplaint.hwcr_complaint", + HwcrComplaint, + "hwcr_complaint", + "linkedComplaint.complaint_identifier = hwcr_complaint.complaint_identifier", + ) + .leftJoin("hwcr_complaint.species_code", "species_code") + .addSelect(["species_code.species_code", "species_code.short_description"]) + .leftJoin("hwcr_complaint.hwcr_complaint_nature_code", "complaint_nature_code") + .addSelect(["complaint_nature_code.hwcr_complaint_nature_code", "complaint_nature_code.long_description"]) + .where("linkedComplaint.linked_complaint_identifier = :id", { id: childComplaintId }) + .andWhere("linkedComplaint.active_ind = :active", { active: true }); + const data = await builder.getMany(); + const result = data.map((item: any) => { + return { + id: item.complaint.complaint_identifier, + species: item.hwcr_complaint.species_code.short_description, + natureOfComplaint: item.hwcr_complaint.hwcr_complaint_nature_code.long_description, + details: item.complaint.detail_text, + name: item.complaint.caller_name, + address: item.complaint.caller_address, + phone: item.complaint.caller_phone_1, + status: item.complaint.complaint_status_code.short_description, + }; + }); + return result ?? []; + } catch (err) { + this.logger.error(err); + } + } +} diff --git a/backend/templates/complaint/CDOGS-ERS-COMPLAINT-TEMPLATE-v1.docx b/backend/templates/complaint/CDOGS-ERS-COMPLAINT-TEMPLATE-v1.docx index 7a484240ab8ee04efe7f92af09de7592996ffdd7..70030ede8ff89db904b0edfa33c1a3d79db2670a 100644 GIT binary patch delta 15445 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 I;3M{b0HVx1MgRZ+ delta 16020 zcmZ8|19WB2vUhO8$;7s8+qP{@Z0kf5TPL<{XOc{8TQe~yPA2~Hzwh36*Z2CYv)AtK z+Ev}VYj^!tRaZtITJIoQy$?*&B?&Afkl^c_=XZQCu=ZkbFcdH_Fi%Gpb0%{~Gk1Fn z2RBA9d%JT3z4*QMh5(_yC#0|$ImE^dN}AJUX{G!#%b>A8#+Hf@*~CaTa$7Yq3_MAj z0zD${zS3I~6RrDIcCLiO_VctD(LIbhk;)v2$y|c`%nwB!26J+ z@aqr%7NGiY5w|nMO2+q~N9KUX-D@JD*GJ&n?~CoPWfL7(YsSN1S*qZ$<7JAOTs5-S}RoJ|4R@=*n2Kq^joMjvM00ziv5!7jlM z>bfh-EeAP=GR5x8F?z))+akus2}Um0fh1XbRBtxY5#|V^R|#u^!!A{_944s56$J>d zoSCSd9tPu)lGf?wj5T(3Kv#X<%$8r8^N$Qt0D)z45_R42Ptn_4C@R;&{-sz?R0W0h z`l4$Z*nA9#`NgwidU#w}MW7jLjV4#go~OPhRF0h{H9;>b{kavSj-?G?(}D?An)+`( z(cKMh&8osCC}2N|Cv(;|XVBYu*JVyQ%CHwailXDuTVXr;=nZp8Nu^z1eew0J{7pY& zg$v%zXLcOx+m`X*3(M`nkPdPcU*7h|D}HF=EjJl{VhJZ{l|{-l81OBRn&3_Pg~vSu6NbMg$iE>5JSi*h1_>5 zlqlu6B#p9(OR;*bM1cCX8O8eFKJc8MaXusi9!`-T$?~g(-ly^hZS0d@HIq-Lp(gT3 z!&=mC?>zGS>LE;Z%M9T&Xn506*fL{C9Z@9V-b|9-y8HhQXs6L@EZA3}e;^Nw-oFYO za;p`lMUO`J953Mkv1^E+#4}^i`Kwj@{^kK|jr(p z@7xnYH#-8;KgciH>hf`Ni z)Fuyc-|&Y1#0Y%5&G19TT@wa?2gdYEHkC)%PbsG@M!ASES4;tUmcAAtLMf1OZaLt( z^L%I>k82gu3O6Uxnz3l4lIQhVUoEC%!&U;{LepETVOiX^^c_yLE|GUXQRU^)iya-2x@Q6)N9aKLEQX!ODx5Q*_>j zw=gbA%{iw)wv`7(rW&0)IihYI^_j@xoD`^O@QYzf%@|)QNitg1t>{{YkRh$kbl22H zk)@RpkegAn&k;oUS!o#_a>B2*fPaRHjJn(Aj-37gnv+>liY;*K-kF=SO9=OO=v*_} zgtK5s*yx;MVjrxmFgPu@!u!E?=QHm$q4E0~p;8sD%bR5- zeSi4#ntRsiiY1)EWS}?@w;7gR5&kmjb=Wyt-De-wg|4lTe70+|ibPhnFW{YsCEs(H z6a9kTbB||#NI`Ub?Mr9=#?-w=&!K_SkxIlbHQl{zWCZo*^xhJ&*fRm4H1o!BOm1K*!#Ub|et^44`^VC_ zd0Mgw@xh9-6Jaxom|@6@rs}Jc9z++rBF#5Hy7~o@R^novV%+-V{BqbdLy9C=!@*2z z8Dt9!|KYFuSjcZ*GVXPQFlEVuX`bqDgwBwASp8OYY~mo$za-}MeU z9nkPH>CGGx<4qIy)Y~`l^Cs~Z;?K1>?rniP8eqK22ur2fejo#=TooZ5NrS#LYIw{& zd?*bT1!MIf?#QD+3X%!tiBcQ2yp!KJ?tj2sZAI_hn)Tb!d3V@KJ5!K2ATq7tH8B=< zYDayRWj5;_oR!@H%BgirWENgLwKfA9^qFfM-z!Cn&4Zl%9XAJA`&18F;asD_zTyDe zQjQt~2nIG$Z4XG#5ZlJzqeJw{7B=lrMjZ8 zkM*`*Q4bn3GfZI@I^~q0?yS~AeT}|Z{n&Aao*mx~lecG1rE#_*E?!g992xk|;evUR zSGOKRTrR4u#zYM5P~-}7Cl=Y=%A#eUkq-8#AuhMbNU;R@vqz{XV zUH1E#-Y$F~H7w%l@Sagv}3is>OEPzc=Bow1r+r_q|i zX~Ljh=2;1R$pvonIC@2>89tizWVO6T6IoI{#+R#pC4k9m~ zBI7W}1kRCTgL1q7kxKbt^o8sxwIwlpa9pdxzGtqzRF;%waW70N!CXTe^HApfc?$-K zHxl=`_VF9lbL-efG_-0%nALRcp9>9z@H7=6I$2>b+d`nKz=aC0N40Gug&qa_YR7Oo z*3Eec@td*uNpE2D6obbJg$dzsNP zPFqiD>CtGBWl>S`<0uEZ$?GA0tO?hK74T>%C}HZVX4RI`outrwhsC&y-FmOUYPDO< z{@p8<8ZRJ^eUOBdJOW??4B8dFfLe|+_;0@K@Wq8Yw^Ljs59M}XJX&p*BHLvq&Z@!mU0vaM2v+MAp*A%?+s z#mUoY(f2p&Q@BxxVWHRzO8F`?zA7j%pYq-C7w`hbuhKoT4+2xbFQRgVVYvW&O5_TU zwM(^x@Cl`y2**j1kEM<}w(+pW77~f*DkeLWgK9neOTHMygzL!Q#`BN^XM78t5Ey(@ zQx_4nV8W>L^KDM{qFP!SA-x{lYIV zGSR>y-WfC+WFzV<=$8n?FS)Op z&^%FcaFWn8-DysHlla%GyX^EgtGmq&Lw#vDIzn3Y)6b4#r>L63?v;bj_R=DhA%j2& zDE#iYKjW>x0^!ZU3g)u)=P!jA30xO$qHDQ@5ab-O#lv+15`%i0a>55*p zX*J$^CJa}u>$wa{74|0`fWJADn`~iS<{Ar^VWy%RQXPkOF;N~c_Vd}u0k2L$C+4J=fnwE?H?pm75HQ@Di=71SvrP^we zD|U3y0ejmY3d2VBO+K4RRlZfE_S{{aWD>Yja+(#EPO#1nW%(rs2EMN7)2FM~#R_*}!hYneQ{x2lR`m_a~RsXA8=4z}J&P3g(fdW`3v6cMW_yBw%ZE>Wr9r){&B6tUgn&42nv zAuI#M#$**us=0`CWuq+B>zeK}C(VEMfO`YTQ@w8+h>;Jqstt(Ahv*ED zk->vIp>16fhY_Bm5n9lcX~-63hDhbwl@`CBgTBoYFMusT{?#6wxC37K^!XFKU0}ZY z>j=INWKkAfS*!mTa{u|aM^$~0cLQ}1AU`vFG_R)y-JlBSw~#ovKBNl58X@T42I_EAa8F_V6m(>h z!Y29JfT31cE8Ds4H8S0LFrcfP!#;2-Gng|`9`_0J`KDbQ{&uvUc0t)uC46!J8^)I9 zJvWM!`_t;j!2uA02iaJmlXh%P@8OhJht|emhJ-c9+`ZiI!hBwCquF%6Eu&08;Teal zyaJ8f2$M~Sr#k48p+8FzxlW0Hw69S-+Ix>YDS^RkmVMtox>WhOumSpemXMITz5_)7wVh$j=Np+gHN}IitBnk%?W|PaQ^Tb+lUUH zotPApHiT4w{cwxSM9)Ss9=2%3?F3yIN4-SrFFqQv50Jn9UG_)KC45I((92u%Z{4uB zM?KaLJk@M^Wx+npCEbLGd|DahqH9G0a#IC0=3-yX5vWN1DBkiz!a}Qp^mevJ4}CB8 zVwKvTnQTBdw+yF!+=QWnkkIY-T#a}4vWmzM0tjnE2OkPmcXOQ$Z1zBm4Tl($k3IQ$ zyc*$h5}cm*Z-!Bv%JT$~7cvH8>IK~g&X@Nx2D!8NPNHheiN#Tzx0*)86P3o=k`)BD z7-81cCQFtx*JzpXB~kl3TBI?0irx=GU5CO4A|PPOO{09daqbQ6>=ecLZ%6u2TlxC@ z5VF6g$q46<2?VPYal4n0GIL;JgYcTzZQ)RQA*i=eP2Zvp zW6BTZji0>YdOSIYdnRfgcw&}+ohyAvKc+%Q!SJ5F%)t+1J>PlXfnRR}lS`}>W|`g{qVT9IyHgbjPSZ!J|X z>{h?P&7z8@t`QD&T1X==$NQXBxWlFg2j060+z%W2`JOkgRw>1w?=#HY%uQjFzc z^0P&s-C~KMnhV=ap*Uw$SB|18rBh*xL%~&solzy-s|!UACPu|gETSqQI6F0Bai3^( zO!mupGHS)D)R|_RMEFqXaEZ$hVUT9_0U~&`lgj>ho&E_$<)@Sn3ocCW6y+(W<6Z=E z;L%BTh_*7}A|}HiCAZ+rh4smFBT&a@4!_wc;~1-Gq`0*;8}gFVbUFkIG>*IqAmY>J zVbbPh>{Ja6eLKY7;)Wf@O|jU@w+cLxsrw2Rm1#2XdXtq*cgmY)E+T`K$P3`u$O2 z*R;>W4sGL?W<~|LOy9^{SrM6keqmLc5@;;-lnNQj10v&?1c7*Af1FIM7C#49Bt zP435bzTHcPcc&jN61pKO^ohd_e*bmfnNKCFIC}-j7(HQ686N8)cfuE+WH{nV-KGcd119xj< z1&&(r(xrsY(ca2qbrhksFKw1U7>58@A`@i+#ikECbFKL3EyfylSeVS|%{7sj8Gq%FPg6X2K;n8aMVNH1di@9?&DiVpYA~`= zU2GCQ;5o<$+Ud|NS<*cnW#43euW5;2)I<+cLo?B1d(0#84FIiD_XYqhtvnw(2g3S$ z#8aJS7)LXMHjwn6Tm$cWr_AHHbSma=F3fdFtW-GZr%{{fTZpZAKIj;)D&QoOHd=Fy z`%mC7(bvkTv_}w=x<(&ST~hLeNNP_YPz-4+oBFD^UusFy3)+N&0l`h@g|bjTBT2)f z36+ED`%wEM25R-4o#KEnl?9cmYoe`OnPCtp9GZ!N4j4Rm=%e5|W~!ai0o}zhNfJ?^ z7u_zq@7`V4aRfbw-Vv}K27tYGqIu8}f+A$~niIbw+d>*ct0#Xhmjz+OMe*g#(4_iv zYtj#AfPZhHf1Ax-CDYMfV_e=f|9)dnSRLn*R7HB*@rj_|5eo30jtU&b$)?D6$DmjB zV%h9sm?nGhq|vZWpI9eskhbKeaQ#AR*5PpT;WdDoOGRz)j))Lnoo5J8NlBk$32fV= zms{qEO_!r$0O6>2s2q4$j(@GK$5^u8c&h)|5KI!qN@ubqc0>TeocA74BlVKMfDhzH z4K0m8#*k@2SO!w-jXp>&AfwRRLJ-5LcRfgV1&FipUH#aI#DYc$R*67mN@p2^G|zS- zd}_rae@kd>B$j5CgKa%c4MbztxuhjjqN1p17U*ui_#3ooA_9U@V7dn_|WO=3%cCw{NZa8p}cJDEjH(gUJ(A% zb{@>QEYUwa;)e;cTmB>LmYn6~93s?fM9mMu*Fxns<1eQ(BQR@40e*H7m*I{XFyFg%D4AH-;c4#xUbuu`8y3Ak7Ax;@pB87 z8@nyb1{}SUSy7cPvGIbQE3fL8589WqQM?ee(MHKdK5g@*v^{rY7k(|<6tw_IEYjoc zRkm^xE8vv=$tkZ}qbKj)ke@@*v#&nKwiV}4QGj-B)VTEA6<*(4;()#OVX8~J7%;8C zC4Jn4HoOAgkSToTtFh4KVc1z`hrk}IP|%i*w?zcml--Xp z*>IjCff^%3ON8{*+?`~NMr}<%Kn(H(yXG8 zjKdr2sM<26^s;%cAtZ`@9+ed+P2eVKOrhxeW~kq|<~WxMXsVNa<`jB5vt_h4(#tDN<*ES$!LzW zC9?gP&w8kS7D~UI0dF?~cEu3=r20DD{p;XT+n4ut)?EOE2J_OEV~Ci~D+P3W15rDs zKetgY@)_;r*nYq6X#X}f`a`<>$2ih@(MPd>&rF{j#UGx)m4FIP5nP&X$~M>~0?Ue4 z%=(L1l~TW3G#`N10Wf7z56!Gj z9k_D=uz9nC?wjlT$jqu77UVz?*H#ZZW+B9|h_$*xmzxM7Ccod1z`jAe3l*4L!D~LBeayox7 z|CB>aLWPwJy|F^2l;LJV^5-@rcsdLKDq{kW}>n0xtq!fTC9b$W1U5Ac$lso)=Kq>Ss-a z85#}>x=p=$IJt<59!TLGi_9mT**sb!y$)kcy-rHXNKC`zxKr>T=|D^edN!6N|A=Q3 zn^xv(lgjn>t^As7dJ(P_bg3d@{&Udb;^Y0^zwt)EtU=m|63XC(%I0-rYK4g_+>5RR zV_tO+TrB->{^+_=jRuQoSaFJ(>k!V|{Af)NX%bn-7OUu-2=EjjA%cyrBr7Kx8wAyB z(l9by=d{lqlV;@y)&Mz;EYr|>x61l6n#9#DR?}aZ9RffoX+p%&gWV!LT}f!g2@lY` zm%eo_W}9XhPAn9(=80p!NY>nw?%5lBfzhX>HFl!o7{N5WM|7^{T%ERmDR!edw!G-8zRj{~F~s`EJuIfJguKjm1Zq%xYco!t!MRN`h0*{e|Fxzn z9bvu%{(u%fn4!P|<{-fo*Z?Ezx2+h&BiQhw~fWj5{?Isp3<> z-uwGKyIxluXZi>?TDHR`+R~r5hci$YX(9jNPvr}+;Ir}s^F7MpQCJcM)baWsCNwId z(K#I?!6XeEC833)<=9ZUm%vnp3P6GGfX@!IknzPbw+p^xGzO!vU689dYBhp@2Lh1Y zJjh|L6A7L&uy3I6vgqerIYp!9z3{CJaebwft~{B6lLJpI`khRbb#c9tt`gaO9NHO? z6A4Xte~vN&o|lI2V7<@G0YV>Y)*Zu?sw+fkn;kRv!6h0!god2436MXtUQ~XN{mWh$ zDW^lNm-^Yan(a(Njpye%S}RUF9qm7ub46p#*3CB3=d@2n#5_ftDJo)7mdH~5?n&dV zy!93A*z&lezjeV7>1_`&=84j6K4|UZmpI+}NDfzgM;ga(&ct`{>a#HCXv5O49y4Pp z5EPx-u8L=~p;m~r{eZZ_vyk*~1YSDqG44~s#S;z_GBBkY0~H=aF7u4_?|ry`=hE4P zv*SepCT8LO+D|xgBb186zcU3yHKV^O);lB*qn>cXU@`m|oZe-4%#*7mlHG4CD#3|>Zr?>e?Zo$Hrfs(cxqRmDu2N5%0 zt@|0--&rgHL6O@xChu=!iq)NjCx}NGJa{xGLaF{%k#O9wuGiDb?dbef6RLPO#@j!- z_m|DG@qQOx5ZEvtU=%s$v{K4bf`X^?a~EVEK2T z#@5!f0h5DhG2n)@$y5xW!N5Sta=bV|9mhRR%i_K}D@y-V#`=+tBxB@Z)L=9wd{ zvXkzIj@w=ixUsD*zDvij%3cjw#ZSzQOymKduh?ZwOM}>HsFWn!SY#_J(~o_CI27Dc z2RgZuF==iZITGwECpM{)+Q35kWrhKEfCe+}@5ay?QSsJte42JEE(8Y4W4KVB{30nh zQ;h8v?87A_M}V&7W5y-AlV!DVH2wT%wvpr@*zVv$0e z3`KV-TXql;4NY>hRi#(}EiQ91uK7zQWUIGkoiFWVkko}g$_(Z(r4V|@HH%|%^sG65IZGMQkRmHi0f=*>lz zgMDKUK~!sid+Q%YDj z8hx~61VB63U%eCyBlttR)9<((1|5v+9Dk)1JgX9_<-zI=pP0V!+c2aT!+|JG`IhI@ zsn~Ax{nk#5dZYzdt|fk>6R%zz>OKQGG_?40S6Ge;Rz!u(tJH$|wv0{g*IjIinrpXc zR`qFl9XD6bkf~V9r9sP#ll?SRjOk=?mm2CV^BzWEtipl@JRQ$d0(${h%zWy86_5KP zxDJ?V8fx{Bwa!+w`R~Q*f?B*&%~I6;H$WnFL5!X~cheJ)HG3l}XiuGcfEnxdzz^5S zEDFvGmKP8UbWP8-=0OZ)T{nu+-)YfL4ECF|`Cep00=k(bvQG74z4rU1)WKScj2UZ0 zX=#k}!;BY^o|rm(b*osV#YFqesaW}L;vuSlRHld`By|%BHmNnIqjb(p$1{+M9r+C96&c%sjVO># z{WY`RnQ4jsM*?3B)nh`*5bG4H17jHnXa5rAouwDba;fP?vj-mIh}@bN>Sgf5JQ70mJzCbK&0C_E#pFtvK` z_oz+c|D;D%l zARH3tZxe{>Ab) zJ9 zstpBQE{ip<3FY|D6mNzCRGWuFUSuYW(&gx~i5`+`p-P#8P2Tohr{~`G^Hc=zL`0IC z+=X~1E$40@g*;jp=nayw`i&mKE@rxiME&mFfZZk=jO4*=FS%PBdpoH1zFY1|#$z(> z5)Bj-8gPEP}2@}1i7r%a}vXSf*vT5xk z=4|(Rj7;6m6h9Ww48Gl9Vx?#}1*l1fYZr;XkfIh|z`}1s(qnT;Qljgt=y+(6lx}Y8 z8H2%aUtaO;WQL*m3@_g9WT5SSqa?CA_p0sja>UK6Vd+N@84aKa*=->{)r!R`T5|gM zLi2Lp_bVicI>0D_=}B+aM1(Ed$%glbtM=?<2Z!sH#BI@Vugp?$bGV72G%{Q!$FOGqfoJ7rdfPrQ@T)i-g$HA{ZU|X zs4=-tV!n`xlVc~F?b~$rS;CIri*pa}%j})lhCSoAa}5qYTh3^QH3tW#Z@t}gM?en` z&X{{kow`m1R~}!xu(h_jkM}l5!b35(ICgt(GR!QKABOtVe};JhWk*bpnCC0!D6U_5!Ud7nKA=OkNr%Ye5R0JYAPuw~*1d?p?=S1zk8) zN#35W3yhfqy<`#}6lZ^ARNLB(xPV#CZMzaX)zV=OY@00`zenxgq&iT%Jk4)@KXP81 z^zcsm8ZTklJrgU}FRR0)+c$`JLa5sAN{SZvw@nHeF zcAY#w`$+62;N&J! zVWbR1_|esYdzOej6>i_8djT|EHCva9Y?gyvz-itGY4Di% z%-V!Z`0p)Kth{;7tb=btg1>KF?nV!xehW_L=GH#2WJz=0XCnTRzz+a!Fl5Q7J^H^K zq_Lu$H}@}!SUVNOxybJ@W_d338^y*~l_s#(tsCL>>I49VVi=q^CH90!`Y+*T?MhRD z7+Fcc;=Y1rSHFJLRbMFhVWC?%-FeOdXfBkLK#mPgv#LZp&G zD;2?PZ5IUljYSkrygW*P`$A5fwe*X=lnq6rNCYY=OM4t`Dh45tM7Lq`mtu>`rf959 zl|Pilf@1M8@va4*3@E~kwH^V5AvtW_dHr>mhFecNsIjA% z7OLY(b{*oP?^cF80@gYwFd~&+tmkQzJNzs(iU&@K(aM^xd@cb;$tkCtZlnMa_8M2$ zlzqP+J5trTTag7gEwYBH1*az+HEGqpkdk47JhrccddfhT8XFdo1}_D&8&&$9aX45V zYN(2hhH{$ET!OJEV#50YP1-W+Bs64|oUjK!OOT_P(Daq<<&geW0+l7oVIp>91v-|Tgu zhKeJT5AP{icwA^eFI(vDW;!HCo<*Z_5OY3tn$0sA8%Oo+Ya?V?vE^)S&q9=OsCccp z_`{*uIQV*88Jj!G1-n-jEB|+4nq&>>6%q{*Tyhch@hJEjv>Z3|0FvG8@6O?`HL5t) zRC>vk5q9jrxLmLrO3h zrGcP<7?YHN3GXb|xtkW$-KR>Ac}SF|&^Q+Sceqgj*ufl%PL^~hy)v{AMqkgRX$r?m zc9BwOAoB7XU0n1#f3%hiEDrKlEeV>hb}6pO71iLa104#J-=xKG5|WUGQ^>#DC0&?QP!8J;XBi`hnw@Pdq9O~` zN;ZnlpwzbwDATV}o+0Nx_!aX^Z{y5PK)Z?*tGcgZMIdS_%8`dm0Z2azy`!-WYbFb! zpdco&8l#~mt#EHhrIs#As|1TJ6ym5U*as+P0TZN4W0##vsPpCm{4mwGNC=c!OI*-p zkW)A%!R63N!pF(Q(P*YrBcP;dgEt8mO-c0#YeZDBXu&H(6$_Zr1a9nA*@~1A=@V@> z=s$;?q$;y4U6iDoO-_1cEECzU?IuUuftp+Jml6s``n!*tsJJHKv4ZSCwv;=@J^8W> z5UQE1!Z{Ap0-=J2>x;Uxi~7lS_qf>de! zujKMQDsip47CYaCjL8iRPc+RjSQ$N?U}&i*6I&Q9uG6T*9MG9Fvxd z5K*M@SQktvN)?3Oa3$O$0;eIVY%)%6zr&m%T1%)ERw`b21FLe`o zhP5;}3XD-+%*elGnO8kw2wapLHil1{8l9|QgJ@LY%3$sO%H>0At1QUDtBhMK?8nBd zMx)tBgKdDir11+q1_j+q8A^sinmk-wRqv=f@Qiz6Oa+-s%9;{$a7sc2{j?HpPFBho zW>_mD7dDu$DmHNDxO{uEP<-MW__lDj`)1cu z7IFXF>3G)EwlE@xwGeam?r+5<_1f8S@_fkS;tuo&%*;IY)z@kPtL9gt$?Cr_o;@`Z zv{rPi3Dj*bzggwXuvpRu(&|8jaLIKB~KD-r2CW6}>XItTLLW^BkTU{Mfhp(WjlO;Dbq#~mA zXP1Y(=hv6K(tHF(x0x@RQyN%D(R(DO?#@oitnVtuaUQ3%NS(dcqb4&Hh zV;9j%+iT!8!SLhiAE}=72gN2Nq%xKOd|yr_{EYk7i^MQeGYkvn#ePh9Y< z(d7-~@%70bcI;fL^tDRc$+?;ddyvKcb84Ubu(O;1?(qT)8W`amSPS>Qbtdm&+;H~b zwA(o7e3vfMzRn53x2!uI`4iyB;`y_5Yy*T}s+5D6N2}jWyv@^3)hNI7O0UbhS~YTi zf1;MF<=d}y!EDH}(OEZAD`fhyY9c=k+S>j4ge!1SlWI!t4*#+qTCuevy7xy8miI9) zD@z$^>L!qyKxQfTu6NxMOW*Q{M9!J9hU2I;<&+;_=rz5DQTFcXw72J(R`-GQFE41@ z&k4XfMB9%RKo>+?`8)sy0wj|PI04yg1CZMa#sDM`ZJ0%Xa#Uca*4$((1Q?hW0vH(T ze=?mc9Ua`%O-$`9{*~&KBImHdj2!j|02jeZcE%%Y77r5Lx<%cmP-8ElJ@?o}&^5HC{d&H^v?o$Y7BIu_J# zOIJ#Av334&@6m);O-x_ydI)PDG1p3v3Bqq=b?hh9sPrjnN-PLajMK%gn2d`Uy1qrT zGKc*&>bmG?a{>ffiTo7(BYzmRBeMz+a*#R=C>oiu%{8Qs!;=CRpRd>8_Z8a>au6?& zgwk^hTV@DW!8}WB!6DmZpujr%w$ofUu=zYR!q=Vf!E!*4KJ}FSEUcU7 z>RJ_K>k~7gM@~*NjF0p!IzyA3i|HkP+>2Nl4dNt4X@>$)e7wW3r$8;0nCdjWD$21< zy1f!f>yvM3g|1C1m3Z9HmfXZK$&kNNN0YXes#4ljj7#nUwCeZTM~8*r*zWEf zpN;3o+n$;I#E2MczLueZdLMspQp3mqfeYaSNB&pYh=QvDu#DxjF3qnySifv>^x<+; z@coK!rMD<0H=NaFo%pnVr$UrZ+jc=6!|Z42&w&H^OUBe1b1I$kuGpI=?d( zDZw;65>>L0DV+#@HNd*}f3lxJ-5_;te(9*>_qD9_Fqt{KaH3LLB&;0lxeLbhxo5d8 zqkMk4YwiT}K>#q>YCj^Ix1{_qlpbaW;*R%P) z8Obo4(qO9#4o{ξ2AvBpoMB0aLuy)d)!~QxFP|;FBqj>hnO_K5m46oZ>kxyVw6y z;!FmA)6o!VxYU|bVOeM39nOI1aN>`anf-b-c><|cQqeGKRCex!^3z*hFL8qqVWzSi z41}%LD=O@}+?`rc1Tgn#2lQ&P<*nqC^@@n7aFK$PqJm`y-|e<;+CKA+R}}J#@%xBG z`>$B&`wM0IJH$c?*dxAWm=*%3tICZd6?3i}i{o3f)i;~`LS)oSG69;IwXL_)M06Ut zI@7eFbB`fxr8*w7-i-^%+i%A1o4kSw~FDPvz z7z9v(1LGE$k$cFlkrFTUsKDXXYqiShnqiFTIJ$f}r;A&p?Iv<-TKxp}%<=Spi7Ps8 z%jf2O8{U2PK8_{}waPYVvQcS-sP?F7c;V=B6g2WTmJqklTjKj->k&L!dvK;@ikBT8 z2yH5Y%2~SxK3B&b{|puq^+i^1+>H?do(94953qCEs@?h78Z5e-ae^ZJ8(>4!_u!id zCrxeK-`>KSg)t*PE5+QqVk_gT9?^uI`MkG6cWzk0rb6fP=V1imv&X@i#MMdxah)%M z;Md2Za?X{R`K$Qq%D5HZ8!Lqvp=MyO$6mIrzAqX)EgkKbgY+Ez6w$7G>dJ4!T+a;Nbsn zVCOTl82P`1pLb(Cpps8{$x#gd9*DXy$b9v)p+Xp$@V}HVqW@;;W@TY-!St^y$a(cM zq_434In!4eko7u100K`bxi=XL)VmIVPFn|%L-L3LKve4hO8o!p!uv00k|@yG`seGb z-Ui@84yOV@a}%Fjw?EMWC~xz#DL)+mnriu6i{;JFrcXeD2$J6UTrs^Y02ru!9zY19 z-TCbJ#2AQ(|K$n>W|{+X+5k}egFA2`<#GX_{IO5I+5hnU#2?6?pyNNqFCP@J2_V7$ zzkuXF{a|3^O(2LZ067T%b3hRAt)PaDe-PVzS?(ZcbPGWCugwT_`AG|5JOYB*{?rK9agfCJCwIhu zM6FK#k8q)XMliqg+2TA6`m+PT0(q@|zL`ItlZB9;1;OtCWWg0d1^;x|eNutUwmv)5 n7eTj_DEX@pm!>WVBzm$Uh4>j}E7A6A)1V1)H1TAwOLt$RBmqjDSFfz-MbX;d;48XSI5m$ zK(lxK+ms_F2Ce2k0L`WFeyvX6bSX2I=260^5z1K}`Gnj*T={oheV%TIP13s$L?^}(zK0^QrT%?uq2z{L71m9zdPC|M^A57$4%?#nqt@9 zk8Ft6esU=TuiQY)7G`w+~V&I#Po-@2Vp9vpG}KyY^{8Ln%z zxl*XjD&iTrb@eREH|nX*zGlOJn6(qq?ui;b(qAf@ z%CJG9hTTUwb8iCxOk#mk2{n`UXYL!fv;!kL9@(;smh$b(5twp#{blB9h-JR%4azZ* z0y-t&`l;&q9r4)+=jfygZ)SKJ$%ngEzg)pS^IKb z{j&uc4pR#ivlY`0o(;eCzPEP`Svk{>d#n$&RS$bFS=0}vy>Q-|@=o@(d3j)a z%X$;z^F8Lr-%cTW3SXG7enGF@#*-u{j`@`X^AY#yx2yEt=aU|>1ZizIEWfAjO6F*w z2V)t$5?py$A9*%~DXCoDFSqTbwQ??&GC{Te7t=%x{Hfx=306q$#oZqBYweycWvI_n zKs>nOyZ5Z1H-WYxGZe9{(OpA0ACszjl?@}UoDHoKZbEoLu-0mOu1i*U^x+rA*{yGm z4lTmTluR?l_^1>97RLxw@LBIeXr=+6jcjt@-Tr5x_A`ZOrT1=6Z_M2J!}rF`a#vV< zeDo3g4wG>!35(rv?4Ig#80m^A)WO^*FD@H9N@Q_#t#^|Z{AaR`s>K8JlV(>@;u?2; zeMNeL4w^vaEo9d4glPquaMa9ZqXO_epj- zJI^k>I1-5@6;J1dDSH3pg|S@49LKlBHo^HCM!5c{jlzSs$2@OtfZZH^Vavcc)(~Rv zY2pp!mNJDqwRTq!o*EeQx5ELBJH{^NY@<8Twd7OI_iT0|eykpBztj`Oe;lR69HW;! zK-W0PZq0ADmM}-jFSzt{EXZdRz4>l;8VF~haBzr|4D{uH*liH13SvZgWmJg;(^qCr zd;7nVj;}2AJkg}4R3>y~O*Wfb6xrW-T5wJrn$^3>S(~meL2dtPE7bycVV&>yv!K-M zGI`I>82S6YA(StRWNB8Nq{|zN3(EdlW7HntI3%^nZ?qz^>re{_!i*ykBx+(d-9Fsm z?eK3WtYIIuwD#?qbfzTQH~(QbqvhFwA5vS``8P0%@?OMKN=}MFwA<<@A2T!iPYv%c z@BKiP?n*h|!?E7>_ff6qj}wU^T2mOCT!cUaV&8Ye39DyY~^(nn>f@a9ZFA68Fk zIlCpH<2#bG;O-Oof-G7l`uj#h zxmCul!AaPD=j}xF>i|3z7baUfa9JAOJgS)}&w8VIcLJ=!RA3dM0{6{Ho>U3}(z+&* zKNi7E$46kSqGb$lT%-FH&r4E_AD{P2+PYR@!XQn@N#^ca@tT#9GZ^sA*?PTkce4EQ z`9SvS+1-ZTMY>xoV>0}Dm}RDWUlqiLgTh_?DcMManQ!7FpzFe%tr54I8(j>^6HUdSi8!LT$UrmrjA!`xR1Zf!xqtD+aEz-f2lXL|zBiws;R%2~bBOC|EcU$mnmz!3= z5%Fwm=~__Lo%VqDfFi`$HgD-1fiBNsE75*o5mBp3A}?{CSJmxkjH8CuqAs4HZVuS#iXo-=MnJ5hH_ zv}j6rBwXi$S{7HI{e|G>?_ps~-g#N;i4$7YQB5jA@1>$Y6I(TGU*+|Tc{w-lNM3sI z{X<<88apJAz38T6vulnOgo55Mwx;_cSvDRpX5a}lN0D?DBX<-C9N&8n<4J?IjEYVb z)zho?_Q?{&I#1kFS&tT|5p8K$*0z0e`eEZ~G+rBUi|kFebpah{1alYa3VyV^pGF)o zC8~C0$oDDi<8fT{3;}i4E%+ExrlF)V7~68W#E2D;8bZHh1z&_QSsHG!yp3sSGNKD$ zX&N`h9`LMCY`Jt}e#pq%`Aj1Ldz0B&9ZdB;R5(Vhb+>#aGYqo>4WPG#HN0hd1BE5g%(y73|Nm^SX;#c@`jkJ)W`HP z#~^BA5vsa88Yj9~`8h_;R?PBc<`NK+w7tDh^QP>^MH}RXEv8j`tmfYR(UN9EGt_r@ zQX}{|73BB6=)bBirsWVbW}oCrIx3zp+^FD`(AW7*_2-+LrN@AtC>V^ElDg5u=TSYf zgnki(m3L|TLQx-kuw99{R0$gJyX%C$7D-3Kh*dI$j5lT?rDgzYPfBhmjDP zkJ9P>u5we5-jL5j^vZiT3MyGf>=#Y>_6YZg=Qd0lUdhzuCrrG+u;e)B4XYuiY9zvP z;&0+Q8P(-z;o8^k2ZyP|nyqTVdH1a${Rs~R_gZr|78_`tcw-SP+z4=Aj7W=6@ zAHqtcIta;PC|XVFw%D$WqBbCqH0=U5AD+r)8RwHcbj9uLJs2*94eB9h)RGK>O2FMx zqoHA(zt5no($KJIVSa@w#T_xfb*NBgp))pAV-I>d%?oKT@NKmI->fafgpu?W&&aN9 z-mb0qzGUCTeAF&QVBBf>{LzFEP=RrqVX6#$86Enhod2!A#qq8Dmln{h$(vAND~%im zZq@{&i#tT$ieR2vT&hj!lr?Hn8-~8b$v%Pemrjc0qtHLqBSVjZfm;eQ1-xWcAQ3q} zqVrlBd#gm~4N}WaD$Kf6nEF?6>Wr$RM;n|`rHnYXriZ$ZRY}BSlZMD#5DZAw113x} z%?OmYr~)M%Ms=0Mcp?zbZaT(WuQwT=Ig3wPOod?GjZNdbjX^B>#R$r$fE<>ma z9dRNa(Pxyt7GE!!39?fh#mkwK0>T_!KnbogOK)d-$4}6wTyJB~9d-BXz)+G168g7Y z@@ISE=tmzyM~;(89{;a^8%yeiPQ)uH%AV~D)5Hycp357A7y?LyL);W|`sVUJd;TJN zpJUFu%@C8wmpb^Tzz>08*6O~Ki!q=}x8Ag$eR+OLXC0k~O~KMaZ1;msb>A<%*Ph@E z-iGg9Vsr9zJ-UoBcBEry%9d7P&gy%+mx8hmF!z(8>R>n-OV+^ePnVYw?U?f;wpr_E ze1b3r2D>O(hbQ32yq~MK0HTKT@6uQpSH+&hP_Pe#HS_V=TaI#n-8^e7 zQ4|SlY%HF2a(m;g=p=B1jH-g)x!h{olbXN#VNxd8|G8uLh~IxV%Jb7Qhf!t4eTkkY zErB;wwitNmNsk>!Q*JBU%^2Wijm#anshzt%y0@yy=2I{cY|unXpfI~P{nQy5yF1?J z&P2GM=73Wlr40AVZr(j-XRgx{h`yiZrPy^B;1gI9c)pyP+>hk=4f%!ZQ!WjqyMnsJ z8=-8N5hpU~rY3O*5ozw%Q_7rc#bB1k7h2XgL<~6pgv#-lm=vefP>oApw#$h8CNW%c z9~5F~5_g1{8KwS07%o2y6V#G*X}z2(6N=*`Uq#e>Z&8x$t6yeZ-NME~fq_Sfp&PDo z%)DN!%6#L@r!A%&wm!DB%z3%TuHG6;%il555iQ$%5Imi%nF8P8iGSj1MssAga@3IY zP6k|WTowm)=Z9IpZg%HBdylbx2|G9u&lzP|RGK?KGkuqsZ&i7Y-V(V??ynjCJ5U}! zV4N!I!5jReX_D|AA3E>(E)TfnZ8$0|rn5KNcd_A|q>bj|`qoJnFATfvI(kj3vZ?ih z-t|TUz1{xV0B!dMx2J}Ie#Zz4^EAYxp$^dEqzD@Ua@#4MCaDIp5pz_K7nCok=&UeM3%$v;wP$nxsaZ(3+6f>G+Q!K<3WN5rMH3f`f~ z_axF;9);`(xjgc!Zey9oaK04XQe_g#kq$bX5H(O*zPb?h3`G-Ti9aM&Y2BTvl;B3b%>CkN7d>#X#5WhD$J|C2er)VX(&} zcMv4wnz5mSN%D;zf>|a%=^p1&F_B#&Qrv<5LBpQ3_g;HZ%^1^8v3^uBJYX1jf;YIQFPjLF^S;o-)B; zSmCv>n*+a9MT3zz^pv#wywd;Fy*sAqSU#G-DFs<~1)$R|kFVJjhaNr-6|ZkuK3qQq z`@alkKE8a>sm}fWrW5L?S!++zUnvH+G9=mgA@Apzy~i_Ej|BWZ@Leq`&Cz6$R1Fzh z^RyT>MYE@z1QZLF7Pw+uj7zUI^+Hf3o^C9r2d6tUD7qu|k= zNg9&wX=L+n3;ZVnY11vRYl_L>%#_Hge>@mJ6t7|A3Un!YUtj(Se)C#WCP8qrn{C$j ziKE#YJV3 zlYmo_AghkDC(eb8?2r~>YtXVvi#%@5*b}yL13A%lmV-v5a1F>#R+B-paUJiL?*u>mlUBVsI30aiB{W#k4P1=B(iei@;#D4Wde zr|s+bKqMOklv5JX$I+{)gVq?g4-`>5Rk903vGMHY+m$Fx=6)rkF;Av zVOa{)0ga06LXY+Da&J3E5kHl)ZF5Sy7eB5WfjDVm>Fov^>5^Me?&IHoa|Z8n+J3cs zTeSI!B)Lw}m*$aY=~|kf(_0h+R65 zzqj0&qj3>T?=6-IX{F1`O**^>hve26#f8WdD)j6Q!>mTxA<<@k_jfeTX~SVFugP#J zD#x)$iR4dS0oW$2`}Be%|4d4Q-YTl-8eks<#oGnyj-TR)o_hPpOMCl`Ygh)wB9ik# z9fN_7Xfq36}2RdzhnECV9f!D11a5J2z!Mg^E+E9p}x@gJ6}U|03qN5 z8|Hh*S$$;2Bc>hS3Ezon1iR|$5Aa=iNO9G__PBcS2!K5Wkqj8f8b9^N32fYTi4OX^ zA#uA{{F$^O^FZDB&MbC$R0&gsTI@Hks-i~X6L-G|H0_^RbSgUp{ZZaDH5=~!*rV2( zzr?cTxY9H1%^BFH8C@M-JKwu-clKD_yBLe+8u?3se!Xii9J2pNve){Jy&}#KH^3T`@upUt!epq&>+w*Qb;)M z-U$|uqwBC|cQqJ)VTJ#&Dl72fy3d;~xUL>lqu;(?-PaSm9+K*k4`Cch9gLP(Kq9_V zmcvnEVg$xH0fZtBSas1@4Q|>o; zfrbo%L&Forz!Mxj($G*E%Hq<@3eT=PdWPO+4Z}n2N5`gH$7!#sLKC@AS<-+_wwYK= zWQ90f(v>3W=GFqY!SOayE= z6fq-*Uu&*=3jHZNN-T!8QBj|^SngEc@CRAVG{PV<%TDb2SVu&`67PkB-24D?=E(yc1vHeg%i?8frdzFatk#SfPTBeGgL-@r_HSf)f%6 z3S5}D-EbvhDClEI!+sHZuRB@!LO27RUOip4VM0k^!u7A!ouFY}0kY{T6;K zG;1J6=~HYwr>ai5;cyT;TkMVfkcqOY1kaUW3$aGv3BU{_n?Can`wLyV-Yc{5Ydsv3 zd+2>~YreYS-L>!<;kSH@6*?d)_v|~pj%uUe)cLn~&Mo*HiT*nW@d;=;3{n@p&B)mR zNcptGBnkLp<&j#a2~ROXwO}1o0DCETa7A45feOkPa7M3028&7`eyubV_2cEIu66Qo4b*Ru88I@(@l>{C$Kv?PYIb< zCTlzjVphVecINrtf8fOOmd%Go_%pefX4~CyjRak;dP{1u{>$yL>7#w#B^LFcZs4aC4FfC()Jo^5NkW|A?pQq$ z!~8Rd33LugvWfj^y?JN|$*NUYy1o)S7zCk&F%}0wY!;cNIy5^TBv=)1@wsy`{LJ)d zQX!)?OFa8!a{9hh?*33Gv>q+3krN%qD5k*!qI31O3kPW3KzcXO5W9xP9O50OhStWuhF);GFf#9Tx2mH<|FtSxZ;b0Dwcv3B86$w3tU!Ze`Slb?>^ zD-#<^z+;gFSDXky`!r~52_1xWz#_!RYTOAIh*3m{`xDcNWMLrq^{uPiqax7Wf5r8oLe%PY5VFL)5*5opbfI-TwhI)D$H@@!21%qf0NcvuUQ|-E#_`2FAn`ae_bGU00KX> z-OH9n4=zY#(R?b5Ka1nvg1*B()_ApY4Z-yuFDIamaN{X>uJ!9a;7l4|O~UdVpL|1x zz#^^7WGG9xGkPJC*ePTp5-YOLp3Vr0fxv8}pd12Ep`~~OL`OUe_@O{RaPUDukpFjm z-OAk9%-n_LzvXo;d&dn<qlGjWuS?Dcxt&qVCQk|D^ycmdTfz zqXDwypE;<0B}7goy}h3=Wu6I(?8dlODK@WKBbq)F-aH(!v-h20`PSP=E$hwg;pa~hq$*qu~){4^PH_i zMTy_O5&tf*M<~ciDex1m!v$%#1O=@EO$Iy(7ud4zWLcuVKzC4YF1}B)1%SvcIvOcS5Y8Au=rD-vl2egENC>0l@JWY= z)ZR0YE$RRZXYgmLC5F8^2ssJ5nCYGDfAfwp9NpHiH)tLp<60pp^>n6pFiy^s1ybVp2NI!7>$aFH6O-@^7e z@F*e0oLc{Cm!9IR;{Nc%1@Q&h8TC3apEnBS2uJZO)7>#6OHdCf>LPV&n5kPC!+%bd zLn2NC6)Jc0@aCT0tU(rB#&I9WyU(h`9GRSQVZVjvHO)5cbcpg!1rKzoP5GZhaXU|s|s_+1-1X55f3#)bBrk8?H$Yg)f$HJV&#ikS z<^9YL=yZz0_8=~!^6s{DbJ}3Z!IndQt_z=@O%kraoFMedor5bGr1y5{_#j=pi|-65 zqWOXG1i!CHn*=!EnnAIOgnV!b|_+Y7Q8&WgG!_B>M=mtb)= zGL6|%O<$R-tBRsf9f5j&lhbe%Mijh9H};2*4>5~#ZtT~KvV=H48;I*I~n*>k!Qr#j>3^{-bU767c2w?tjK8O9fB zhvz3VgPpa!Z^A6r-6Jf9l@+A7?s1b;DYL#eYHVn54)a6iCSff&ZRzI&5W#SN zH|;U+7zT9|3sd(DJpdwX+C_Q;mQ0$9Kw_)TBs^R}HF-!c3DAOH_98{-NeFrB6c?oe zMohI|>*~Hr@NJ4s40smjKsasMDF}kjVnYdJjb>320k_13wp$;1^OsI5EFA|ai!!$T zPtSbIL)uB#dj0v8-{@FR*iOXg4Azj5P1(__4CWEF9^7oxvViaRD1NrAHjBEPDaK7B z)Xd2~j?KB~>XYob@aIhpQbeU5>c$ZoQ@XmX)o1fyf$(982PqrG7Tyt}e3&jyW%I2Y13c2&v8BQU7eNA&>;NRfT zi-qSA$0{qPQ-Q2F9YfAt!PS)aBG>ewB5raVDU?7Hs3Un$D~iT2tTRn;|B)p5cfym9ryk>uIZ zWWScYRP&n?p9RG9m5F%F(T8Ho!Ig~NHlN#yg9D%2S)dIkj-;SszBCWN)l&NoNzlWi zk$)r6vOm8y9Bu03P$l5uzSRBBNw-+>nZ#ljcO2tukH** z)N*0N z2ri(v$7GPg9Dl|UYB$j;)ymLZ=$(VfRuk%P7sTThWh0s4Higdd$Z^cj=e2a9Vnlp@tBRrkvaIAq9~U1(Bft0M=R%2~K?vcbxFAc>4_mgpVO((GNlZ*lUaVxb`iN zF{j$bl#c27z2uj}W;yfm?Kry^(5q$q&i*myk$sNit3J(`HC?FNlI^+LXt&wCxaq*8Ff?BC+!kH5ReGJ{0kA zcE1H))nn9&q~Gh8bwhC>kJjSfY84)Y-ei!AZO3&Sc4!%zw-O)@*b=q2QHd{VHv>L1 z?XSFG?`&W`^M3EVxQ|l%(H7s!78!fv;{ys8^B^bhuT76|f)1~$q@0}hOkcU=0SQ~J z_{q0gGS7wiW%gFW^EV%_hOsDZVlk45AA#V8fvW)Pn@)|KfM`Qx}OTlBqz zCfi4Tzz;=r+f5cO5$R5UJD`1~4A$40*&Q8Mue``_zIF2GvUn)_#(5bX^+^8BcAsnV z+H>$X>af4r2RQyaCit|4&Wj{#XKTVnDf>ekS@VZ<%q2rn_4;LY%XQ~x=XCPLm7;ES zcc-n7&d(ZP^a$aH>xL(iFAuP>BrCHBEOc}hykK?988B@nXLliOa(kRR616^&p9_|b zr!eGCXGF&xI{7^R;6FTFj<&=|5pd!yunaAvKtd&zaX}*~3}eX5I_4xI8>Est2PR#duwZZA+tdtF*#ub^TKz&8S!-a%=*soG95+ zA<@<_h8I)4Y`ur!~9ZhVg5@OZ`^&?_ZoL8cU93MEDW4Z#N@!<~d?IJCsU)#d!~hB@n&Q zqH&lKhvDf+fAEWRO)C_ANX?YUL~@-XFd-fio#vu2=hNE%SdQd6R7J(PDTVWtAf2`b zDv`e3(_fkt6bB^^MQ23XsuoV*3?o;$9)V6f^YhpyW^hw*gy3xQ)xbzd9i)aP>Az*V z1U?>(BkGCqA#7ECdq69PFv3_6ky0m40wbq2AFjCZjp9D#mvo7l;W6*%v$&%hM8X@tsV-4V{&6vMq$Yc*cv%jCu{qFR!6G~!-m|>q7R_bU=r&oX+0VV z#-@B}!Ll;!k6SRHI1aEX03f99oQxtviw5Nianw6|_iz{f1h`;IpbQ*K3 z;zhgUFrG~FY!_j7Qo7W-V#!yUJWjJ9{YF&TL>%cRba``(-$-R3ShNQZT{2TLspqgL zB83y#uIi~GxhTh!uHmHg$DAzryZDu0)SF;pVpQc95Ru8n5NgX#hfS)~+0OdPl+IT1 zoFa++B%xqAYRKdCn)oCmlExIkI!zd@4QpVA)44f&IpJY?LyJ_ONE<`e9!xSKMrCx7 zO^Bp=(ibrfd8vGLV7GF8LA5weVulGRKLzsADF#MAZ{dOgB{@NVtg|#2A2K~PEq5RV z9IN-Fat2vBZ0QKhMFjFG#@RhY**Zm$fdoutp}547SgBV9GIZz=`8+RB7z$DaLgGJx z`_O+7l|B?wTtrc(6yLTotWikJ@VjEQ$%;UBIYnYk?l-cGLSH3J)PYDOxMuWixhG~` z77tX3s5lGe63dwFDV;ZL0aTa5eO8`UwjaG)J7Zpe4017_~u}OM#+1P~y~patV<)=cOq~H8N?e zhLDeh`!r_!Whqu_T3?1j%&u{$Gj{SSbD^bD)WCu>X%(Uwgj-eM2c-ED*k1e;3rq}Y zelflz3ZAq4B_|jDc#W508dpOuD*i0yg=CU=(oJAn5w)pAxIzLAlXV_hVvval4>i~D z!IBgBFO0H1m7)n@WtZYU=yyq2S|bYHWePFX2Z*Mh)bp}2w_s_j$q{hQ4B|}#puR=F zSa`FEn-c}x_d%3_Cgm`c3;{^^K&6~H=6sbH#%O;3c%LXQTBSrwWm@+?MQGm+%OqnL+ zq>v`slP^cNI(%5|ly^{N< z#3s%1^B7*7lJ#o?EV6Y)8nTg~#E22x-ul>7g(HL>pjw;D`fgxyujWz^>)`fN!#! zy(pgUfrDMuQJ*b`5u)`6Yro%{TR9f?XP-AXO&j#U``q=R8|LhwUzg*`Ta~!r(pwen zn`id)Arsf)VR9*TD~_Hgdm5%`D_#qUUIYcT`@a# zF>>koWpWWoCZ9JDSYi#f=>IxTSUiRVdOQ>NH>zIiH{zJKa_deHFJ<8thX?n~i>k0v zo)rGVGA-70i_1d!-nI1z7>@Y58~H6G?#nmUy!l+bqCK_>j2!r_G4zlb7L|oGtLT+{ z9w~vdH1}R}U0t&#Z2=BfA_DA_WFA?Sh^k*j_8$G_9ykr?84EhD*0L3hqB~)T$2t1W zXT6eK-#2{%J_P@he$BY6f*{Oz>40Ep{ay_b3!0%*2|<=|+4k?gvJyfXG(#x`;P$&{TCT(B7vZ4hMXix7|*nAH%}t+?$F{h&bbm$42m8VHDQ zKL`lY|IT~4x_R4~yZ+Cq5_{JiZq&~J^(P`~pyMsE`FNN~y2f+TV^8)h*^X1eL(o=e z-+1~bkI^1?@8>;Kq%}lSqGfk`mD=#2tYGr%sl!rSAQAA{p%Bc(K53esMO)4V%)s~>S&{< zV+IHL_2xOo0VBMu+Ys6G8tHzn#*IOa@vD|>OA=j2DHNtXaz;YLGD%4)Xk1FX;DPi> z?qVkGHvPq>#M=lQd2UkKJN2${*`_xVt0(#xP8rm(pjfp?g+$+AOdG{ zt>HNcN#aRL#QA1C>AhLOCeReW4;>^Y^qvlJU(OWYMH-DN-iezELjfO$+aZ?)q>us5 zgqQA(jRk33uv>8elQ$nGM z`StvKx@sbe>U>+E5&LReZrj*N;oDAPOwT8t4tW@4>Ec4}lQ={=BcG6;fk)IDEYiS` z=^zGH-ivWTViY?{MwsiMmUtj}ddmQRZRMu=7yKByfuZN_E*nXEij@#%7AbF%^97i} z>xefTRTfj-A9BNxynn)w7d&RKeERZX2>G#v(qKOU%ql1rV^DbCpV>-rk+RtQAbuJj>XNlm^yflFwTl_uy1IJ-uZL5 zb=8I|JTA|j_TcjVV^EJ+@S+zZ0mJVHFLgM9>k+0m672EAYjfO~h9dh~dXRCZHxU1b zxp{6(K8by;DfA%Kx;cxm@cLQ$m94l9AkJyD(46PU$e5g->FFvcsX@*G;;Oz2cVdoeQ@8fa=S9#sSO5*<%~)6@%os z@7MJULdvOK9`y|Ny!&4vAw_H76&#lBJ4Yh(KHGm9EX>?@C8Tjj(yF-ADFf_TRNXXh z_a$8a2*-cK7W=waw|{huSh$z#3JZ=wXQxbN+cZlD5!a19ZB;{2lG`-GP7PNF9$Hhf%twprc8kot9tmN`2Scr4G)qE2evY z(Tqjd_mV2VeT^|%qbyA-BJg+J3Ocx!$M6ceps(j##?RBT5G;OJ1tR{q#{pGusbKwKLPl1&DDk|+XLdFPQ>Im= zs3*tQIwSI!_n-b_4979T3|k^B(g2%>`y!!5o;XAhKV$G29 zhz%+3)4iw@X`7I6bfY8GwJI^4eFM=s&W85Qbo*aOUpzbhu5bh$HX0Jr7LrS2->K$Ljw0qPj%6*4r?STI`!wVR)q*>Y{W*LVsw{br7rmb%ccp(#cj{6(xD1WMfN}FC- zSC=I^ZORLT`cJ40w*Zyz?+cWV@e(&4`X1=t<(ygZ80i^0NcgX@ep#X-jPC~}*G;Dc zjQgbjN#rM>hTY)Dqo(FWNDlW7DtzUKvU2zVlai4u83 zbdg9hfw_}igXlLz6%QDh=)_2i-#lme?Vo#ouQBeL87wk?BIyu>7o`H?4bq|^grM+#NRDfB0Mfv z+8S0SiH<1}L2oJ&f%(6YS_I}yB^gF-B^ieNKTuD=?cmG6{O1cGgB_L&{TWv#f%~68 z{u9jM^Z-gc+@bS7=;LD)wsF&n3G>m03jN>Up+){bBbqnQf5j}Z|M3A~_|Ww0H&MX3 zjOSU=3w0|j2OgsO<3v2iyLPDT$W`zPG?FFjHZ~M0Q!!RSv#xYCT8C^c85vC)tU0!p3Qzk`8%!D!1MBe^y(hjJXDE=9No6Lo5$5cJE) zpt28R@C_LMhoo@z|4JNym{TEcUz_T`GTlE{2elA-9C;40zW=(4LQqwL#_}yAPyDcf zSr%`uE@Us4V6ltbr!)>Hz6!R3*$ZwYIZ0%|S%_at4%*3N5dI}Ix;Af313ADgST-$22)+-6r1 zXQS7$B+=~a)I!Fs95?y@FaPUoQ{;01xdykd@UMMVjGMu*_8%Yne?BFgmCkD_c>m1C zW&XG5{%@%Ci~o=K-;vCKl7C(QtNu5R>o%#2T?{2I+hmNO-lySi%9l#weM5z3o@uL@ zWF~gFcfxLHG3yO(C6fPj8?%B?^L{$J=7Tzxh|-h0{QuX1U~m;$i(tAqCr zYsUVa8lN*Rd8+5G@$tW?Qr4Eku3|zjPQ{k1dt&%O5rEbF?&M1b7@}(?5yhXn6<+2h zlL5xGho22UsxZcv=GP-9U7NDkC3*ba{T@^zz(2Gb`DD1Rz298&fA37q>p3hN^6N&n z#yKNQEm6(hL(k1L39>zWFKabSuB51u+LSmxJ{}_?$j?WEHazv;^V)}ZLl}RBcQbi1 ze}L>zdIo^y+Vhvws3u(RhFFASXfcU!pH{7313`?n7$P729k-lKFa5mDv(KqHF*kBG zBSj%8MEgGwne*0-m%R}@{mt$c442M1YFRD(ERQ%A&9aY59^=?+e=K+1iy#Xgal9!^ zRjIWPcfH115tXto+gSPWs$St))4EnwoTLc`$N}b`L-L1HO{uIGqOwU>``aoe4_|3# zn_8VX)+nPIF>`bs?^;7QPsS(LkYe)E!zm7FNIp_kOflsW%UbP!jpDtiT^p_p#nP!VFt=;RQ z>~d$wK}3d!egCaLC452$_sVEd_jXwMoyWcQN)VrHNTr$`M^k^g20f}c$JY%dMz{x4 zb@7??eHt}&zRc)tUjFQE+9!Ic`KjGH;Q#ugr@N#_iz6PhR?}Y#MyZ% z<{!?gkua@AS6>LRUFh)gZBEq)?{X1^p-=c8;5WvHRJmoozdMA6)FJki z@fYzc?Hf5o<%wC*!4euphr*+n{=OoWuzG+Ud5$-!aMfR?U95zh>nGL1XckVHJl{ew z+s~-i;hqV*vt^vl4h`Q8wb+_kX`nc(F1;{T;kQyVn-a0A=aiUpY?T7WIW@Q(oR*^Qbd@9|Inzy;K^R)W;k0iDKPr#V>|O}`8%MX&Gy@d!nAvy znWNL0f4bV^E2sI*=>g+fKe!V7JAXUGxtoQ4pa_p^hkg~2GgyZHX-IFs?7Nb+$WCMILL^HX5}C1tm@&4S-4yYL$P$u$9j0g@#ya+0*2q?oEVtx0 zZuj2q@1FOs=RD^;XL;VwdCuo~zUP_8we{*icG zn(h|Gk2x4@RS@N+$X$)1E6f2nHpF@>v$vB__Qg*rHv?tjZ3E2(8b#-5gRf)B)-ke3 zo4fd|EYdsDN#adJwu18BVKLGi=WLi&cz(yX51ss5Jk~dKhDUe}447cQ{FtJ(G{PU| z7QVUm!xNo%%;DvvHvGp|BGnGK@%;Xqa~BIt8kzK7+@yJGpKL~z52E(#p#=18tbx3?PclER!(>6%TWQlbKAlP?I43;YVUNl8 z%Hq(v*gAuKWor++&zo6GlUMmosxdIHK@s=Cj^W|=uIW!+Fkr6lf+C6D^Qhsl?V%F& z$Zyy+o;tBLKh2og+y@N_H7{mASUQ#EieIuQN?_tOt>a(S$emM>qs0Wv{@7@%tS{Bl zh!CN*CP)%$%Z7Ao8B|YY+Uvy*6cpLU=W ztzciA2lt;Hr*_ea&3M5RPDwSf5GBx*9fwQZDSzKfL;uP9Z2kLNib)?lzus=-r5m3a zmHD>AwSqEwt7C+47q~yV9eU$AKOfdTIpx1+ zKfR<>5xVzstD6W_^JrAb*+~ucvNa8-QG z-WD^vJ!d?x=v8u;cA#}ti5u1-6pit6^cWb=_l+7)?6)i$pZ4Oy^;HgT`C^SSO<&#U zi8!G;mM1>_g9Y|=wjBpkqP;`4qSu4KG59wIx-VZRV7?Lx=hb7n7<~B4X;)! zP&=1xW>z7SWSRlzOY9c(Q9_E zaPS`tHZR9|YS^$Yp$U918%bpu&8g=L&rK+a`3F1ctWJt6Vhf96Qq%;NWhLu*P)1%I z3z7(A;YSqjLnB{(V&*L?XYQW-TWu~c=O>Mkn8%WnVcBum=5Mw?I&pu?1qp%6$u3<6>O+xg{&^7g;va?J~QY6z2PE z7MdbG@8?SwhD)n4=H22G6e~7rbTE!I!*SJ=iD)^;7{kj&GHIo0U%&n_sS?uF;Q*&5 zEg>G#onusRje~PTdmai_mK_({SaR^tPQVVwo3k7g$kab&r8)CGd3mbz4fleNx$Cx- z#LWxK53(fekBcRenU%U^E#RaeD#ly;>=TwNwS934kP^E^4l@?HE5?db5PH)(C{9Ub z(#H7eeZ%o>x^JnZPmui3upsKwh3iBC;bNZLo^{`#3H(`aHT4a2wyp88dudH9n>ocT z2MyayFv}FT1GEWV2ShM*&|SYOv?h)onzwngFZ*F}T1U!6&JR&7PB*R_rap$fB0r6H zs`eBJWSx3*e6k`MCM%vymx;T~jib3>d^Rt+N$%j-l!|SF+~z+@%hhSZ?Dn^M~6}w3^>o8!Fyv zqEMqMGovb+BTg^NQO(2E9~*_9HP@0oi9)M1>xa-INC}~{4CsW?A1I1gB~d{j`-H4Y zK!^%wVzzJu(3Rf6#bDkIna1T*4+vJha*V6B?_BN~)7?xSOVeQ4`s9w~la$=-Es7U6Hpw?fD;eyCq5yM1|2Q<^sXO7D=A8OB|)y2-F{RY@Oy`zu%EZsOFk&Me6 zeu)STn5=moy!`!aZQ@rcy;L~o85-^2jnmD`==MdyfmFJn69Rh{k>@nu@<;zUbnxEy8jON90m+vFv5dz(6 zuDjDwDLegH2XU5`huEXz*<&2Nw>ra}E2Rt*wFd1bMK(poWeHZD+~15GGY}BW3%_(P3c+z+@UGG_Tp-8F z!@$EZeWcy=)bBoI>?AKE!SSX4>^=D<+!u~$TVPbnk3&pbS*jer=h)x2_RcA|)GU1a z$X#jY}tfvGVHaXU^d1}Le4eJ<96N-Oa7Wopt^xXMvjZxoj z*)>CsL|;-{^%?F;M*93xM*D&6d8#F(nli$Ui3X5^MLU1i+8dZg>kv^Z-g^QyNbi8p zr|o;z7khi%zZVcUubL%qsO8i&wM6+uKS ze^p=K#iCr}sD^xLy-5MBL!yS_at4m=z*HlN*(R-I{86(@Y%kxfH`~dJDK4iu3CMZ? z2_?8D0ZUNA)mDH3Ai(bf->5*_9w3JAznQxzcIK~QaSYV&r9^OMdH`NvQV;@3K^@}* zd3pgBzCYiNP%P8_UzX|bE)Yn!FbF3DB7Z{hK_4=}d7@S9uXJEY@9W+uf21E+)eo?z zh>EdL&}4rXq9oYU3kXrL&i}3rl}%9<<^MV4e-Y4s_k=+1$bm32AOtG(0ld%!MbNa5 zGU-w>h0sw;@loaiXUKpQR4NRF^#S~#dmkVIm5v4z`v7siU!XR~pJ~f}35AD%eMfRQ z1}SnfqrsXXKoleo0KC+`u>g3g8(;?`h5!!m1f>cJiw9)~DE#VS3V%EPPd*P=*AK89 z1-Y1*eu;%Z^b^4|gOs+EXcrUcGz2hEx2OFSNQr%M@clR7^{eaHL(qEwI0d39gFppJ z!GvKz45VBX{=H$O3Xr)U(1!+9gEswu7~g+y5Wl49)qy1gfCxxAo>{nlRkJk!KXbRC zktj4+(GPI){d06v^nH}t?N^y5f)#^+FyBAN2lY>I`mYvwP2k5tKpk553Y0n8KukYn z?z}DF!+t;(92=q#kT!6RG75Nn7*K@Ll7134lqG_cfAs%%j-m62E5uGi!NEfyrzl?v M9R$MG4N$260dw#)M*si- delta 20376 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 AIsgCw diff --git a/charts/app/templates/secret.yaml b/charts/app/templates/secret.yaml index 12ab84763..36385c4b6 100644 --- a/charts/app/templates/secret.yaml +++ b/charts/app/templates/secret.yaml @@ -51,6 +51,7 @@ {{- $caseManagementApiUrl := (get $secretData "caseManagementApiUrl" | b64dec | default "") }} +{{- if not (lookup "v1" "Secret" .Release.Namespace (printf "%s-backend" .Release.Name)) }} --- apiVersion: v1 kind: Secret @@ -98,6 +99,8 @@ data: OBJECTSTORE_BACKUP_DIRECTORY: {{ $objectstoreBackupDirectory | b64enc | quote }} OBJECTSTORE_BUCKET: {{ $objectstoreBucket | b64enc | quote }} OBJECTSTORE_SECRET_KEY: {{ $objectstoreSecretKey | b64enc | quote }} +{{- end }} +{{- if not (lookup "v1" "Secret" .Release.Namespace (printf "%s-webeoc" .Release.Name)) }} --- apiVersion: v1 kind: Secret @@ -118,6 +121,8 @@ data: WEBEOC_COMPLAINT_HISTORY_SECONDS: {{ $webeocComplaintHistorySeconds | b64enc | quote }} WEBEOC_CRON_EXPRESSION: {{ $webeocCronExpression | b64enc | quote }} COMPLAINTS_API_KEY: {{ $caseManagementApiKey | b64enc | quote }} +{{- end }} +{{- if not (lookup "v1" "Secret" .Release.Namespace (printf "%s-flyway" .Release.Name)) }} --- apiVersion: v1 kind: Secret @@ -132,7 +137,8 @@ data: FLYWAY_URL: {{ $databaseJDBCURLNoCreds | b64enc | quote }} FLYWAY_USER: {{ $databaseUser | b64enc | quote }} FLYWAY_PASSWORD: {{ $databasePassword | quote }} - +{{- end }} +{{- if not (lookup "v1" "Secret" .Release.Namespace (printf "%s-database" .Release.Name)) }} --- apiVersion: v1 kind: Secret @@ -147,3 +153,5 @@ data: postgres-password: {{ $databasePassword | quote }} password: {{ $databasePassword | quote }} {{- end }} + +{{- end }} \ No newline at end of file diff --git a/frontend/README.md b/frontend/README.md index 30d74d258..8100e8e38 100644 --- a/frontend/README.md +++ b/frontend/README.md @@ -1 +1 @@ -test \ No newline at end of file +This is the frontend. diff --git a/frontend/craco.config.ts b/frontend/craco.config.ts new file mode 100644 index 000000000..7d1ad27ca --- /dev/null +++ b/frontend/craco.config.ts @@ -0,0 +1,37 @@ +// craco.config.ts + +import path from "path"; + +const config = { + webpack: { + alias: { + "@": path.resolve(__dirname, "src/"), + "@assets": path.resolve(__dirname, "src/assets/"), + "@common": path.resolve(__dirname, "src/app/common/"), + "@components": path.resolve(__dirname, "src/app/components/"), + "@constants": path.resolve(__dirname, "src/app/constants/"), + "@hooks": path.resolve(__dirname, "src/app/hooks/"), + "@providers": path.resolve(__dirname, "src/app/providers/"), + "@service": path.resolve(__dirname, "src/app/service/"), + "@store": path.resolve(__dirname, "src/app/store/"), + "@apptypes": path.resolve(__dirname, "src/app/types/"), + }, + }, + jest: { + configure: { + moduleNameMapper: { + "@assets(.*)$": "/src/assets$1", + "@common(.*)$": "/src/app/common$1", + "@components(.*)$": "/src/app/components$1", + "@constants(.*)$": "/src/app/constants$1", + "@hooks(.*)$": "/src/app/hooks$1", + "@providers(.*)$": "/src/app/providers$1", + "@service(.*)$": "/src/app/service$1", + "@store(.*)$": "/src/app/store$1", + "@apptypes(.*)$": "/src/app/types$1", + }, + }, + }, +}; + +export default config; diff --git a/frontend/cypress.config.ts b/frontend/cypress.config.ts index 871a2c546..64f64a75a 100644 --- a/frontend/cypress.config.ts +++ b/frontend/cypress.config.ts @@ -7,7 +7,7 @@ const { isFileExist } = require("cy-verify-downloads"); const { removeDirectory } = require("cypress-delete-downloads-folder"); export default defineConfig({ - defaultCommandTimeout: 20000, + defaultCommandTimeout: 40000, e2e: { baseUrl: "http://localhost:3000", experimentalStudio: true, diff --git a/frontend/cypress/e2e/allegation-details-create.cy.ts b/frontend/cypress/e2e/allegation-details-create.cy.ts index f91579028..67bec9a33 100644 --- a/frontend/cypress/e2e/allegation-details-create.cy.ts +++ b/frontend/cypress/e2e/allegation-details-create.cy.ts @@ -115,8 +115,8 @@ describe("Complaint Create Page spec - Create View", () => { cy.get('dd[id="comp-details-violation-observed"]').contains(createCallDetails.violationObservedString); cy.get('dd[id="comp-details-location"]').contains(createCallDetails.location); cy.get('dd[id="comp-details-location-description"]').should("have.text", createCallDetails.locationDescription); - cy.get('span[id="call-details-x-coordinate"]').contains(createCallDetails.xCoord); - cy.get('span[id="call-details-y-coordinate"]').contains(createCallDetails.yCoord); + cy.get('span[id="geo-details-x-coordinate"]').contains(createCallDetails.xCoord); + cy.get('span[id="geo-details-y-coordinate"]').contains(createCallDetails.yCoord); cy.get('dd[id="comp-details-community"]').contains(createCallDetails.community); cy.get('dd[id="comp-details-office"]').contains(createCallDetails.office); cy.get('dd[id="comp-details-zone"]').contains(createCallDetails.zone); diff --git a/frontend/cypress/e2e/allegation-details-edit.cy.ts b/frontend/cypress/e2e/allegation-details-edit.cy.ts index f1d016361..91b9c7c80 100644 --- a/frontend/cypress/e2e/allegation-details-edit.cy.ts +++ b/frontend/cypress/e2e/allegation-details-edit.cy.ts @@ -401,16 +401,16 @@ describe("Complaint Edit Page spec - Edit Allegation View", () => { cy.get("#attractants-pair-id input").should("not.exist"); // X Coordinate - cy.get('[for="comp-details-edit-x-coordinate-input"]').should(($label) => { + cy.get('[for="input-x-coordinate"]').should(($label) => { expect($label).to.contain.text("Longitude"); }); - cy.get("#comp-details-edit-x-coordinate-input-div").should("exist"); + cy.get("#input-x-coordinate").should("exist"); // Y Coordinate - cy.get('[for="comp-details-edit-y-coordinate-input"]').should(($label) => { + cy.get('[for="input-y-coordinate"]').should(($label) => { expect($label).to.contain.text("Latitude"); }); - cy.get("#comp-details-edit-y-coordinate-input-div").should("exist"); + cy.get("#input-y-coordinate").should("exist"); // Area/Community cy.get("#area-community-pair-id label").should(($label) => { diff --git a/frontend/cypress/e2e/change-complaint-assignee.cy.ts b/frontend/cypress/e2e/change-complaint-assignee.cy.ts index 6018a6955..614242c0f 100644 --- a/frontend/cypress/e2e/change-complaint-assignee.cy.ts +++ b/frontend/cypress/e2e/change-complaint-assignee.cy.ts @@ -27,7 +27,9 @@ describe("Complaint Assign Popover spec", { scrollBehavior: false }, () => { cy.get("td").first().click({ force: true }); - cy.get("#update-assignee-icon").filter(":visible").click({ force: true }); + cy.get("#quick-action-button").first().children("button").first().click({ force: true }); + cy.get("#update-assignee-menu-item").should("exist"); //Wait for the options to show + cy.contains("Assign complaint").click({ force: true }); // self assign the complaint cy.get("#self_assign_button").click(); diff --git a/frontend/cypress/e2e/complaint-export.cy.ts b/frontend/cypress/e2e/complaint-export.cy.ts index 2c483296c..1cbd90115 100644 --- a/frontend/cypress/e2e/complaint-export.cy.ts +++ b/frontend/cypress/e2e/complaint-export.cy.ts @@ -21,13 +21,13 @@ describe("Export Complaint Functionality", () => { it(`Can export complaint: ${index === 0 ? "HWCR" : "ERS"}`, () => { let fileName = ""; - const date = fns.format(new Date(), "yyyy-MM-dd"); + const date = fns.format(new Date(), "yyMMdd"); if ("#hwcr-tab".includes(complaintTypes[index])) { - fileName = `Complaint-23-000076-HWCR-${date}.pdf`; + fileName = `HWC_23-000076_${date}.pdf`; cy.navigateToDetailsScreen(COMPLAINT_TYPES.HWCR, "23-000076", true); } else { - fileName = `Complaint-23-006888-ERS-${date}.pdf`; + fileName = `EC_23-006888_${date}.pdf`; cy.navigateToDetailsScreen(COMPLAINT_TYPES.ERS, "23-006888", true); } diff --git a/frontend/cypress/e2e/complaint-filters-ceeb.cy.ts b/frontend/cypress/e2e/complaint-filters-ceeb.cy.ts new file mode 100644 index 000000000..111c08f78 --- /dev/null +++ b/frontend/cypress/e2e/complaint-filters-ceeb.cy.ts @@ -0,0 +1,63 @@ +import Roles from "../../src/app/types/app/roles"; +import COMPLAINT_TYPES from "../../src/app/types/app/complaint-types"; + +/** + * Test that CEEB specific search filters work + */ +describe("Verify CEEB specific search filters work", () => { + beforeEach(function () { + cy.viewport("macbook-16"); + cy.kcLogout().kcLogin(Roles.CEEB); + }); + + function needsDecision() { + let needsDecision = false; + cy.get("#ceeb-decision").then((decisionWrapper) => { + // If the action taken input is on the page, a decision needs to be made + if (decisionWrapper.find("#outcome-decision-action-taken").length > 0) { + needsDecision = true; + } + }); + return needsDecision; + } + + it.only("allows filtering of complaints by Action Taken", function () { + // Navigate to the complaint list + const complaintWithActionTakenID = "23-030990"; + const actionTaken = "Forward to lead agency"; + + // Check if complaintWithActionTakenID already has a decision. + cy.navigateToDetailsScreen(COMPLAINT_TYPES.ERS, complaintWithActionTakenID, true); + // If the action taken input is available then the complaint does not yet have a decision made on it. + // Set an action taken so that the filter will have results to return. + if (needsDecision()) { + cy.selectItemById("outcome-decision-schedule-sector", "Other"); + cy.selectItemById("outcome-decision-sector-category", "None"); + cy.selectItemById("outcome-decision-discharge", "Pesticides"); + cy.selectItemById("outcome-decision-action-taken", actionTaken); + cy.selectItemById("outcome-decision-lead-agency", "Other"); + cy.enterDateTimeInDatePicker("outcome-decision-outcome-date", "01"); + // If the complaint is not assigned to anyone, assign it to self + if (cy.get("#comp-details-assigned-officer-name-text-id").contains("Not Assigned")) { + cy.get("#details-screen-assign-button").should("exist").click(); + cy.get("#self_assign_button").should("exist").click(); + } + cy.get(".modal").should("not.exist"); // Ensure that the quick assign modal has closed + cy.get("#ceeb-decision > .card-body > .comp-details-form-buttons > #outcome-decision-save-button").click(); + cy.contains("div", "Decision added").should("exist"); + } + + // Return to the complaints view + cy.get("#complaints-link").click(); + + // Clear filters + cy.get("#comp-status-filter").click({ force: true }); + cy.get("#comp-officer-filter").click({ force: true }); + + // Filter by action taken + cy.get("#comp-filter-btn").should("exist").click({ force: true }); + cy.selectItemById("action-taken-select-id", actionTaken); + cy.waitForSpinner(); + cy.get(`#${complaintWithActionTakenID}`).should("exist"); + }); +}); diff --git a/frontend/cypress/e2e/complaint-search.v2.cy.ts b/frontend/cypress/e2e/complaint-search.v2.cy.ts index d21cedfb2..14680c640 100644 --- a/frontend/cypress/e2e/complaint-search.v2.cy.ts +++ b/frontend/cypress/e2e/complaint-search.v2.cy.ts @@ -148,59 +148,3 @@ describe("Complaint Search Functionality", () => { }); }); }); - -/** - * Test that CEEB specific search filters work - */ -describe("Verify CEEB specific search filters work", () => { - beforeEach(function () { - cy.viewport("macbook-16"); - cy.kcLogout().kcLogin(Roles.CEEB); - }); - - function needsDecision() { - let needsDecision = false; - cy.get("#ceeb-decision").then((decisionWrapper) => { - // If the action taken input is on the page, a decision needs to be made - if (decisionWrapper.find("#outcome-decision-action-taken").length > 0) { - needsDecision = true; - } - }); - return needsDecision; - } - - it.only("allows filtering of complaints by Action Taken", function () { - // Navigate to the complaint list - const complaintWithActionTakenID = "23-030990"; - const actionTaken = "Forward to lead agency"; - - // Check if complaintWithActionTakenID already has a decision. - cy.navigateToDetailsScreen(COMPLAINT_TYPES.ERS, complaintWithActionTakenID, true); - // If the action taken input is available then the complaint does not yet have a decision made on it. - // Set an action taken so that the filter will have results to return. - if (needsDecision()) { - cy.selectItemById("outcome-decision-schedule-sector", "Other"); - cy.selectItemById("outcome-decision-sector-category", "None"); - cy.selectItemById("outcome-decision-discharge", "Pesticides"); - cy.selectItemById("outcome-decision-action-taken", actionTaken); - cy.selectItemById("outcome-decision-lead-agency", "Other"); - cy.enterDateTimeInDatePicker("outcome-decision-outcome-date", "01"); - // If the complaint is not assigned to anyone, assign it to self - if (cy.get("#comp-details-assigned-officer-name-text-id").contains("Not Assigned")) { - cy.get("#details-screen-assign-button").should("exist").click(); - cy.get("#self_assign_button").should("exist").click(); - } - cy.get(".modal").should("not.exist"); // Ensure that the quick assign modal has closed - cy.get("#ceeb-decision > .card-body > .comp-details-form-buttons > #outcome-decision-save-button").click(); - cy.contains("div", "Decision added").should("exist"); - } - - // Return to the complaints view - cy.get("#complaints-link").click(); - - // Filter by action taken - cy.get("#comp-filter-btn").should("exist").click({ force: true }); - cy.selectItemById("action-taken-select-id", actionTaken); - cy.get(`#${complaintWithActionTakenID}`).should("exist"); - }); -}); diff --git a/frontend/cypress/e2e/external-file-reference.cy.ts b/frontend/cypress/e2e/external-file-reference.cy.ts new file mode 100644 index 000000000..b871b3cab --- /dev/null +++ b/frontend/cypress/e2e/external-file-reference.cy.ts @@ -0,0 +1,132 @@ +import COMPLAINT_TYPES from "../../src/app/types/app/complaint-types"; + +const complaintTypes = [COMPLAINT_TYPES.HWCR, COMPLAINT_TYPES.ERS]; + +describe("External File Reference", () => { + beforeEach(function () { + cy.viewport("macbook-16"); + cy.kcLogout().kcLogin(); + }); + + function enterReferenceNumber(number: string, shouldSave: boolean) { + cy.get("#external-file-reference-number-input").click({ force: true }); + cy.get("#external-file-reference-number-input").clear().type(number, { delay: 0 }); + if (shouldSave) { + cy.get("#external-file-reference-save-button").click(); + } + } + + function navigateToComplaint(index: number) { + if (COMPLAINT_TYPES.HWCR.includes(complaintTypes[index])) { + cy.navigateToDetailsScreen(COMPLAINT_TYPES.HWCR, "23-031226", true); + } else { + cy.navigateToDetailsScreen(COMPLAINT_TYPES.ERS, "23-027918", true); + } + } + + function deleteReferenceNumber() { + cy.get("#external-file-reference").then(function ($externalref) { + if ($externalref.find("#external-file-reference-delete-button").length) { + cy.get("#external-file-reference-delete-button").click(); + cy.get(".modal-footer > .btn-primary").click(); + } else { + cy.log("No reference number to delete"); + } + }); + } + + function validateFormIsEmpty() { + cy.get("#external-file-reference-number-input").should("exist"); + cy.get("#external-file-reference-number-div").should(($div) => { + expect($div).to.not.contain.text("111111"); + expect($div).to.not.contain.text("222222"); + expect($div).to.not.contain.text("333333"); + }); + } + + //Core tests - try these on both complaint types + + Cypress._.times(complaintTypes.length, (index) => { + it(`Can enter an external reference number: ${complaintTypes[index]}`, () => { + //navigatetoComplaint + navigateToComplaint(index); + + //make sure that there isn't an old one there from a failed run + deleteReferenceNumber(); + + //enter the number + enterReferenceNumber("111111", true); + + //validate the number + cy.get("#external-file-reference-number-div").should(($div) => { + expect($div).to.contain.text("111111"); + }); + }); + + it(`Can edit an external reference number: ${complaintTypes[index]}`, () => { + //navigatetoComplaint + navigateToComplaint(index); + + //press Edit + cy.get("#external-file-reference-edit-button").click(); + + //enter the number + enterReferenceNumber("222222", true); + + //validate the number + cy.get("#external-file-reference-number-div").should(($div) => { + expect($div).to.contain.text("222222"); + }); + }); + + it(`Can delete an external reference number: ${complaintTypes[index]}`, () => { + //navigatetoComplaint + navigateToComplaint(index); + + //press Delete + deleteReferenceNumber(); + + //validate the toast + cy.get(".Toastify__toast-body").then(($toast) => { + expect($toast).to.contain.text("Updates have been saved"); + }); + + //validate that the empty input is showing + validateFormIsEmpty(); + }); + }); + + //Secondary tests - only need to try these on one complaint type + it("Can cancel pending changes to a reference file number (new)", () => { + //navigatetoComplaint + navigateToComplaint(0); + + //attempt to delete if there is old data + deleteReferenceNumber(); + + //enter the number + enterReferenceNumber("333333", false); + + cy.get("#external-file-reference").then(function ($externalref) { + cy.get("#external-file-reference-cancel-button").click(); + cy.get(".modal-footer > .btn-primary").click(); + }); + + //validate that the empty input is showing + validateFormIsEmpty(); + }); + + it("Will not accept a reference file number with letters", () => { + //navigatetoComplaint + navigateToComplaint(1); + + //make sure that there isn't an old one there from a failed run + deleteReferenceNumber(); + + //enter the number + enterReferenceNumber("444BADNUMBER44", true); + + //validate the error message + cy.hasErrorMessage(["#external-file-reference-number-div"]); + }); +}); diff --git a/frontend/cypress/e2e/hwcr-details-create-enter-coordinates.cy.ts b/frontend/cypress/e2e/hwcr-details-create-enter-coordinates.cy.ts index 49767f442..2f33a50a8 100644 --- a/frontend/cypress/e2e/hwcr-details-create-enter-coordinates.cy.ts +++ b/frontend/cypress/e2e/hwcr-details-create-enter-coordinates.cy.ts @@ -67,11 +67,11 @@ describe("Complaint Create Page spec - Enter Coordinates - Create View", () => { cy.selectItemById("reported-select-id", createCallerInformation.reported); - cy.get("#comp-details-edit-x-coordinate-input").click({ force: true }); - cy.get("#comp-details-edit-x-coordinate-input").clear().type(createCallDetails.xCoord); + cy.get("#input-x-coordinate").click({ force: true }); + cy.get("#input-x-coordinate").clear().type(createCallDetails.xCoord); - cy.get("#comp-details-edit-y-coordinate-input").click({ force: true }); - cy.get("#comp-details-edit-y-coordinate-input").clear().type(createCallDetails.yCoord); + cy.get("#input-y-coordinate").click({ force: true }); + cy.get("#input-y-coordinate").clear().type(createCallDetails.yCoord); cy.get("#complaint-location-description-textarea-id").click({ force: true, @@ -114,8 +114,8 @@ describe("Complaint Create Page spec - Enter Coordinates - Create View", () => { }); cy.get('dd[id="comp-details-location-description"]').should("have.text", createCallDetails.locationDescription); - cy.get('span[id="call-details-x-coordinate"]').contains(createCallDetails.xCoord); - cy.get('span[id="call-details-y-coordinate"]').contains(createCallDetails.yCoord); + cy.get('span[id="geo-details-x-coordinate"]').contains(createCallDetails.xCoord); + cy.get('span[id="geo-details-y-coordinate"]').contains(createCallDetails.yCoord); cy.get('dd[id="comp-details-community"]').contains(createCallDetails.community); cy.get('dd[id="comp-details-office"]').contains(createCallDetails.office); cy.get('dd[id="comp-details-zone"]').contains(createCallDetails.zone); diff --git a/frontend/cypress/e2e/hwcr-details-create.cy.ts b/frontend/cypress/e2e/hwcr-details-create.cy.ts index cfeb55664..d2166747f 100644 --- a/frontend/cypress/e2e/hwcr-details-create.cy.ts +++ b/frontend/cypress/e2e/hwcr-details-create.cy.ts @@ -113,8 +113,8 @@ describe("Complaint Create Page spec - Create View", () => { cy.get('dd[id="comp-details-location"]').contains(createCallDetails.location); cy.get('dd[id="comp-details-location-description"]').should("have.text", createCallDetails.locationDescription); - cy.get('span[id="call-details-x-coordinate"]').contains(createCallDetails.xCoord); - cy.get('span[id="call-details-y-coordinate"]').contains(createCallDetails.yCoord); + cy.get('span[id="geo-details-x-coordinate"]').contains(createCallDetails.xCoord); + cy.get('span[id="geo-details-y-coordinate"]').contains(createCallDetails.yCoord); cy.get('dd[id="comp-details-community"]').contains(createCallDetails.community); cy.get('dd[id="comp-details-office"]').contains(createCallDetails.office); cy.get('dd[id="comp-details-zone"]').contains(createCallDetails.zone); diff --git a/frontend/cypress/e2e/hwcr-details-edit.cy.ts b/frontend/cypress/e2e/hwcr-details-edit.cy.ts index 2b4208163..db4cc9410 100644 --- a/frontend/cypress/e2e/hwcr-details-edit.cy.ts +++ b/frontend/cypress/e2e/hwcr-details-edit.cy.ts @@ -353,16 +353,16 @@ describe("Complaint Edit Page spec - Edit View", () => { cy.get("#attractants-pair-id input").should("exist"); // X Coordinate - cy.get('[for="comp-details-edit-x-coordinate-input"]').should(($label) => { + cy.get('[for="input-x-coordinate"]').should(($label) => { expect($label).to.contain.text("Longitude"); }); - cy.get("#comp-details-edit-x-coordinate-input-div").should("exist"); + cy.get("#input-x-coordinate").should("exist"); // Y Coordinate - cy.get('[for="comp-details-edit-y-coordinate-input"]').should(($label) => { + cy.get('[for="input-y-coordinate"]').should(($label) => { expect($label).to.contain.text("Latitude"); }); - cy.get("#comp-details-edit-y-coordinate-input-div").should("exist"); + cy.get("#input-y-coordinate").should("exist"); // Area/Community cy.get("#area-community-pair-id label").should(($label) => { diff --git a/frontend/cypress/e2e/hwcr-outcome-equipment.cy.ts b/frontend/cypress/e2e/hwcr-outcome-equipment.cy.ts index ab6daa477..879da12e0 100644 --- a/frontend/cypress/e2e/hwcr-outcome-equipment.cy.ts +++ b/frontend/cypress/e2e/hwcr-outcome-equipment.cy.ts @@ -37,8 +37,8 @@ describe("HWCR Outcome Equipment", () => { let inputs = [ "#equipment-type-div", "#equipment-address-div", - "#equipment-coordinate-div", - "#equipment-coordinate-div", + "#equipment-coordinates", + "#equipment-coordinates", "#equipment-officer-set-div", ]; cy.hasErrorMessage(inputs, "Errors creating equipment"); @@ -63,7 +63,7 @@ describe("HWCR Outcome Equipment", () => { equipmentType: "Bear snare", }; cy.get("#equipment-copy-address-button").click(); - cy.get("#equipment-copy-coordinates-button").click(); + cy.get("#copy-coordinates-button").click(); cy.fillInHWCSection(sectionParams).then(() => { cy.validateHWCSection(sectionParams); diff --git a/frontend/cypress/support/commands.ts b/frontend/cypress/support/commands.ts index ceae71ea0..8f02d868c 100644 --- a/frontend/cypress/support/commands.ts +++ b/frontend/cypress/support/commands.ts @@ -131,16 +131,19 @@ Cypress.Commands.add("kcLogout", () => { }); }); -Cypress.Commands.add("hasErrorMessage", (inputs: Array, toastText: string) => { +Cypress.Commands.add("hasErrorMessage", (inputs: Array, toastText?: string) => { //validate all the inputs Cypress._.times(inputs.length, (index) => { cy.get(inputs[index]).find(".error-message").should("exist"); }); //validate the toast - cy.get(".Toastify__toast-body").then(($toast) => { - expect($toast).to.contain.text(toastText); - }); + if(toastText) + { + cy.get(".Toastify__toast-body").then(($toast) => { + expect($toast).to.contain.text(toastText); + }); + } }); Cypress.Commands.add("verifyMapMarkerExists", (existIndicator: boolean) => { diff --git a/frontend/cypress/support/index.ts b/frontend/cypress/support/index.ts index 5ba38d134..2d9e159b1 100644 --- a/frontend/cypress/support/index.ts +++ b/frontend/cypress/support/index.ts @@ -30,6 +30,6 @@ declare namespace Cypress { validateComplaint(complaintIdentifier: string, species: string): Chainable; fillInHWCSection(section: HwcSection): Chainable; validateHWCSection(section: HwcSection): Chainable; - hasErrorMessage(inputs: Array, toastText: string): Chainable; + hasErrorMessage(inputs: Array, toastText?: string): Chainable; } } diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 0f6c432f0..6f04b6472 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -9,6 +9,8 @@ "version": "1.0.1", "license": "Apache-2.0", "dependencies": { + "@craco/craco": "^7.1.0", + "@craco/types": "^7.1.0", "@faker-js/faker": "^8.0.2", "@fortawesome/fontawesome-svg-core": "^6.4.2", "@fortawesome/free-regular-svg-icons": "^6.4.2", @@ -68,6 +70,7 @@ "make-fetch-happen": "11.0.3", "node": "^21.6.1", "npm": "^9.8.1", + "nrs-ce-common-types": "^1.0.10", "omggif": "^1.0.10", "os-browserify": "^0.3.0", "path-browserify": "^1.0.1", @@ -76,6 +79,7 @@ "pure-react-carousel": "^1.30.1", "react": "^18.2.0", "react-bootstrap": "^2.7.4", + "react-bootstrap-typeahead": "^6.3.2", "react-chartjs-2": "^5.2.0", "react-collapsed": "^4.0.2", "react-collapsible": "^2.10.0", @@ -90,7 +94,6 @@ "react-phone-number-input": "^3.3.6", "react-redux": "^8.0.1", "react-router-dom": "^6.3.0", - "react-scripts": "^5.0.1", "react-select": "^5.7.3", "react-test-renderer": "^18.2.0", "react-toastify": "^9.1.3", @@ -102,6 +105,7 @@ "uncontrollable": "^8.0.2", "urlpattern-polyfill": "^9.0.0", "util": "^0.12.5", + "utm-latlng": "^1.0.8", "uuid": "^9.0.1", "warning": "^4.0.3", "web-vitals": "^3.0.0" @@ -289,6 +293,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.23.3.tgz", "integrity": "sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==", + "peer": true, "dependencies": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", "eslint-visitor-keys": "^2.1.0", @@ -306,6 +311,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "peer": true, "engines": { "node": ">=10" } @@ -314,6 +320,7 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "peer": true, "bin": { "semver": "bin/semver.js" } @@ -336,6 +343,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "peer": true, "dependencies": { "@babel/types": "^7.22.5" }, @@ -347,6 +355,7 @@ "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "peer": true, "dependencies": { "@babel/types": "^7.22.15" }, @@ -381,6 +390,7 @@ "version": "7.23.6", "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.6.tgz", "integrity": "sha512-cBXU1vZni/CpGF29iTu4YRbOZt3Wat6zCoMDxRF1MayiEc4URxOj31tT65HUM0CRpMowA3HCJaAOVOUnMf96cw==", + "peer": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-environment-visitor": "^7.22.20", @@ -403,6 +413,7 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "peer": true, "bin": { "semver": "bin/semver.js" } @@ -411,6 +422,7 @@ "version": "7.22.15", "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "peer": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "regexpu-core": "^5.3.1", @@ -427,6 +439,7 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "peer": true, "bin": { "semver": "bin/semver.js" } @@ -435,6 +448,7 @@ "version": "0.4.4", "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.4.tgz", "integrity": "sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==", + "peer": true, "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", "@babel/helper-plugin-utils": "^7.22.5", @@ -481,6 +495,7 @@ "version": "7.23.0", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "peer": true, "dependencies": { "@babel/types": "^7.23.0" }, @@ -521,6 +536,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "peer": true, "dependencies": { "@babel/types": "^7.22.5" }, @@ -540,6 +556,7 @@ "version": "7.22.20", "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "peer": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-environment-visitor": "^7.22.20", @@ -556,6 +573,7 @@ "version": "7.22.20", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "peer": true, "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-member-expression-to-functions": "^7.22.15", @@ -583,6 +601,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "peer": true, "dependencies": { "@babel/types": "^7.22.5" }, @@ -629,6 +648,7 @@ "version": "7.22.20", "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "peer": true, "dependencies": { "@babel/helper-function-name": "^7.22.5", "@babel/template": "^7.22.15", @@ -743,6 +763,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -757,6 +778,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", @@ -773,6 +795,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.3.tgz", "integrity": "sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==", + "peer": true, "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-plugin-utils": "^7.22.5" @@ -788,6 +811,7 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "peer": true, "dependencies": { "@babel/helper-create-class-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -803,6 +827,7 @@ "version": "7.21.0", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.21.0.tgz", "integrity": "sha512-MfgX49uRrFUTL/HvWtmx3zmpyzMMr4MTj3d527MLlr/4RTT9G/ytFFP7qet2uM2Ve03b+BkpWUpK+lRXnQ+v9w==", + "peer": true, "dependencies": { "@babel/helper-create-class-features-plugin": "^7.21.0", "@babel/helper-plugin-utils": "^7.20.2", @@ -821,6 +846,7 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" @@ -836,6 +862,7 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-numeric-separator": "^7.10.4" @@ -851,6 +878,7 @@ "version": "7.21.0", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.20.2", "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", @@ -867,6 +895,7 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "peer": true, "dependencies": { "@babel/helper-create-class-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -882,6 +911,7 @@ "version": "7.21.0-placeholder-for-preset-env.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "peer": true, "engines": { "node": ">=6.9.0" }, @@ -926,6 +956,7 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -940,6 +971,7 @@ "version": "7.21.0", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.21.0.tgz", "integrity": "sha512-tIoPpGBR8UuM4++ccWN3gifhVvQu7ZizuR1fklhRJrd5ewgbkUS+0KVFeWWxELtn18NTLoW32XV7zyOgIAiz+w==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.20.2" }, @@ -954,6 +986,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -965,6 +998,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.3" }, @@ -976,6 +1010,7 @@ "version": "7.21.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.21.4.tgz", "integrity": "sha512-l9xd3N+XG4fZRxEP3vXdK6RW7vN1Uf5dxzRC/09wV86wqZ/YYQooBIGNsiRdfNR3/q2/5pPzV4B54J/9ctX5jw==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.20.2" }, @@ -990,6 +1025,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1004,6 +1040,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1120,6 +1157,7 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -1162,6 +1200,7 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "peer": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -1177,6 +1216,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1191,6 +1231,7 @@ "version": "7.23.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.4.tgz", "integrity": "sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw==", + "peer": true, "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-plugin-utils": "^7.22.5", @@ -1208,6 +1249,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", + "peer": true, "dependencies": { "@babel/helper-module-imports": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", @@ -1224,6 +1266,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1238,6 +1281,7 @@ "version": "7.23.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1252,6 +1296,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", + "peer": true, "dependencies": { "@babel/helper-create-class-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5" @@ -1267,6 +1312,7 @@ "version": "7.23.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", + "peer": true, "dependencies": { "@babel/helper-create-class-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", @@ -1283,6 +1329,7 @@ "version": "7.23.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.5.tgz", "integrity": "sha512-jvOTR4nicqYC9yzOHIhXG5emiFEOpappSJAl73SDSEDcybD+Puuze8Tnpb9p9qEyYup24tq891gkaygIFvWDqg==", + "peer": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-compilation-targets": "^7.22.15", @@ -1305,6 +1352,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/template": "^7.22.15" @@ -1320,6 +1368,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1334,6 +1383,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", + "peer": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5" @@ -1349,6 +1399,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1363,6 +1414,7 @@ "version": "7.23.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3" @@ -1378,6 +1430,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", + "peer": true, "dependencies": { "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5" @@ -1393,6 +1446,7 @@ "version": "7.23.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" @@ -1408,6 +1462,7 @@ "version": "7.21.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.21.0.tgz", "integrity": "sha512-FlFA2Mj87a6sDkW4gfGrQQqwY/dLlBAyJa2dJEZ+FHXUVHBflO2wyKvg+OOEzXfrKYIa4HWl0mgmbCzt0cMb7w==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-flow": "^7.18.6" @@ -1423,6 +1478,7 @@ "version": "7.23.6", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" @@ -1438,6 +1494,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", + "peer": true, "dependencies": { "@babel/helper-compilation-targets": "^7.22.15", "@babel/helper-function-name": "^7.23.0", @@ -1454,6 +1511,7 @@ "version": "7.23.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-json-strings": "^7.8.3" @@ -1469,6 +1527,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1483,6 +1542,7 @@ "version": "7.23.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" @@ -1498,6 +1558,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1512,6 +1573,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", + "peer": true, "dependencies": { "@babel/helper-module-transforms": "^7.23.3", "@babel/helper-plugin-utils": "^7.22.5" @@ -1527,6 +1589,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", + "peer": true, "dependencies": { "@babel/helper-module-transforms": "^7.23.3", "@babel/helper-plugin-utils": "^7.22.5", @@ -1543,6 +1606,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz", "integrity": "sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==", + "peer": true, "dependencies": { "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-module-transforms": "^7.23.3", @@ -1560,6 +1624,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", + "peer": true, "dependencies": { "@babel/helper-module-transforms": "^7.23.3", "@babel/helper-plugin-utils": "^7.22.5" @@ -1575,6 +1640,7 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "peer": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -1590,6 +1656,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1604,6 +1671,7 @@ "version": "7.23.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" @@ -1619,6 +1687,7 @@ "version": "7.23.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-numeric-separator": "^7.10.4" @@ -1634,6 +1703,7 @@ "version": "7.23.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz", "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==", + "peer": true, "dependencies": { "@babel/compat-data": "^7.23.3", "@babel/helper-compilation-targets": "^7.22.15", @@ -1652,6 +1722,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-replace-supers": "^7.22.20" @@ -1667,6 +1738,7 @@ "version": "7.23.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" @@ -1682,6 +1754,7 @@ "version": "7.23.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", @@ -1698,6 +1771,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1712,6 +1786,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", + "peer": true, "dependencies": { "@babel/helper-create-class-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5" @@ -1727,6 +1802,7 @@ "version": "7.23.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", + "peer": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-create-class-features-plugin": "^7.22.15", @@ -1744,6 +1820,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1758,6 +1835,7 @@ "version": "7.21.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.21.3.tgz", "integrity": "sha512-4DVcFeWe/yDYBLp0kBmOGFJ6N2UYg7coGid1gdxb4co62dy/xISDMaYBXBVXEDhfgMk7qkbcYiGtwd5Q/hwDDQ==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.20.2" }, @@ -1772,6 +1850,7 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz", "integrity": "sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.18.6" }, @@ -1786,6 +1865,7 @@ "version": "7.21.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.21.0.tgz", "integrity": "sha512-6OAWljMvQrZjR2DaNhVfRz6dkCAVV+ymcLUmaf8bccGOHn2v5rHJK3tTpij0BuhdYWP4LLaqj5lwcdlpAAPuvg==", + "peer": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", "@babel/helper-module-imports": "^7.18.6", @@ -1804,6 +1884,7 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", + "peer": true, "dependencies": { "@babel/plugin-transform-react-jsx": "^7.18.6" }, @@ -1818,6 +1899,7 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz", "integrity": "sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==", + "peer": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -1833,6 +1915,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "regenerator-transform": "^0.15.2" @@ -1848,6 +1931,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1862,6 +1946,7 @@ "version": "7.23.6", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.6.tgz", "integrity": "sha512-kF1Zg62aPseQ11orDhFRw+aPG/eynNQtI+TyY+m33qJa2cJ5EEvza2P2BNTIA9E5MyqFABHEyY6CPHwgdy9aNg==", + "peer": true, "dependencies": { "@babel/helper-module-imports": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", @@ -1881,6 +1966,7 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "peer": true, "bin": { "semver": "bin/semver.js" } @@ -1889,6 +1975,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1903,6 +1990,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" @@ -1918,6 +2006,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1932,6 +2021,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1946,6 +2036,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1960,6 +2051,7 @@ "version": "7.21.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.21.3.tgz", "integrity": "sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw==", + "peer": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", "@babel/helper-create-class-features-plugin": "^7.21.0", @@ -1977,6 +2069,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -1991,6 +2084,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", + "peer": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5" @@ -2006,6 +2100,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", + "peer": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5" @@ -2021,6 +2116,7 @@ "version": "7.23.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", + "peer": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5" @@ -2036,6 +2132,7 @@ "version": "7.23.6", "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.6.tgz", "integrity": "sha512-2XPn/BqKkZCpzYhUUNZ1ssXw7DcXfKQEjv/uXZUXgaebCMYmkEsfZ2yY+vv+xtXv50WmL5SGhyB6/xsWxIvvOQ==", + "peer": true, "dependencies": { "@babel/compat-data": "^7.23.5", "@babel/helper-compilation-targets": "^7.23.6", @@ -2129,6 +2226,7 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "peer": true, "bin": { "semver": "bin/semver.js" } @@ -2137,6 +2235,7 @@ "version": "0.1.6-no-external-plugins", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/types": "^7.4.4", @@ -2150,6 +2249,7 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz", "integrity": "sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "@babel/helper-validator-option": "^7.18.6", @@ -2169,6 +2269,7 @@ "version": "7.21.4", "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.21.4.tgz", "integrity": "sha512-sMLNWY37TCdRH/bJ6ZeeOH1nPuanED7Ai9Y/vH31IPqalioJ6ZNFUWONsakhv4r4n+I6gm5lmoE0olkgib/j/A==", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.20.2", "@babel/helper-validator-option": "^7.21.0", @@ -2186,7 +2287,8 @@ "node_modules/@babel/regjsgen": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "peer": true }, "node_modules/@babel/runtime": { "version": "7.21.0", @@ -2260,15 +2362,96 @@ "node": ">=0.1.90" } }, + "node_modules/@craco/craco": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@craco/craco/-/craco-7.1.0.tgz", + "integrity": "sha512-oRAcPIKYrfPXp9rSzlsDNeOaVtDiKhoyqSXUoqiK24jCkHr4T8m/a2f74yXIzCbIheoUWDOIfWZyRgFgT+cpqA==", + "dependencies": { + "autoprefixer": "^10.4.12", + "cosmiconfig": "^7.0.1", + "cosmiconfig-typescript-loader": "^1.0.0", + "cross-spawn": "^7.0.3", + "lodash": "^4.17.21", + "semver": "^7.3.7", + "webpack-merge": "^5.8.0" + }, + "bin": { + "craco": "dist/bin/craco.js" + }, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "react-scripts": "^5.0.0" + } + }, + "node_modules/@craco/types": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@craco/types/-/types-7.1.0.tgz", + "integrity": "sha512-zdyk2G9UfEItrvnB+sd3xDHB5Mf3dsD6wE+Ex6V+Nch+GSXdFGQfXD/l+ZX9hO03R1rmnJPCxrIRPJUib8Q/MQ==", + "dependencies": { + "@babel/types": "^7.19.3", + "@jest/types": "^27.5.1", + "@types/eslint": "^8.4.6", + "autoprefixer": "^10.4.12", + "eslint-webpack-plugin": "^3.2.0", + "webpack": "^5.74.0" + } + }, + "node_modules/@craco/types/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@craco/types/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "node_modules/@csstools/normalize.css": { "version": "12.0.0", "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz", - "integrity": "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==" + "integrity": "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==", + "peer": true }, "node_modules/@csstools/postcss-cascade-layers": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", + "peer": true, "dependencies": { "@csstools/selector-specificity": "^2.0.2", "postcss-selector-parser": "^6.0.10" @@ -2288,6 +2471,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "peer": true, "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", "postcss-value-parser": "^4.2.0" @@ -2307,6 +2491,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2325,6 +2510,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2343,6 +2529,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "peer": true, "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", "postcss-value-parser": "^4.2.0" @@ -2362,6 +2549,7 @@ "version": "2.0.7", "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "peer": true, "dependencies": { "@csstools/selector-specificity": "^2.0.0", "postcss-selector-parser": "^6.0.10" @@ -2381,6 +2569,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2399,6 +2588,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2417,6 +2607,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "peer": true, "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", "postcss-value-parser": "^4.2.0" @@ -2436,6 +2627,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2450,6 +2642,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2468,6 +2661,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2486,6 +2680,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -2504,6 +2699,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", + "peer": true, "engines": { "node": "^12 || ^14 || >=16" }, @@ -2519,6 +2715,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", + "peer": true, "engines": { "node": "^14 || ^16 || >=18" }, @@ -3879,12 +4076,14 @@ "node_modules/@leichtgewicht/ip-codec": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", + "peer": true }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "peer": true, "dependencies": { "eslint-scope": "5.1.1" } @@ -3936,6 +4135,7 @@ "version": "0.5.10", "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.10.tgz", "integrity": "sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==", + "peer": true, "dependencies": { "ansi-html-community": "^0.0.8", "common-path-prefix": "^3.0.0", @@ -3985,6 +4185,7 @@ "version": "0.7.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "peer": true, "engines": { "node": ">= 8" } @@ -4084,7 +4285,8 @@ "node_modules/@rushstack/eslint-patch": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz", - "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==" + "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==", + "peer": true }, "node_modules/@sinclair/typebox": { "version": "0.27.8", @@ -4111,6 +4313,7 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "peer": true, "dependencies": { "ejs": "^3.1.6", "json5": "^2.2.0", @@ -4122,6 +4325,7 @@ "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", + "peer": true, "engines": { "node": ">=10" }, @@ -4134,6 +4338,7 @@ "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", + "peer": true, "engines": { "node": ">=10" }, @@ -4146,6 +4351,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", + "peer": true, "engines": { "node": ">=10" }, @@ -4158,6 +4364,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", + "peer": true, "engines": { "node": ">=10" }, @@ -4170,6 +4377,7 @@ "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", + "peer": true, "engines": { "node": ">=10" }, @@ -4182,6 +4390,7 @@ "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", + "peer": true, "engines": { "node": ">=10" }, @@ -4194,6 +4403,7 @@ "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", + "peer": true, "engines": { "node": ">=10" }, @@ -4206,6 +4416,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", + "peer": true, "engines": { "node": ">=10" }, @@ -4218,6 +4429,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "peer": true, "dependencies": { "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", @@ -4240,6 +4452,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "peer": true, "dependencies": { "@svgr/plugin-jsx": "^5.5.0", "camelcase": "^6.2.0", @@ -4257,6 +4470,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "peer": true, "dependencies": { "@babel/types": "^7.12.6" }, @@ -4272,6 +4486,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "peer": true, "dependencies": { "@babel/core": "^7.12.3", "@svgr/babel-preset": "^5.5.0", @@ -4290,6 +4505,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "peer": true, "dependencies": { "cosmiconfig": "^7.0.0", "deepmerge": "^4.2.2", @@ -4307,6 +4523,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "peer": true, "dependencies": { "@babel/core": "^7.12.3", "@babel/plugin-transform-react-constant-elements": "^7.12.1", @@ -4425,15 +4642,30 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "peer": true, "engines": { "node": ">=10.13.0" } }, + "node_modules/@tsconfig/node10": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" + }, "node_modules/@tsconfig/node16": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" }, "node_modules/@types/aria-query": { "version": "5.0.1", @@ -4481,6 +4713,7 @@ "version": "1.19.2", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "peer": true, "dependencies": { "@types/connect": "*", "@types/node": "*" @@ -4490,6 +4723,7 @@ "version": "3.5.10", "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "peer": true, "dependencies": { "@types/node": "*" } @@ -4498,6 +4732,7 @@ "version": "3.4.35", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "peer": true, "dependencies": { "@types/node": "*" } @@ -4506,6 +4741,7 @@ "version": "1.3.5", "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "peer": true, "dependencies": { "@types/express-serve-static-core": "*", "@types/node": "*" @@ -4538,6 +4774,7 @@ "version": "4.17.21", "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "peer": true, "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", @@ -4549,6 +4786,7 @@ "version": "4.17.33", "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz", "integrity": "sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==", + "peer": true, "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -4585,12 +4823,14 @@ "node_modules/@types/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "peer": true }, "node_modules/@types/http-proxy": { "version": "1.17.10", "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.10.tgz", "integrity": "sha512-Qs5aULi+zV1bwKAg5z1PWnDXWmsn+LxIvUGv6E2+OOMYhclZMO+OXd9pYVf2gLykf2I7IV2u7oTHwChPNsvJ7g==", + "peer": true, "dependencies": { "@types/node": "*" } @@ -4688,7 +4928,8 @@ "node_modules/@types/mime": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", - "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==" + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==", + "peer": true }, "node_modules/@types/node": { "version": "18.19.31", @@ -4711,7 +4952,8 @@ "node_modules/@types/prettier": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", - "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==" + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", + "peer": true }, "node_modules/@types/prop-types": { "version": "15.7.5", @@ -4721,17 +4963,20 @@ "node_modules/@types/q": { "version": "1.5.5", "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", - "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" + "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==", + "peer": true }, "node_modules/@types/qs": { "version": "6.9.7", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "peer": true }, "node_modules/@types/range-parser": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "peer": true }, "node_modules/@types/react": { "version": "18.0.31", @@ -4844,6 +5089,7 @@ "version": "1.17.1", "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "peer": true, "dependencies": { "@types/node": "*" } @@ -4851,7 +5097,8 @@ "node_modules/@types/retry": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "peer": true }, "node_modules/@types/scheduler": { "version": "0.16.3", @@ -4867,6 +5114,7 @@ "version": "1.9.1", "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "peer": true, "dependencies": { "@types/express": "*" } @@ -4875,6 +5123,7 @@ "version": "1.15.1", "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.1.tgz", "integrity": "sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==", + "peer": true, "dependencies": { "@types/mime": "*", "@types/node": "*" @@ -4896,6 +5145,7 @@ "version": "0.3.33", "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "peer": true, "dependencies": { "@types/node": "*" } @@ -4916,7 +5166,8 @@ "node_modules/@types/trusted-types": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz", - "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==" + "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==", + "peer": true }, "node_modules/@types/use-sync-external-store": { "version": "0.0.3", @@ -4937,6 +5188,7 @@ "version": "8.5.4", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz", "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==", + "peer": true, "dependencies": { "@types/node": "*" } @@ -5001,6 +5253,7 @@ "version": "5.59.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.59.0.tgz", "integrity": "sha512-evvdzcPrUv9+Hj+KX6fa3WMrtTZ7onnGHL3NfT/zN9q2FQhb2yvNJDa+w/ND0TpdRCbulwag0dxwMUt2MJB2Vg==", + "peer": true, "dependencies": { "@typescript-eslint/utils": "5.59.0" }, @@ -5019,6 +5272,7 @@ "version": "5.59.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.0.tgz", "integrity": "sha512-tsoldKaMh7izN6BvkK6zRMINj4Z2d6gGhO2UsI8zGZY3XhLq1DndP3Ycjhi1JwdwPRwtLMW4EFPgpuKhbCGOvQ==", + "peer": true, "dependencies": { "@typescript-eslint/types": "5.59.0", "@typescript-eslint/visitor-keys": "5.59.0" @@ -5035,6 +5289,7 @@ "version": "5.59.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.0.tgz", "integrity": "sha512-yR2h1NotF23xFFYKHZs17QJnB51J/s+ud4PYU4MqdZbzeNxpgUr05+dNeCN/bb6raslHvGdd6BFCkVhpPk/ZeA==", + "peer": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -5047,6 +5302,7 @@ "version": "5.59.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.0.tgz", "integrity": "sha512-sUNnktjmI8DyGzPdZ8dRwW741zopGxltGs/SAPgGL/AAgDpiLsCFLcMNSpbfXfmnNeHmK9h3wGmCkGRGAoUZAg==", + "peer": true, "dependencies": { "@typescript-eslint/types": "5.59.0", "@typescript-eslint/visitor-keys": "5.59.0", @@ -5073,6 +5329,7 @@ "version": "5.59.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.0.tgz", "integrity": "sha512-GGLFd+86drlHSvPgN/el6dRQNYYGOvRSDVydsUaQluwIW3HvbXuxyuD5JETvBt/9qGYe+lOrDk6gRrWOHb/FvA==", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", @@ -5098,6 +5355,7 @@ "version": "5.59.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.0.tgz", "integrity": "sha512-qZ3iXxQhanchCeaExlKPV3gDQFxMUmU35xfd5eCXB6+kUw1TUAbIy2n7QIrwz9s98DQLzNWyHp61fY0da4ZcbA==", + "peer": true, "dependencies": { "@typescript-eslint/types": "5.59.0", "eslint-visitor-keys": "^3.3.0" @@ -5555,6 +5813,7 @@ "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "peer": true, "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" @@ -5611,6 +5870,7 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "peer": true, "engines": { "node": ">= 10.0.0" } @@ -5619,6 +5879,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "peer": true, "dependencies": { "loader-utils": "^2.0.0", "regex-parser": "^2.2.11" @@ -5752,6 +6013,7 @@ "engines": [ "node >= 0.8.0" ], + "peer": true, "bin": { "ansi-html": "bin/ansi-html" } @@ -5781,7 +6043,8 @@ "node_modules/any-promise": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "peer": true }, "node_modules/anymatch": { "version": "3.1.3", @@ -5818,7 +6081,8 @@ "node_modules/arg": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "peer": true }, "node_modules/argparse": { "version": "2.0.1", @@ -5848,7 +6112,8 @@ "node_modules/array-flatten": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "peer": true }, "node_modules/array-includes": { "version": "3.1.6", @@ -5914,6 +6179,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz", "integrity": "sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==", + "peer": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -5963,7 +6229,8 @@ "node_modules/asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "peer": true }, "node_modules/asn1": { "version": "0.2.6", @@ -6162,6 +6429,7 @@ "version": "8.3.0", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "peer": true, "dependencies": { "find-cache-dir": "^3.3.1", "loader-utils": "^2.0.0", @@ -6180,6 +6448,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "peer": true, "dependencies": { "@types/json-schema": "^7.0.5", "ajv": "^6.12.4", @@ -6241,6 +6510,7 @@ "version": "0.3.8", "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", + "peer": true, "peerDependencies": { "@babel/core": "^7.1.0" } @@ -6249,6 +6519,7 @@ "version": "0.4.7", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.7.tgz", "integrity": "sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ==", + "peer": true, "dependencies": { "@babel/compat-data": "^7.22.6", "@babel/helper-define-polyfill-provider": "^0.4.4", @@ -6262,6 +6533,7 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "peer": true, "bin": { "semver": "bin/semver.js" } @@ -6270,6 +6542,7 @@ "version": "0.8.7", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.7.tgz", "integrity": "sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==", + "peer": true, "dependencies": { "@babel/helper-define-polyfill-provider": "^0.4.4", "core-js-compat": "^3.33.1" @@ -6282,6 +6555,7 @@ "version": "0.5.4", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.4.tgz", "integrity": "sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg==", + "peer": true, "dependencies": { "@babel/helper-define-polyfill-provider": "^0.4.4" }, @@ -6292,7 +6566,8 @@ "node_modules/babel-plugin-transform-react-remove-prop-types": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", - "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==", + "peer": true }, "node_modules/babel-preset-current-node-syntax": { "version": "1.0.1", @@ -6336,6 +6611,7 @@ "version": "10.0.1", "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", + "peer": true, "dependencies": { "@babel/core": "^7.16.0", "@babel/plugin-proposal-class-properties": "^7.16.0", @@ -6382,7 +6658,8 @@ "node_modules/batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "peer": true }, "node_modules/bcrypt-pbkdf": { "version": "1.0.2", @@ -6397,6 +6674,7 @@ "version": "7.0.2", "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", + "peer": true, "dependencies": { "bluebird": "^3.5.5", "check-types": "^11.1.1", @@ -6411,6 +6689,7 @@ "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "peer": true, "engines": { "node": "*" } @@ -6438,6 +6717,7 @@ "version": "1.20.3", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "peer": true, "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.5", @@ -6461,6 +6741,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "peer": true, "engines": { "node": ">= 0.8" } @@ -6469,6 +6750,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "peer": true, "dependencies": { "ms": "2.0.0" } @@ -6477,6 +6759,7 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "peer": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -6487,12 +6770,14 @@ "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "peer": true }, "node_modules/bonjour-service": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", + "peer": true, "dependencies": { "array-flatten": "^2.1.2", "dns-equal": "^1.0.0", @@ -6503,7 +6788,8 @@ "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "peer": true }, "node_modules/bootstrap": { "version": "5.2.3", @@ -6561,7 +6847,8 @@ "node_modules/browser-process-hrtime": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "peer": true }, "node_modules/browserslist": { "version": "4.22.2", @@ -6656,6 +6943,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "peer": true, "engines": { "node": ">=6" }, @@ -6676,6 +6964,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "peer": true, "engines": { "node": ">= 0.8" } @@ -6750,6 +7039,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "peer": true, "dependencies": { "pascal-case": "^3.1.2", "tslib": "^2.0.3" @@ -6770,6 +7060,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "peer": true, "engines": { "node": ">= 6" } @@ -6778,6 +7069,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "peer": true, "dependencies": { "browserslist": "^4.0.0", "caniuse-lite": "^1.0.0", @@ -6808,6 +7100,7 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "peer": true, "engines": { "node": ">=4" } @@ -6864,7 +7157,8 @@ "node_modules/check-types": { "version": "11.2.2", "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.2.tgz", - "integrity": "sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA==" + "integrity": "sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA==", + "peer": true }, "node_modules/child_process": { "version": "1.0.2", @@ -6952,6 +7246,7 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", + "peer": true, "dependencies": { "source-map": "~0.6.0" }, @@ -7024,6 +7319,19 @@ "node": ">=12" } }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/clsx": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", @@ -7045,6 +7353,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "peer": true, "dependencies": { "@types/q": "^1.5.1", "chalk": "^2.4.1", @@ -7058,6 +7367,7 @@ "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==", + "peer": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -7069,6 +7379,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "peer": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -7082,6 +7393,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "peer": true, "dependencies": { "color-name": "1.1.3" } @@ -7089,12 +7401,14 @@ "node_modules/coa/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==" + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "peer": true }, "node_modules/coa/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==", + "peer": true, "engines": { "node": ">=0.8.0" } @@ -7103,6 +7417,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "peer": true, "engines": { "node": ">=4" } @@ -7111,6 +7426,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "peer": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -7142,7 +7458,8 @@ "node_modules/colord": { "version": "2.9.3", "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "peer": true }, "node_modules/colorette": { "version": "2.0.19", @@ -7164,6 +7481,7 @@ "version": "8.3.0", "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "peer": true, "engines": { "node": ">= 12" } @@ -7180,7 +7498,8 @@ "node_modules/common-path-prefix": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", + "peer": true }, "node_modules/common-tags": { "version": "1.8.2", @@ -7193,12 +7512,14 @@ "node_modules/commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "peer": true }, "node_modules/compressible": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "peer": true, "dependencies": { "mime-db": ">= 1.43.0 < 2" }, @@ -7210,6 +7531,7 @@ "version": "1.7.4", "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "peer": true, "dependencies": { "accepts": "~1.3.5", "bytes": "3.0.0", @@ -7227,6 +7549,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "peer": true, "dependencies": { "ms": "2.0.0" } @@ -7234,12 +7557,19 @@ "node_modules/compression/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "peer": true }, "node_modules/compression/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "peer": true + }, + "node_modules/compute-scroll-into-view": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.1.0.tgz", + "integrity": "sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg==" }, "node_modules/concat-map": { "version": "0.0.1", @@ -7255,6 +7585,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "peer": true, "engines": { "node": ">=0.8" } @@ -7263,6 +7594,7 @@ "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "peer": true, "dependencies": { "safe-buffer": "5.2.1" }, @@ -7274,6 +7606,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "peer": true, "engines": { "node": ">= 0.6" } @@ -7287,6 +7620,7 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "peer": true, "engines": { "node": ">= 0.6" } @@ -7294,13 +7628,15 @@ "node_modules/cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "peer": true }, "node_modules/core-js": { "version": "3.30.1", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", "hasInstallScript": true, + "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" @@ -7310,6 +7646,7 @@ "version": "3.34.0", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.34.0.tgz", "integrity": "sha512-4ZIyeNbW/Cn1wkMMDy+mvrRUxrwFNjKwbhCfQpDd+eLgYipDqp8oGFGtLmhh18EDPKA0g3VUBYOxQGGwvWLVpA==", + "peer": true, "dependencies": { "browserslist": "^4.22.2" }, @@ -7323,6 +7660,7 @@ "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.30.1.tgz", "integrity": "sha512-nXBEVpmUnNRhz83cHd9JRQC52cTMcuXAmR56+9dSMpRdpeA4I1PX6yjmhd71Eyc/wXNsdBdUDIj1QTIeZpU5Tg==", "hasInstallScript": true, + "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" @@ -7331,7 +7669,8 @@ "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "peer": true }, "node_modules/cosmiconfig": { "version": "7.1.0", @@ -7348,11 +7687,34 @@ "node": ">=10" } }, + "node_modules/cosmiconfig-typescript-loader": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-1.0.9.tgz", + "integrity": "sha512-tRuMRhxN4m1Y8hP9SNYfz7jRwt8lZdWxdjg/ohg5esKmsndJIn4yT96oJVcf5x0eA11taXl+sIp+ielu529k6g==", + "dependencies": { + "cosmiconfig": "^7", + "ts-node": "^10.7.0" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "peerDependencies": { + "@types/node": "*", + "cosmiconfig": ">=7", + "typescript": ">=3" + } + }, "node_modules/country-flag-icons": { "version": "1.5.7", "resolved": "https://registry.npmjs.org/country-flag-icons/-/country-flag-icons-1.5.7.tgz", "integrity": "sha512-AdvXhMcmSp7nBSkpGfW4qR/luAdRUutJqya9PuwRbsBzuoknThfultbv7Ib6fWsHXC43Es/4QJ8gzQQdBNm75A==" }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -7370,6 +7732,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "peer": true, "engines": { "node": ">=8" } @@ -7378,6 +7741,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "peer": true, "dependencies": { "postcss-selector-parser": "^6.0.9" }, @@ -7395,6 +7759,7 @@ "version": "6.4.0", "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.0.tgz", "integrity": "sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew==", + "peer": true, "engines": { "node": "^10 || ^12 || >=14" }, @@ -7406,6 +7771,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "peer": true, "dependencies": { "postcss-selector-parser": "^6.0.9" }, @@ -7423,6 +7789,7 @@ "version": "6.7.3", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz", "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==", + "peer": true, "dependencies": { "icss-utils": "^5.1.0", "postcss": "^8.4.19", @@ -7448,6 +7815,7 @@ "version": "3.4.1", "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "peer": true, "dependencies": { "cssnano": "^5.0.6", "jest-worker": "^27.0.2", @@ -7485,6 +7853,7 @@ "version": "8.12.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -7500,6 +7869,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3" }, @@ -7510,12 +7880,14 @@ "node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "peer": true }, "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.1.tgz", "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==", + "peer": true, "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -7534,6 +7906,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "peer": true, "bin": { "css-prefers-color-scheme": "dist/cli.cjs" }, @@ -7548,6 +7921,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "peer": true, "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.0.1", @@ -7562,12 +7936,14 @@ "node_modules/css-select-base-adapter": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "peer": true }, "node_modules/css-tree": { "version": "1.0.0-alpha.37", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "peer": true, "dependencies": { "mdn-data": "2.0.4", "source-map": "^0.6.1" @@ -7580,6 +7956,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "peer": true, "engines": { "node": ">= 6" }, @@ -7596,6 +7973,7 @@ "version": "7.5.4", "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.5.4.tgz", "integrity": "sha512-fGD+J6Jlq+aurfE1VDXlLS4Pt0VtNlu2+YgfGOdMxRyl/HQ9bDiHTwSck1Yz8A97Dt/82izSK6Bp/4nVqacOsg==", + "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/csstools" @@ -7605,6 +7983,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "peer": true, "bin": { "cssesc": "bin/cssesc" }, @@ -7616,6 +7995,7 @@ "version": "5.1.15", "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "peer": true, "dependencies": { "cssnano-preset-default": "^5.2.14", "lilconfig": "^2.0.3", @@ -7636,6 +8016,7 @@ "version": "5.2.14", "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "peer": true, "dependencies": { "css-declaration-sorter": "^6.3.1", "cssnano-utils": "^3.1.0", @@ -7678,6 +8059,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "peer": true, "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -7689,6 +8071,7 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "peer": true, "dependencies": { "css-tree": "^1.1.2" }, @@ -7700,6 +8083,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "peer": true, "dependencies": { "mdn-data": "2.0.14", "source-map": "^0.6.1" @@ -7711,12 +8095,14 @@ "node_modules/csso/node_modules/mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "peer": true }, "node_modules/cssom": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "peer": true }, "node_modules/cssstyle": { "version": "3.0.0", @@ -7959,7 +8345,8 @@ "node_modules/dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "peer": true }, "node_modules/deep-equal": { "version": "2.2.0", @@ -8010,6 +8397,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "peer": true, "dependencies": { "execa": "^5.0.0" }, @@ -8037,6 +8425,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "peer": true, "engines": { "node": ">=8" } @@ -8085,6 +8474,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "peer": true, "engines": { "node": ">= 0.8", "npm": "1.2.8000 || >= 1.4.16" @@ -8101,12 +8491,14 @@ "node_modules/detect-node": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "peer": true }, "node_modules/detect-port-alt": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "peer": true, "dependencies": { "address": "^1.0.1", "debug": "^2.6.0" @@ -8123,6 +8515,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "peer": true, "dependencies": { "ms": "2.0.0" } @@ -8130,12 +8523,22 @@ "node_modules/detect-port-alt/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "peer": true }, "node_modules/didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "peer": true + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "engines": { + "node": ">=0.3.1" + } }, "node_modules/diff-sequences": { "version": "29.6.3", @@ -8159,17 +8562,20 @@ "node_modules/dlv": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "peer": true }, "node_modules/dns-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", + "peer": true }, "node_modules/dns-packet": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.5.0.tgz", "integrity": "sha512-USawdAUzRkV6xrqTjiAEp6M9YagZEzWcSUaZTcIFAiyQWW1SoI6KyId8y2+/71wbgHKQAKd+iupLv4YvEwYWvA==", + "peer": true, "dependencies": { "@leichtgewicht/ip-codec": "^2.0.1" }, @@ -8197,6 +8603,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "peer": true, "dependencies": { "utila": "~0.4" } @@ -8214,6 +8621,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "peer": true, "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.2.0", @@ -8227,6 +8635,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "peer": true, "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } @@ -8240,7 +8649,8 @@ "type": "github", "url": "https://github.com/sponsors/fb55" } - ] + ], + "peer": true }, "node_modules/domexception": { "version": "4.0.0", @@ -8257,6 +8667,7 @@ "version": "4.3.1", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "peer": true, "dependencies": { "domelementtype": "^2.2.0" }, @@ -8271,6 +8682,7 @@ "version": "2.8.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "peer": true, "dependencies": { "dom-serializer": "^1.0.1", "domelementtype": "^2.2.0", @@ -8284,6 +8696,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "peer": true, "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" @@ -8300,12 +8713,14 @@ "node_modules/dotenv-expand": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "peer": true }, "node_modules/duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "peer": true }, "node_modules/ecc-jsbn": { "version": "0.1.2", @@ -8320,12 +8735,14 @@ "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "peer": true }, "node_modules/ejs": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "peer": true, "dependencies": { "jake": "^10.8.5" }, @@ -8362,6 +8779,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "peer": true, "engines": { "node": ">= 4" } @@ -8370,6 +8788,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "peer": true, "engines": { "node": ">= 0.8" } @@ -8452,6 +8871,7 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "peer": true, "dependencies": { "stackframe": "^1.3.4" } @@ -8511,7 +8931,8 @@ "node_modules/es-array-method-boxes-properly": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "peer": true }, "node_modules/es-define-property": { "version": "1.0.0", @@ -8625,7 +9046,8 @@ "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==" + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "peer": true }, "node_modules/escape-string-regexp": { "version": "4.0.0", @@ -8782,6 +9204,7 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "peer": true, "dependencies": { "@babel/core": "^7.16.0", "@babel/eslint-parser": "^7.16.3", @@ -8938,6 +9361,7 @@ "version": "8.0.3", "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", + "peer": true, "dependencies": { "lodash": "^4.17.21", "string-natural-compare": "^3.0.1" @@ -9010,6 +9434,7 @@ "version": "25.7.0", "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "peer": true, "dependencies": { "@typescript-eslint/experimental-utils": "^5.0.0" }, @@ -9203,6 +9628,7 @@ "version": "5.10.3", "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.10.3.tgz", "integrity": "sha512-0yhsKFsjHLud5PM+f2dWr9K3rqYzMy4cSHs3lcmFYMa1CdSzRvHGgXvsFarBjZ41gU8jhTdMIkg8jHLxGJqLqw==", + "peer": true, "dependencies": { "@typescript-eslint/utils": "^5.58.0" }, @@ -9218,6 +9644,7 @@ "version": "5.59.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.0.tgz", "integrity": "sha512-tsoldKaMh7izN6BvkK6zRMINj4Z2d6gGhO2UsI8zGZY3XhLq1DndP3Ycjhi1JwdwPRwtLMW4EFPgpuKhbCGOvQ==", + "peer": true, "dependencies": { "@typescript-eslint/types": "5.59.0", "@typescript-eslint/visitor-keys": "5.59.0" @@ -9234,6 +9661,7 @@ "version": "5.59.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.0.tgz", "integrity": "sha512-yR2h1NotF23xFFYKHZs17QJnB51J/s+ud4PYU4MqdZbzeNxpgUr05+dNeCN/bb6raslHvGdd6BFCkVhpPk/ZeA==", + "peer": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -9246,6 +9674,7 @@ "version": "5.59.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.0.tgz", "integrity": "sha512-sUNnktjmI8DyGzPdZ8dRwW741zopGxltGs/SAPgGL/AAgDpiLsCFLcMNSpbfXfmnNeHmK9h3wGmCkGRGAoUZAg==", + "peer": true, "dependencies": { "@typescript-eslint/types": "5.59.0", "@typescript-eslint/visitor-keys": "5.59.0", @@ -9272,6 +9701,7 @@ "version": "5.59.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.0.tgz", "integrity": "sha512-GGLFd+86drlHSvPgN/el6dRQNYYGOvRSDVydsUaQluwIW3HvbXuxyuD5JETvBt/9qGYe+lOrDk6gRrWOHb/FvA==", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", @@ -9297,6 +9727,7 @@ "version": "5.59.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.0.tgz", "integrity": "sha512-qZ3iXxQhanchCeaExlKPV3gDQFxMUmU35xfd5eCXB6+kUw1TUAbIy2n7QIrwz9s98DQLzNWyHp61fY0da4ZcbA==", + "peer": true, "dependencies": { "@typescript-eslint/types": "5.59.0", "eslint-visitor-keys": "^3.3.0" @@ -9564,7 +9995,8 @@ "node_modules/estree-walker": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "peer": true }, "node_modules/esutils": { "version": "2.0.3", @@ -9578,6 +10010,7 @@ "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "peer": true, "engines": { "node": ">= 0.6" } @@ -9591,7 +10024,8 @@ "node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "peer": true }, "node_modules/events": { "version": "3.3.0", @@ -9686,6 +10120,7 @@ "version": "4.21.0", "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz", "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==", + "peer": true, "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", @@ -9726,12 +10161,14 @@ "node_modules/express/node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "peer": true }, "node_modules/express/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "peer": true, "dependencies": { "ms": "2.0.0" } @@ -9739,12 +10176,14 @@ "node_modules/express/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "peer": true }, "node_modules/express/node_modules/path-to-regexp": { "version": "0.1.10", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", - "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==" + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", + "peer": true }, "node_modules/extend": { "version": "3.0.2", @@ -9854,6 +10293,7 @@ "version": "0.11.4", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "peer": true, "dependencies": { "websocket-driver": ">=0.5.1" }, @@ -9917,6 +10357,7 @@ "version": "6.2.0", "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "peer": true, "dependencies": { "loader-utils": "^2.0.0", "schema-utils": "^3.0.0" @@ -9936,6 +10377,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "peer": true, "dependencies": { "minimatch": "^5.0.1" } @@ -9944,6 +10386,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "peer": true, "dependencies": { "balanced-match": "^1.0.0" } @@ -9952,6 +10395,7 @@ "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "peer": true, "dependencies": { "brace-expansion": "^2.0.1" }, @@ -9963,6 +10407,7 @@ "version": "8.0.7", "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "peer": true, "engines": { "node": ">= 0.4.0" } @@ -9982,6 +10427,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "peer": true, "dependencies": { "debug": "2.6.9", "encodeurl": "~2.0.0", @@ -9999,6 +10445,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "peer": true, "dependencies": { "ms": "2.0.0" } @@ -10006,12 +10453,14 @@ "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "peer": true }, "node_modules/find-cache-dir": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "peer": true, "dependencies": { "commondir": "^1.0.1", "make-dir": "^3.0.2", @@ -10044,6 +10493,14 @@ "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==", + "bin": { + "flat": "cli.js" + } + }, "node_modules/flat-cache": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", @@ -10101,6 +10558,7 @@ "version": "6.5.3", "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "peer": true, "dependencies": { "@babel/code-frame": "^7.8.3", "@types/json-schema": "^7.0.5", @@ -10139,6 +10597,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "peer": true, "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.1.0", @@ -10154,6 +10613,7 @@ "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "peer": true, "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -10168,6 +10628,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "peer": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -10187,6 +10648,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "peer": true, "dependencies": { "@types/json-schema": "^7.0.4", "ajv": "^6.12.2", @@ -10204,6 +10666,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "peer": true, "engines": { "node": ">=6" } @@ -10226,6 +10689,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "peer": true, "engines": { "node": ">= 0.6" } @@ -10246,6 +10710,7 @@ "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "peer": true, "engines": { "node": ">= 0.6" } @@ -10259,6 +10724,7 @@ "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==", + "peer": true, "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -10282,7 +10748,8 @@ "node_modules/fs-monkey": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==" + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "peer": true }, "node_modules/fs.realpath": { "version": "1.0.0", @@ -10372,7 +10839,8 @@ "node_modules/get-own-enumerable-property-symbols": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "peer": true }, "node_modules/get-package-type": { "version": "0.1.0", @@ -10509,6 +10977,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "peer": true, "dependencies": { "global-prefix": "^3.0.0" }, @@ -10520,6 +10989,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "peer": true, "dependencies": { "ini": "^1.3.5", "kind-of": "^6.0.2", @@ -10533,6 +11003,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "peer": true, "dependencies": { "isexe": "^2.0.0" }, @@ -10606,6 +11077,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "peer": true, "dependencies": { "duplexer": "^0.1.2" }, @@ -10619,12 +11091,14 @@ "node_modules/handle-thing": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "peer": true }, "node_modules/harmony-reflect": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", - "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", + "peer": true }, "node_modules/has": { "version": "1.0.3", @@ -10715,6 +11189,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "peer": true, "bin": { "he": "bin/he" } @@ -10731,6 +11206,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "peer": true, "engines": { "node": ">= 6.0.0" } @@ -10739,6 +11215,7 @@ "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "peer": true, "dependencies": { "inherits": "^2.0.1", "obuf": "^1.0.0", @@ -10749,12 +11226,14 @@ "node_modules/hpack.js/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "peer": true }, "node_modules/hpack.js/node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "peer": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -10768,12 +11247,14 @@ "node_modules/hpack.js/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "peer": true }, "node_modules/hpack.js/node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "peer": true, "dependencies": { "safe-buffer": "~5.1.0" } @@ -10792,7 +11273,8 @@ "node_modules/html-entities": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", - "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==" + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", + "peer": true }, "node_modules/html-escaper": { "version": "2.0.2", @@ -10803,6 +11285,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "peer": true, "dependencies": { "camel-case": "^4.1.2", "clean-css": "^5.2.2", @@ -10823,6 +11306,7 @@ "version": "5.5.1", "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.1.tgz", "integrity": "sha512-cTUzZ1+NqjGEKjmVgZKLMdiFg3m9MdRXkZW2OEe69WYVi5ONLMmlnSZdXzGGMOq0C8jGDrL6EWyEDDUioHO/pA==", + "peer": true, "dependencies": { "@types/html-minifier-terser": "^6.0.0", "html-minifier-terser": "^6.0.2", @@ -10852,6 +11336,7 @@ "url": "https://github.com/sponsors/fb55" } ], + "peer": true, "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.0.0", @@ -10863,6 +11348,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "peer": true, "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } @@ -10875,12 +11361,14 @@ "node_modules/http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "peer": true }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "peer": true, "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", @@ -10895,12 +11383,14 @@ "node_modules/http-parser-js": { "version": "0.5.8", "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "peer": true }, "node_modules/http-proxy": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "peer": true, "dependencies": { "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", @@ -10927,6 +11417,7 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "peer": true, "dependencies": { "@types/http-proxy": "^1.17.8", "http-proxy": "^1.18.1", @@ -11003,6 +11494,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "peer": true, "engines": { "node": "^10 || ^12 || >= 14" }, @@ -11013,12 +11505,14 @@ "node_modules/idb": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", - "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==", + "peer": true }, "node_modules/identity-obj-proxy": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "peer": true, "dependencies": { "harmony-reflect": "^1.4.6" }, @@ -11139,7 +11633,8 @@ "node_modules/ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "peer": true }, "node_modules/input-format": { "version": "0.3.8", @@ -11187,6 +11682,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "peer": true, "engines": { "node": ">= 10" } @@ -11327,6 +11823,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "peer": true, "bin": { "is-docker": "cli.js" }, @@ -11429,7 +11926,8 @@ "node_modules/is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "peer": true }, "node_modules/is-nan": { "version": "1.3.2", @@ -11483,6 +11981,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -11499,6 +11998,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "peer": true, "engines": { "node": ">=10" }, @@ -11506,6 +12006,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", @@ -11530,6 +12041,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -11538,6 +12050,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "peer": true, "engines": { "node": ">=6" } @@ -11666,6 +12179,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "peer": true, "dependencies": { "is-docker": "^2.0.0" }, @@ -11683,6 +12197,14 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", @@ -11774,6 +12296,7 @@ "version": "10.8.5", "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", + "peer": true, "dependencies": { "async": "^3.2.3", "chalk": "^4.0.2", @@ -12340,6 +12863,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "peer": true, "dependencies": { "@jest/environment": "^27.5.1", "@jest/fake-timers": "^27.5.1", @@ -12357,6 +12881,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "peer": true, "dependencies": { "@jest/fake-timers": "^27.5.1", "@jest/types": "^27.5.1", @@ -12371,6 +12896,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "peer": true, "dependencies": { "@jest/types": "^27.5.1", "@sinonjs/fake-timers": "^8.0.1", @@ -12387,6 +12913,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -12402,6 +12929,7 @@ "version": "1.8.6", "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "peer": true, "dependencies": { "type-detect": "4.0.8" } @@ -12410,6 +12938,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "peer": true, "dependencies": { "@sinonjs/commons": "^1.7.0" } @@ -12418,6 +12947,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "peer": true, "engines": { "node": ">= 6" } @@ -12426,6 +12956,7 @@ "version": "16.0.5", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -12434,6 +12965,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "peer": true, "dependencies": { "acorn": "^7.1.1", "acorn-walk": "^7.1.1" @@ -12443,6 +12975,7 @@ "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -12454,6 +12987,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "peer": true, "engines": { "node": ">=0.4.0" } @@ -12462,6 +12996,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "peer": true, "dependencies": { "cssom": "~0.3.6" }, @@ -12472,12 +13007,14 @@ "node_modules/jest-environment-jsdom/node_modules/cssstyle/node_modules/cssom": { "version": "0.3.8", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "peer": true }, "node_modules/jest-environment-jsdom/node_modules/data-urls": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "peer": true, "dependencies": { "abab": "^2.0.3", "whatwg-mimetype": "^2.3.0", @@ -12491,6 +13028,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "peer": true, "dependencies": { "webidl-conversions": "^5.0.0" }, @@ -12502,6 +13040,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "peer": true, "engines": { "node": ">=8" } @@ -12510,6 +13049,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "peer": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -12523,6 +13063,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "peer": true, "dependencies": { "whatwg-encoding": "^1.0.5" }, @@ -12534,6 +13075,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "peer": true, "dependencies": { "@tootallnate/once": "1", "agent-base": "6", @@ -12547,6 +13089,7 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "peer": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -12558,6 +13101,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "peer": true, "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^27.5.1", @@ -12577,6 +13121,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "peer": true, "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*" @@ -12589,6 +13134,7 @@ "version": "16.7.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "peer": true, "dependencies": { "abab": "^2.0.5", "acorn": "^8.2.4", @@ -12633,12 +13179,14 @@ "node_modules/jest-environment-jsdom/node_modules/parse5": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "peer": true }, "node_modules/jest-environment-jsdom/node_modules/saxes": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "peer": true, "dependencies": { "xmlchars": "^2.2.0" }, @@ -12650,6 +13198,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "peer": true, "dependencies": { "punycode": "^2.1.1" }, @@ -12661,6 +13210,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "peer": true, "dependencies": { "xml-name-validator": "^3.0.0" }, @@ -12672,6 +13222,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "peer": true, "engines": { "node": ">=10.4" } @@ -12680,6 +13231,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "peer": true, "dependencies": { "iconv-lite": "0.4.24" } @@ -12687,12 +13239,14 @@ "node_modules/jest-environment-jsdom/node_modules/whatwg-mimetype": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "peer": true }, "node_modules/jest-environment-jsdom/node_modules/whatwg-url": { "version": "8.7.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "peer": true, "dependencies": { "lodash": "^4.7.0", "tr46": "^2.1.0", @@ -12706,6 +13260,7 @@ "version": "7.5.10", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "peer": true, "engines": { "node": ">=8.3.0" }, @@ -12725,7 +13280,8 @@ "node_modules/jest-environment-jsdom/node_modules/xml-name-validator": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "peer": true }, "node_modules/jest-environment-node": { "version": "29.7.0", @@ -12765,6 +13321,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "peer": true, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -12773,6 +13330,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "peer": true, "dependencies": { "@jest/types": "^27.5.1", "@types/graceful-fs": "^4.1.2", @@ -12798,6 +13356,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -12813,6 +13372,7 @@ "version": "16.0.5", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -13091,6 +13651,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "peer": true, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -13099,6 +13660,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "peer": true, "dependencies": { "@jest/types": "^27.5.1", "chalk": "^4.0.0", @@ -13141,6 +13703,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -13156,6 +13719,7 @@ "version": "16.0.5", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -13589,6 +14153,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "peer": true, "dependencies": { "@types/node": "*", "graceful-fs": "^4.2.9" @@ -13684,6 +14249,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "peer": true, "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -13700,6 +14266,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -13715,6 +14282,7 @@ "version": "16.0.5", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -13723,6 +14291,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "peer": true, "dependencies": { "@jest/types": "^27.5.1", "camelcase": "^6.2.0", @@ -13739,6 +14308,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -13754,6 +14324,7 @@ "version": "16.0.5", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -13825,6 +14396,7 @@ "version": "1.18.2", "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz", "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==", + "peer": true, "bin": { "jiti": "bin/jiti.js" } @@ -13999,6 +14571,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -14064,6 +14637,7 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "peer": true, "engines": { "node": ">= 8" } @@ -14085,6 +14659,7 @@ "version": "2.6.0", "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.0.tgz", "integrity": "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==", + "peer": true, "dependencies": { "picocolors": "^1.0.0", "shell-quote": "^1.7.3" @@ -14146,6 +14721,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "peer": true, "engines": { "node": ">=10" } @@ -14202,6 +14778,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "peer": true, "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -14254,12 +14831,14 @@ "node_modules/lodash.sortby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "peer": true }, "node_modules/lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "peer": true }, "node_modules/log-symbols": { "version": "4.1.0", @@ -14341,6 +14920,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "peer": true, "dependencies": { "tslib": "^2.0.3" } @@ -14365,6 +14945,7 @@ "version": "0.25.9", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "peer": true, "dependencies": { "sourcemap-codec": "^1.4.8" } @@ -14394,8 +14975,7 @@ "node_modules/make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, "node_modules/make-fetch-happen": { "version": "11.0.3", @@ -14441,12 +15021,14 @@ "node_modules/mdn-data": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "peer": true }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "peer": true, "engines": { "node": ">= 0.6" } @@ -14455,6 +15037,7 @@ "version": "3.5.0", "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.0.tgz", "integrity": "sha512-yK6o8xVJlQerz57kvPROwTMgx5WtGwC2ZxDtOUsnGl49rHjYkfQoPNZPCKH73VdLE1BwBu/+Fx/NL8NYMUw2aA==", + "peer": true, "dependencies": { "fs-monkey": "^1.0.3" }, @@ -14471,6 +15054,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "peer": true, "funding": { "url": "https://github.com/sponsors/sindresorhus" } @@ -14492,6 +15076,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "peer": true, "engines": { "node": ">= 0.6" } @@ -14512,6 +15097,7 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "peer": true, "bin": { "mime": "cli.js" }, @@ -14558,6 +15144,7 @@ "version": "2.7.5", "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.5.tgz", "integrity": "sha512-9HaR++0mlgom81s95vvNjxkg52n2b5s//3ZTI1EtzFb98awsLSivs2LMsVqnQ3ay0PVhqWcGNyDaTE961FOcjQ==", + "peer": true, "dependencies": { "schema-utils": "^4.0.0" }, @@ -14576,6 +15163,7 @@ "version": "8.12.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -14591,6 +15179,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3" }, @@ -14601,12 +15190,14 @@ "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "peer": true }, "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.1.tgz", "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==", + "peer": true, "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -14624,7 +15215,8 @@ "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "peer": true }, "node_modules/minimatch": { "version": "3.1.2", @@ -14825,6 +15417,7 @@ "version": "7.2.5", "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "peer": true, "dependencies": { "dns-packet": "^5.2.2", "thunky": "^1.0.2" @@ -14837,6 +15430,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "peer": true, "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", @@ -14853,6 +15447,7 @@ "url": "https://github.com/sponsors/ai" } ], + "peer": true, "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -14887,6 +15482,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "peer": true, "dependencies": { "lower-case": "^2.0.2", "tslib": "^2.0.3" @@ -14916,6 +15512,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "peer": true, "engines": { "node": ">= 6.13.0" } @@ -14950,6 +15547,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "peer": true, "engines": { "node": ">=10" }, @@ -17989,10 +18587,17 @@ "inBundle": true, "license": "ISC" }, + "node_modules/nrs-ce-common-types": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nrs-ce-common-types/-/nrs-ce-common-types-1.0.10.tgz", + "integrity": "sha512-pDa3WczpyEcXfUVw0gs+cZFMcHiiimMm8f3XU3VJxLKmZ7rZkBBwUsXgXv19W1edAxAYR/a9aJSL9bJVmWD2ZA==", + "license": "ISC" + }, "node_modules/nth-check": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "peer": true, "dependencies": { "boolbase": "^1.0.0" }, @@ -18017,6 +18622,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "peer": true, "engines": { "node": ">= 6" } @@ -18102,6 +18708,7 @@ "version": "2.1.5", "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.5.tgz", "integrity": "sha512-yDNzckpM6ntyQiGTik1fKV1DcVDRS+w8bvpWNCBanvH5LfRX9O8WTHqQzG4RZwRAM4I0oU7TV11Lj5v0g20ibw==", + "peer": true, "dependencies": { "array.prototype.reduce": "^1.0.5", "call-bind": "^1.0.2", @@ -18146,7 +18753,8 @@ "node_modules/obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "peer": true }, "node_modules/omggif": { "version": "1.0.10", @@ -18157,6 +18765,7 @@ "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "peer": true, "dependencies": { "ee-first": "1.1.1" }, @@ -18168,6 +18777,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "peer": true, "engines": { "node": ">= 0.8" } @@ -18198,6 +18808,7 @@ "version": "8.4.2", "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "peer": true, "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", @@ -18283,6 +18894,7 @@ "version": "4.6.2", "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "peer": true, "dependencies": { "@types/retry": "0.12.0", "retry": "^0.13.1" @@ -18295,6 +18907,7 @@ "version": "0.13.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "peer": true, "engines": { "node": ">= 4" } @@ -18311,6 +18924,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "peer": true, "dependencies": { "dot-case": "^3.0.4", "tslib": "^2.0.3" @@ -18359,6 +18973,7 @@ "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "peer": true, "engines": { "node": ">= 0.8" } @@ -18367,6 +18982,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "peer": true, "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" @@ -18551,6 +19167,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "peer": true, "dependencies": { "find-up": "^3.0.0" }, @@ -18562,6 +19179,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "peer": true, "dependencies": { "locate-path": "^3.0.0" }, @@ -18573,6 +19191,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "peer": true, "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -18585,6 +19204,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "peer": true, "dependencies": { "p-try": "^2.0.0" }, @@ -18599,6 +19219,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "peer": true, "dependencies": { "p-limit": "^2.0.0" }, @@ -18610,6 +19231,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "peer": true, "engines": { "node": ">=4" } @@ -18660,6 +19282,7 @@ "url": "https://github.com/sponsors/ai" } ], + "peer": true, "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.0.0", @@ -18673,6 +19296,7 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "peer": true, "dependencies": { "postcss-selector-parser": "^6.0.10" }, @@ -18691,6 +19315,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", + "peer": true, "engines": { "node": ">=8" }, @@ -18703,6 +19328,7 @@ "version": "8.2.4", "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "peer": true, "dependencies": { "postcss-selector-parser": "^6.0.9", "postcss-value-parser": "^4.2.0" @@ -18715,6 +19341,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -18729,6 +19356,7 @@ "version": "4.2.4", "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -18747,6 +19375,7 @@ "version": "8.0.4", "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -18765,6 +19394,7 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -18783,6 +19413,7 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "peer": true, "dependencies": { "browserslist": "^4.21.4", "caniuse-api": "^3.0.0", @@ -18800,6 +19431,7 @@ "version": "5.1.3", "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "peer": true, "dependencies": { "browserslist": "^4.21.4", "postcss-value-parser": "^4.2.0" @@ -18815,6 +19447,7 @@ "version": "8.0.2", "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -18833,6 +19466,7 @@ "version": "12.1.11", "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -18851,6 +19485,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", + "peer": true, "dependencies": { "postcss-selector-parser": "^6.0.4" }, @@ -18869,6 +19504,7 @@ "version": "6.0.5", "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "peer": true, "dependencies": { "postcss-selector-parser": "^6.0.10" }, @@ -18887,6 +19523,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "peer": true, "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -18898,6 +19535,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "peer": true, "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -18909,6 +19547,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "peer": true, "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -18920,6 +19559,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "peer": true, "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -18931,6 +19571,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "peer": true, "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", "postcss-value-parser": "^4.2.0" @@ -18950,6 +19591,7 @@ "version": "4.0.6", "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -18964,6 +19606,7 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", + "peer": true, "peerDependencies": { "postcss": "^8.1.4" } @@ -18972,6 +19615,7 @@ "version": "6.0.4", "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "peer": true, "dependencies": { "postcss-selector-parser": "^6.0.9" }, @@ -18986,6 +19630,7 @@ "version": "5.0.4", "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "peer": true, "dependencies": { "postcss-selector-parser": "^6.0.9" }, @@ -19000,6 +19645,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "peer": true, "peerDependencies": { "postcss": "^8.1.0" } @@ -19008,6 +19654,7 @@ "version": "3.0.5", "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", + "peer": true, "engines": { "node": "^12 || ^14 || >=16" }, @@ -19023,6 +19670,7 @@ "version": "4.0.7", "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -19041,6 +19689,7 @@ "version": "14.1.0", "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.0.0", "read-cache": "^1.0.0", @@ -19057,6 +19706,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "peer": true, "peerDependencies": { "postcss": "^8.0.0" } @@ -19065,6 +19715,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "peer": true, "dependencies": { "camelcase-css": "^2.0.1" }, @@ -19083,6 +19734,7 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "peer": true, "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", "postcss-value-parser": "^4.2.0" @@ -19102,6 +19754,7 @@ "version": "3.1.4", "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "peer": true, "dependencies": { "lilconfig": "^2.0.5", "yaml": "^1.10.2" @@ -19130,6 +19783,7 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "peer": true, "dependencies": { "cosmiconfig": "^7.0.0", "klona": "^2.0.5", @@ -19151,6 +19805,7 @@ "version": "5.0.4", "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "peer": true, "engines": { "node": "^12 || ^14 || >=16" }, @@ -19162,6 +19817,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "peer": true, "engines": { "node": ">=10.0.0" }, @@ -19173,6 +19829,7 @@ "version": "5.1.7", "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.2.0", "stylehacks": "^5.1.1" @@ -19188,6 +19845,7 @@ "version": "5.1.4", "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "peer": true, "dependencies": { "browserslist": "^4.21.4", "caniuse-api": "^3.0.0", @@ -19205,6 +19863,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -19219,6 +19878,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "peer": true, "dependencies": { "colord": "^2.9.1", "cssnano-utils": "^3.1.0", @@ -19235,6 +19895,7 @@ "version": "5.1.4", "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "peer": true, "dependencies": { "browserslist": "^4.21.4", "cssnano-utils": "^3.1.0", @@ -19251,6 +19912,7 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "peer": true, "dependencies": { "postcss-selector-parser": "^6.0.5" }, @@ -19265,6 +19927,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "peer": true, "engines": { "node": "^10 || ^12 || >= 14" }, @@ -19276,6 +19939,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "peer": true, "dependencies": { "icss-utils": "^5.0.0", "postcss-selector-parser": "^6.0.2", @@ -19292,6 +19956,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "peer": true, "dependencies": { "postcss-selector-parser": "^6.0.4" }, @@ -19306,6 +19971,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "peer": true, "dependencies": { "icss-utils": "^5.0.0" }, @@ -19320,6 +19986,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", + "peer": true, "dependencies": { "postcss-selector-parser": "^6.0.10" }, @@ -19338,6 +20005,7 @@ "version": "10.2.0", "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", + "peer": true, "dependencies": { "@csstools/selector-specificity": "^2.0.0", "postcss-selector-parser": "^6.0.10" @@ -19357,6 +20025,7 @@ "version": "10.0.1", "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", + "peer": true, "dependencies": { "@csstools/normalize.css": "*", "postcss-browser-comments": "^4", @@ -19374,6 +20043,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "peer": true, "engines": { "node": "^10 || ^12 || >=14.0" }, @@ -19385,6 +20055,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -19399,6 +20070,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -19413,6 +20085,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -19427,6 +20100,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -19441,6 +20115,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -19455,6 +20130,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "peer": true, "dependencies": { "browserslist": "^4.21.4", "postcss-value-parser": "^4.2.0" @@ -19470,6 +20146,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "peer": true, "dependencies": { "normalize-url": "^6.0.1", "postcss-value-parser": "^4.2.0" @@ -19485,6 +20162,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -19509,6 +20187,7 @@ "url": "https://liberapay.com/mrcgrtz" } ], + "peer": true, "engines": { "node": "^12 || ^14 || >=16" }, @@ -19520,6 +20199,7 @@ "version": "5.1.3", "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "peer": true, "dependencies": { "cssnano-utils": "^3.1.0", "postcss-value-parser": "^4.2.0" @@ -19535,6 +20215,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -19553,6 +20234,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "peer": true, "peerDependencies": { "postcss": "^8" } @@ -19561,6 +20243,7 @@ "version": "7.0.5", "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -19579,6 +20262,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", + "peer": true, "dependencies": { "@csstools/postcss-cascade-layers": "^1.1.1", "@csstools/postcss-color-function": "^1.1.1", @@ -19645,6 +20329,7 @@ "version": "7.1.6", "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "peer": true, "dependencies": { "postcss-selector-parser": "^6.0.10" }, @@ -19663,6 +20348,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "peer": true, "dependencies": { "browserslist": "^4.21.4", "caniuse-api": "^3.0.0" @@ -19678,6 +20364,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -19692,6 +20379,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "peer": true, "peerDependencies": { "postcss": "^8.0.3" } @@ -19700,6 +20388,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "peer": true, "dependencies": { "postcss-selector-parser": "^6.0.10" }, @@ -19718,6 +20407,7 @@ "version": "6.0.11", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -19730,6 +20420,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "peer": true, "dependencies": { "postcss-value-parser": "^4.2.0", "svgo": "^2.7.0" @@ -19745,6 +20436,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "peer": true, "engines": { "node": ">= 10" } @@ -19753,6 +20445,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "peer": true, "dependencies": { "mdn-data": "2.0.14", "source-map": "^0.6.1" @@ -19764,12 +20457,14 @@ "node_modules/postcss-svgo/node_modules/mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "peer": true }, "node_modules/postcss-svgo/node_modules/svgo": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "peer": true, "dependencies": { "@trysound/sax": "0.2.0", "commander": "^7.2.0", @@ -19790,6 +20485,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "peer": true, "dependencies": { "postcss-selector-parser": "^6.0.5" }, @@ -19843,6 +20539,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "peer": true, "dependencies": { "lodash": "^4.17.20", "renderkid": "^3.0.0" @@ -19889,12 +20586,14 @@ "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "peer": true }, "node_modules/promise": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "peer": true, "dependencies": { "asap": "~2.0.6" } @@ -19954,6 +20653,7 @@ "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "peer": true, "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" @@ -19966,6 +20666,7 @@ "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "peer": true, "engines": { "node": ">= 0.10" } @@ -20043,6 +20744,7 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "peer": true, "engines": { "node": ">=0.6.0", "teleport": ">=0.2.0" @@ -20052,6 +20754,7 @@ "version": "6.13.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "peer": true, "dependencies": { "side-channel": "^1.0.6" }, @@ -20090,6 +20793,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "peer": true, "engines": { "node": ">=10" }, @@ -20101,6 +20805,7 @@ "version": "3.4.1", "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "peer": true, "dependencies": { "performance-now": "^2.1.0" } @@ -20117,6 +20822,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "peer": true, "engines": { "node": ">= 0.6" } @@ -20125,6 +20831,7 @@ "version": "2.5.2", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "peer": true, "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -20139,6 +20846,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "peer": true, "engines": { "node": ">= 0.8" } @@ -20147,6 +20855,7 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "peer": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -20169,6 +20878,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", + "peer": true, "dependencies": { "core-js": "^3.19.2", "object-assign": "^4.1.1", @@ -20210,6 +20920,32 @@ } } }, + "node_modules/react-bootstrap-typeahead": { + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/react-bootstrap-typeahead/-/react-bootstrap-typeahead-6.3.2.tgz", + "integrity": "sha512-N5Mb0WlSSMcD7Z0pcCypILgIuECybev0hl4lsnCa5lbXTnN4QdkuHLGuTLSlXBwm1ZMFpOc2SnsdSRgeFiF+Ow==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "@popperjs/core": "^2.10.2", + "@restart/hooks": "^0.4.0", + "classnames": "^2.2.0", + "fast-deep-equal": "^3.1.1", + "invariant": "^2.2.1", + "lodash.debounce": "^4.0.8", + "prop-types": "^15.5.8", + "react-overlays": "^5.2.0", + "react-popper": "^2.2.5", + "scroll-into-view-if-needed": "^3.1.0", + "warning": "^4.0.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, "node_modules/react-bootstrap/node_modules/uncontrollable": { "version": "7.2.1", "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-7.2.1.tgz", @@ -20290,6 +21026,7 @@ "version": "12.0.1", "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "peer": true, "dependencies": { "@babel/code-frame": "^7.16.0", "address": "^1.1.2", @@ -20324,6 +21061,7 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "peer": true, "engines": { "node": ">= 12.13.0" } @@ -20343,7 +21081,8 @@ "node_modules/react-error-overlay": { "version": "6.0.11", "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==", + "peer": true }, "node_modules/react-fast-compare": { "version": "3.2.2", @@ -20485,6 +21224,39 @@ "react-dom": "^15.5.x || ^16.x || ^17.x || ^18.x" } }, + "node_modules/react-overlays": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/react-overlays/-/react-overlays-5.2.1.tgz", + "integrity": "sha512-GLLSOLWr21CqtJn8geSwQfoJufdt3mfdsnIiQswouuQ2MMPns+ihZklxvsTDKD3cR2tF8ELbi5xUsvqVhR6WvA==", + "dependencies": { + "@babel/runtime": "^7.13.8", + "@popperjs/core": "^2.11.6", + "@restart/hooks": "^0.4.7", + "@types/warning": "^3.0.0", + "dom-helpers": "^5.2.0", + "prop-types": "^15.7.2", + "uncontrollable": "^7.2.1", + "warning": "^4.0.3" + }, + "peerDependencies": { + "react": ">=16.3.0", + "react-dom": ">=16.3.0" + } + }, + "node_modules/react-overlays/node_modules/uncontrollable": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-7.2.1.tgz", + "integrity": "sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ==", + "dependencies": { + "@babel/runtime": "^7.6.3", + "@types/react": ">=16.9.11", + "invariant": "^2.2.4", + "react-lifecycles-compat": "^3.0.4" + }, + "peerDependencies": { + "react": ">=15.0.0" + } + }, "node_modules/react-phone-number-input": { "version": "3.3.6", "resolved": "https://registry.npmjs.org/react-phone-number-input/-/react-phone-number-input-3.3.6.tgz", @@ -20562,6 +21334,7 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -20600,6 +21373,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", + "peer": true, "dependencies": { "@babel/core": "^7.16.0", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", @@ -20672,6 +21446,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "peer": true, "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", @@ -20688,6 +21463,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "peer": true, "dependencies": { "@jest/console": "^27.5.1", "@jest/reporters": "^27.5.1", @@ -20734,6 +21510,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "peer": true, "dependencies": { "@jest/fake-timers": "^27.5.1", "@jest/types": "^27.5.1", @@ -20748,6 +21525,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "peer": true, "dependencies": { "@jest/types": "^27.5.1", "@sinonjs/fake-timers": "^8.0.1", @@ -20764,6 +21542,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "peer": true, "dependencies": { "@jest/environment": "^27.5.1", "@jest/types": "^27.5.1", @@ -20777,6 +21556,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "peer": true, "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^27.5.1", @@ -20820,6 +21600,7 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "peer": true, "dependencies": { "@sinclair/typebox": "^0.24.1" }, @@ -20831,6 +21612,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "peer": true, "dependencies": { "callsites": "^3.0.0", "graceful-fs": "^4.2.9", @@ -20844,6 +21626,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "peer": true, "dependencies": { "@jest/console": "^27.5.1", "@jest/types": "^27.5.1", @@ -20858,6 +21641,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "peer": true, "dependencies": { "@jest/test-result": "^27.5.1", "graceful-fs": "^4.2.9", @@ -20872,6 +21656,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "peer": true, "dependencies": { "@babel/core": "^7.1.0", "@jest/types": "^27.5.1", @@ -20897,6 +21682,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", @@ -20911,12 +21697,14 @@ "node_modules/react-scripts/node_modules/@sinclair/typebox": { "version": "0.24.51", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", + "peer": true }, "node_modules/react-scripts/node_modules/@sinonjs/commons": { "version": "1.8.6", "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "peer": true, "dependencies": { "type-detect": "4.0.8" } @@ -20925,6 +21713,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "peer": true, "dependencies": { "@sinonjs/commons": "^1.7.0" } @@ -20933,6 +21722,7 @@ "version": "16.0.5", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -20941,6 +21731,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "peer": true, "engines": { "node": ">=10" }, @@ -20952,6 +21743,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "peer": true, "dependencies": { "@jest/transform": "^27.5.1", "@jest/types": "^27.5.1", @@ -20973,6 +21765,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "peer": true, "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", @@ -20987,6 +21780,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "peer": true, "dependencies": { "babel-plugin-jest-hoist": "^27.5.1", "babel-preset-current-node-syntax": "^1.0.0" @@ -21002,6 +21796,7 @@ "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "peer": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -21012,6 +21807,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "peer": true, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } @@ -21020,6 +21816,7 @@ "version": "10.0.0", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "peer": true, "engines": { "node": ">=10" } @@ -21028,6 +21825,7 @@ "version": "0.8.1", "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "peer": true, "engines": { "node": ">=10" }, @@ -21039,6 +21837,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "peer": true, "dependencies": { "@jest/types": "^27.5.1", "jest-get-type": "^27.5.1", @@ -21053,6 +21852,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "peer": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -21072,6 +21872,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "peer": true, "dependencies": { "@jest/core": "^27.5.1", "import-local": "^3.0.2", @@ -21096,6 +21897,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "peer": true, "dependencies": { "@jest/types": "^27.5.1", "execa": "^5.0.0", @@ -21109,6 +21911,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "peer": true, "dependencies": { "@jest/environment": "^27.5.1", "@jest/test-result": "^27.5.1", @@ -21138,6 +21941,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "peer": true, "dependencies": { "@jest/core": "^27.5.1", "@jest/test-result": "^27.5.1", @@ -21171,6 +21975,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "peer": true, "dependencies": { "@babel/core": "^7.8.0", "@jest/test-sequencer": "^27.5.1", @@ -21213,6 +22018,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "peer": true, "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^27.5.1", @@ -21227,6 +22033,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "peer": true, "dependencies": { "detect-newline": "^3.0.0" }, @@ -21238,6 +22045,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "peer": true, "dependencies": { "@jest/types": "^27.5.1", "chalk": "^4.0.0", @@ -21253,6 +22061,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "peer": true, "dependencies": { "@jest/environment": "^27.5.1", "@jest/fake-timers": "^27.5.1", @@ -21269,6 +22078,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "peer": true, "dependencies": { "@jest/environment": "^27.5.1", "@jest/source-map": "^27.5.1", @@ -21296,6 +22106,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "peer": true, "dependencies": { "jest-get-type": "^27.5.1", "pretty-format": "^27.5.1" @@ -21308,6 +22119,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "peer": true, "dependencies": { "chalk": "^4.0.0", "jest-diff": "^27.5.1", @@ -21322,6 +22134,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "peer": true, "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^27.5.1", @@ -21341,6 +22154,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "peer": true, "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*" @@ -21353,6 +22167,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "peer": true, "dependencies": { "@jest/types": "^27.5.1", "jest-regex-util": "^27.5.1", @@ -21366,6 +22181,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "peer": true, "dependencies": { "@jest/console": "^27.5.1", "@jest/environment": "^27.5.1", @@ -21397,6 +22213,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "peer": true, "dependencies": { "@jest/environment": "^27.5.1", "@jest/fake-timers": "^27.5.1", @@ -21429,6 +22246,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "peer": true, "dependencies": { "@babel/core": "^7.7.2", "@babel/generator": "^7.7.2", @@ -21461,6 +22279,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", + "peer": true, "dependencies": { "ansi-escapes": "^4.3.1", "chalk": "^4.0.0", @@ -21481,6 +22300,7 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "peer": true, "dependencies": { "@jest/types": "^28.1.3", "@types/node": "*", @@ -21497,6 +22317,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "peer": true, "engines": { "node": ">=8" } @@ -21505,6 +22326,7 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "peer": true, "dependencies": { "@jest/console": "^28.1.3", "@jest/types": "^28.1.3", @@ -21519,6 +22341,7 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "peer": true, "dependencies": { "@jest/schemas": "^28.1.3", "@types/istanbul-lib-coverage": "^2.0.0", @@ -21535,6 +22358,7 @@ "version": "17.0.24", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "peer": true, "dependencies": { "@types/yargs-parser": "*" } @@ -21543,6 +22367,7 @@ "version": "0.10.2", "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "peer": true, "engines": { "node": ">=12" }, @@ -21554,6 +22379,7 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "peer": true, "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^28.1.3", @@ -21573,6 +22399,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "peer": true, "engines": { "node": ">=8" } @@ -21581,6 +22408,7 @@ "version": "28.0.2", "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", + "peer": true, "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } @@ -21589,6 +22417,7 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "peer": true, "dependencies": { "@jest/types": "^28.1.3", "@types/node": "*", @@ -21605,6 +22434,7 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "peer": true, "dependencies": { "@jest/test-result": "^28.1.3", "@jest/types": "^28.1.3", @@ -21623,6 +22453,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "peer": true, "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -21635,6 +22466,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "peer": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -21646,6 +22478,7 @@ "version": "28.1.3", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "peer": true, "dependencies": { "@jest/schemas": "^28.1.3", "ansi-regex": "^5.0.1", @@ -21660,6 +22493,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "peer": true, "engines": { "node": ">=12" }, @@ -21671,6 +22505,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", + "peer": true, "dependencies": { "char-regex": "^2.0.0", "strip-ansi": "^7.0.1" @@ -21686,6 +22521,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==", + "peer": true, "engines": { "node": ">=12.20" } @@ -21694,6 +22530,7 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "peer": true, "dependencies": { "ansi-regex": "^6.0.1" }, @@ -21708,6 +22545,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "peer": true, "engines": { "node": ">=12" }, @@ -21719,6 +22557,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "peer": true, "dependencies": { "@jest/test-result": "^27.5.1", "@jest/types": "^27.5.1", @@ -21735,12 +22574,14 @@ "node_modules/react-scripts/node_modules/react-is": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "peer": true }, "node_modules/react-scripts/node_modules/strip-bom": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "peer": true, "engines": { "node": ">=8" } @@ -21749,6 +22590,7 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "peer": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.1", "convert-source-map": "^1.6.0", @@ -21762,6 +22604,7 @@ "version": "0.7.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "peer": true, "engines": { "node": ">= 8" } @@ -21770,6 +22613,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "peer": true, "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", @@ -21781,6 +22625,7 @@ "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "peer": true, "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -21798,6 +22643,7 @@ "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "peer": true, "engines": { "node": ">=10" } @@ -21896,6 +22742,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "peer": true, "dependencies": { "pify": "^2.3.0" } @@ -21928,6 +22775,7 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "peer": true, "dependencies": { "minimatch": "^3.0.5" }, @@ -21993,12 +22841,14 @@ "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "peer": true }, "node_modules/regenerate-unicode-properties": { "version": "10.1.1", "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "peer": true, "dependencies": { "regenerate": "^1.4.2" }, @@ -22015,6 +22865,7 @@ "version": "0.15.2", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "peer": true, "dependencies": { "@babel/runtime": "^7.8.4" } @@ -22022,7 +22873,8 @@ "node_modules/regex-parser": { "version": "2.2.11", "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", - "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", + "peer": true }, "node_modules/regexp.prototype.flags": { "version": "1.5.1", @@ -22056,6 +22908,7 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "peer": true, "dependencies": { "@babel/regjsgen": "^0.8.0", "regenerate": "^1.4.2", @@ -22072,6 +22925,7 @@ "version": "0.9.1", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "peer": true, "dependencies": { "jsesc": "~0.5.0" }, @@ -22083,6 +22937,7 @@ "version": "0.5.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "peer": true, "bin": { "jsesc": "bin/jsesc" } @@ -22091,6 +22946,7 @@ "version": "0.2.7", "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "peer": true, "engines": { "node": ">= 0.10" } @@ -22099,6 +22955,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "peer": true, "dependencies": { "css-select": "^4.1.3", "dom-converter": "^0.2.0", @@ -22189,6 +23046,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", + "peer": true, "dependencies": { "adjust-sourcemap-loader": "^4.0.0", "convert-source-map": "^1.7.0", @@ -22215,12 +23073,14 @@ "node_modules/resolve-url-loader/node_modules/picocolors": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "peer": true }, "node_modules/resolve-url-loader/node_modules/postcss": { "version": "7.0.39", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "peer": true, "dependencies": { "picocolors": "^0.2.1", "source-map": "^0.6.1" @@ -22237,6 +23097,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "peer": true, "engines": { "node": ">=10" } @@ -22419,7 +23280,8 @@ "node_modules/sanitize.css": { "version": "13.0.0", "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", - "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" + "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==", + "peer": true }, "node_modules/sass": { "version": "1.62.1", @@ -22442,6 +23304,7 @@ "version": "12.6.0", "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "peer": true, "dependencies": { "klona": "^2.0.4", "neo-async": "^2.6.2" @@ -22478,7 +23341,8 @@ "node_modules/sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "peer": true }, "node_modules/saxes": { "version": "6.0.0", @@ -22516,15 +23380,25 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/scroll-into-view-if-needed": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz", + "integrity": "sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==", + "dependencies": { + "compute-scroll-into-view": "^3.0.2" + } + }, "node_modules/select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "peer": true }, "node_modules/selfsigned": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", + "peer": true, "dependencies": { "node-forge": "^1" }, @@ -22566,6 +23440,7 @@ "version": "0.19.0", "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "peer": true, "dependencies": { "debug": "2.6.9", "depd": "2.0.0", @@ -22589,6 +23464,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "peer": true, "dependencies": { "ms": "2.0.0" } @@ -22596,12 +23472,14 @@ "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "peer": true }, "node_modules/send/node_modules/encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "peer": true, "engines": { "node": ">= 0.8" } @@ -22609,7 +23487,8 @@ "node_modules/send/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==" + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "peer": true }, "node_modules/serialize-javascript": { "version": "6.0.1", @@ -22623,6 +23502,7 @@ "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "peer": true, "dependencies": { "accepts": "~1.3.4", "batch": "0.6.1", @@ -22640,6 +23520,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "peer": true, "dependencies": { "ms": "2.0.0" } @@ -22648,6 +23529,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "peer": true, "engines": { "node": ">= 0.6" } @@ -22656,6 +23538,7 @@ "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "peer": true, "dependencies": { "depd": "~1.1.2", "inherits": "2.0.3", @@ -22669,22 +23552,26 @@ "node_modules/serve-index/node_modules/inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "peer": true }, "node_modules/serve-index/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "peer": true }, "node_modules/serve-index/node_modules/setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "peer": true }, "node_modules/serve-index/node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "peer": true, "engines": { "node": ">= 0.6" } @@ -22693,6 +23580,7 @@ "version": "1.16.2", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "peer": true, "dependencies": { "encodeurl": "~2.0.0", "escape-html": "~1.0.3", @@ -22735,7 +23623,19 @@ "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "peer": true + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } }, "node_modules/shebang-command": { "version": "2.0.0", @@ -22760,6 +23660,7 @@ "version": "1.8.1", "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "peer": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -22826,6 +23727,7 @@ "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "peer": true, "dependencies": { "faye-websocket": "^0.11.3", "uuid": "^8.3.2", @@ -22836,6 +23738,7 @@ "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "peer": true, "bin": { "uuid": "dist/bin/uuid" } @@ -22869,7 +23772,8 @@ "node_modules/source-list-map": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "peer": true }, "node_modules/source-map": { "version": "0.6.1", @@ -22891,6 +23795,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", + "peer": true, "dependencies": { "abab": "^2.0.5", "iconv-lite": "^0.6.3", @@ -22920,7 +23825,8 @@ "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" + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "peer": true }, "node_modules/spdx-exceptions": { "version": "2.3.0", @@ -22948,6 +23854,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "peer": true, "dependencies": { "debug": "^4.1.0", "handle-thing": "^2.0.0", @@ -22963,6 +23870,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "peer": true, "dependencies": { "debug": "^4.1.0", "detect-node": "^2.0.4", @@ -23017,7 +23925,8 @@ "version": "0.1.8", "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", + "peer": true }, "node_modules/stack-utils": { "version": "2.0.6", @@ -23041,12 +23950,14 @@ "node_modules/stackframe": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "peer": true }, "node_modules/statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "peer": true, "engines": { "node": ">= 0.8" } @@ -23094,7 +24005,8 @@ "node_modules/string-natural-compare": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", - "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==", + "peer": true }, "node_modules/string-width": { "version": "4.2.3", @@ -23178,6 +24090,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "peer": true, "dependencies": { "get-own-enumerable-property-symbols": "^3.0.0", "is-obj": "^1.0.1", @@ -23210,6 +24123,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "peer": true, "engines": { "node": ">=10" } @@ -23248,6 +24162,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.2.tgz", "integrity": "sha512-RHs/vcrKdQK8wZliteNK4NKzxvLBzpuHMqYmUVWeKa6MkaIQ97ZTOS0b+zapZhy6GcrgWnvWYCMHRirC3FsUmw==", + "peer": true, "engines": { "node": ">= 12.13.0" }, @@ -23263,6 +24178,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "peer": true, "dependencies": { "browserslist": "^4.21.4", "postcss-selector-parser": "^6.0.4" @@ -23283,6 +24199,7 @@ "version": "3.32.0", "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz", "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==", + "peer": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", @@ -23304,6 +24221,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "peer": true, "engines": { "node": ">= 6" } @@ -23312,6 +24230,7 @@ "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "peer": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -23342,6 +24261,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "peer": true, "dependencies": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" @@ -23364,13 +24284,15 @@ "node_modules/svg-parser": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "peer": true }, "node_modules/svgo": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "peer": true, "dependencies": { "chalk": "^2.4.1", "coa": "^2.0.2", @@ -23397,6 +24319,7 @@ "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==", + "peer": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -23408,6 +24331,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "peer": true, "dependencies": { "sprintf-js": "~1.0.2" } @@ -23416,6 +24340,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "peer": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -23429,6 +24354,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "peer": true, "dependencies": { "color-name": "1.1.3" } @@ -23436,12 +24362,14 @@ "node_modules/svgo/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==" + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "peer": true }, "node_modules/svgo/node_modules/css-select": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "peer": true, "dependencies": { "boolbase": "^1.0.0", "css-what": "^3.2.1", @@ -23453,6 +24381,7 @@ "version": "3.4.2", "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "peer": true, "engines": { "node": ">= 6" }, @@ -23464,6 +24393,7 @@ "version": "0.2.2", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "peer": true, "dependencies": { "domelementtype": "^2.0.1", "entities": "^2.0.0" @@ -23473,6 +24403,7 @@ "version": "1.7.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "peer": true, "dependencies": { "dom-serializer": "0", "domelementtype": "1" @@ -23481,12 +24412,14 @@ "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "peer": true }, "node_modules/svgo/node_modules/entities": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "peer": true, "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } @@ -23495,6 +24428,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "peer": true, "engines": { "node": ">=0.8.0" } @@ -23503,6 +24437,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "peer": true, "engines": { "node": ">=4" } @@ -23511,6 +24446,7 @@ "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "peer": true, "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -23523,6 +24459,7 @@ "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "peer": true, "dependencies": { "minimist": "^1.2.6" }, @@ -23534,6 +24471,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "peer": true, "dependencies": { "boolbase": "~1.0.0" } @@ -23542,6 +24480,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "peer": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -23558,6 +24497,7 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.1.tgz", "integrity": "sha512-Vkiouc41d4CEq0ujXl6oiGFQ7bA3WEhUZdTgXAhtKxSy49OmKs8rEfQmupsfF0IGW8fv2iQkp1EVUuapCFrZ9g==", + "peer": true, "dependencies": { "arg": "^5.0.2", "chokidar": "^3.5.3", @@ -23658,6 +24598,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "peer": true, "engines": { "node": ">=8" } @@ -23666,6 +24607,7 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "peer": true, "dependencies": { "is-stream": "^2.0.0", "temp-dir": "^2.0.0", @@ -23683,6 +24625,7 @@ "version": "0.16.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "peer": true, "engines": { "node": ">=10" }, @@ -23694,6 +24637,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "peer": true, "dependencies": { "ansi-escapes": "^4.2.1", "supports-hyperlinks": "^2.0.0" @@ -23801,6 +24745,7 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "peer": true, "dependencies": { "any-promise": "^1.0.0" } @@ -23809,6 +24754,7 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "peer": true, "dependencies": { "thenify": ">= 3.1.0 < 4" }, @@ -23819,7 +24765,8 @@ "node_modules/throat": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", - "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==", + "peer": true }, "node_modules/throttleit": { "version": "1.0.0", @@ -23836,7 +24783,8 @@ "node_modules/thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "peer": true }, "node_modules/tiny-warning": { "version": "1.0.3", @@ -23883,6 +24831,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "peer": true, "engines": { "node": ">=0.6" } @@ -23923,12 +24872,14 @@ "node_modules/tryer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "peer": true }, "node_modules/ts-interface-checker": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "peer": true }, "node_modules/ts-jest": { "version": "29.1.2", @@ -23990,6 +24941,53 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/ts-node/node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + }, "node_modules/tsconfig-paths": { "version": "3.14.2", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", @@ -24088,6 +25086,7 @@ "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "peer": true, "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -24161,6 +25160,7 @@ "version": "3.1.5", "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "peer": true, "dependencies": { "is-typedarray": "^1.0.0" } @@ -24208,6 +25208,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "peer": true, "engines": { "node": ">=4" } @@ -24216,6 +25217,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "peer": true, "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" @@ -24228,6 +25230,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "peer": true, "engines": { "node": ">=4" } @@ -24236,6 +25239,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "peer": true, "engines": { "node": ">=4" } @@ -24266,6 +25270,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "peer": true, "dependencies": { "crypto-random-string": "^2.0.0" }, @@ -24285,6 +25290,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "peer": true, "engines": { "node": ">= 0.8" } @@ -24292,7 +25298,8 @@ "node_modules/unquote": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==", + "peer": true }, "node_modules/untildify": { "version": "4.0.0", @@ -24307,6 +25314,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "peer": true, "engines": { "node": ">=4", "yarn": "*" @@ -24405,6 +25413,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "peer": true, "dependencies": { "define-properties": "^1.1.3", "es-abstract": "^1.17.2", @@ -24418,16 +25427,23 @@ "node_modules/utila": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "peer": true }, "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "peer": true, "engines": { "node": ">= 0.4.0" } }, + "node_modules/utm-latlng": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/utm-latlng/-/utm-latlng-1.0.8.tgz", + "integrity": "sha512-jQ5l1BNTzNgas7jXOIh0jU0m5PU5LtmjYvRiLwR4iymYYAhEhQ6N0MGCnLjv5iO958b9tLMMSmzdbIIhLtXqCg==" + }, "node_modules/uuid": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", @@ -24440,6 +25456,11 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" + }, "node_modules/v8-to-istanbul": { "version": "9.2.0", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", @@ -24464,6 +25485,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "peer": true, "engines": { "node": ">= 0.8" } @@ -24493,6 +25515,7 @@ "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "peer": true, "dependencies": { "browser-process-hrtime": "^1.0.0" } @@ -24540,6 +25563,7 @@ "version": "1.7.3", "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "peer": true, "dependencies": { "minimalistic-assert": "^1.0.0" } @@ -24607,6 +25631,7 @@ "version": "5.3.4", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "peer": true, "dependencies": { "colorette": "^2.0.10", "memfs": "^3.4.3", @@ -24629,6 +25654,7 @@ "version": "8.12.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -24644,6 +25670,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3" }, @@ -24654,12 +25681,14 @@ "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "peer": true }, "node_modules/webpack-dev-middleware/node_modules/schema-utils": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.1.tgz", "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==", + "peer": true, "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -24678,6 +25707,7 @@ "version": "4.13.3", "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.13.3.tgz", "integrity": "sha512-KqqzrzMRSRy5ePz10VhjyL27K2dxqwXQLP5rAKwRJBPUahe7Z2bBWzHw37jeb8GCPKxZRO79ZdQUAPesMh/Nug==", + "peer": true, "dependencies": { "@types/bonjour": "^3.5.9", "@types/connect-history-api-fallback": "^1.3.5", @@ -24736,6 +25766,7 @@ "version": "8.12.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -24751,6 +25782,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3" }, @@ -24761,12 +25793,14 @@ "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "peer": true }, "node_modules/webpack-dev-server/node_modules/schema-utils": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.1.tgz", "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==", + "peer": true, "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -24785,6 +25819,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", + "peer": true, "dependencies": { "tapable": "^2.0.0", "webpack-sources": "^2.2.0" @@ -24800,6 +25835,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", + "peer": true, "dependencies": { "source-list-map": "^2.0.1", "source-map": "^0.6.1" @@ -24808,6 +25844,19 @@ "node": ">=10.13.0" } }, + "node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/webpack-sources": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", @@ -24820,6 +25869,7 @@ "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "peer": true, "dependencies": { "http-parser-js": ">=0.5.1", "safe-buffer": ">=5.1.0", @@ -24833,6 +25883,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "peer": true, "engines": { "node": ">=0.8.0" } @@ -24851,7 +25902,8 @@ "node_modules/whatwg-fetch": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", - "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" + "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==", + "peer": true }, "node_modules/whatwg-mimetype": { "version": "3.0.0", @@ -24959,10 +26011,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==" + }, "node_modules/workbox-background-sync": { "version": "6.5.4", "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.5.4.tgz", "integrity": "sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g==", + "peer": true, "dependencies": { "idb": "^7.0.1", "workbox-core": "6.5.4" @@ -24972,6 +26030,7 @@ "version": "6.5.4", "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.5.4.tgz", "integrity": "sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw==", + "peer": true, "dependencies": { "workbox-core": "6.5.4" } @@ -24980,6 +26039,7 @@ "version": "6.5.4", "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.5.4.tgz", "integrity": "sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA==", + "peer": true, "dependencies": { "@apideck/better-ajv-errors": "^0.3.1", "@babel/core": "^7.11.1", @@ -25027,6 +26087,7 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "peer": true, "dependencies": { "json-schema": "^0.4.0", "jsonpointer": "^5.0.0", @@ -25043,6 +26104,7 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "peer": true, "dependencies": { "@babel/helper-module-imports": "^7.10.4", "@rollup/pluginutils": "^3.1.0" @@ -25065,6 +26127,7 @@ "version": "11.2.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "peer": true, "dependencies": { "@rollup/pluginutils": "^3.1.0", "@types/resolve": "1.17.1", @@ -25084,6 +26147,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "peer": true, "dependencies": { "@rollup/pluginutils": "^3.1.0", "magic-string": "^0.25.7" @@ -25096,6 +26160,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "peer": true, "dependencies": { "@types/estree": "0.0.39", "estree-walker": "^1.0.1", @@ -25111,12 +26176,14 @@ "node_modules/workbox-build/node_modules/@types/estree": { "version": "0.0.39", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "peer": true }, "node_modules/workbox-build/node_modules/ajv": { "version": "8.12.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -25132,6 +26199,7 @@ "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "peer": true, "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -25146,6 +26214,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "peer": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -25165,6 +26234,7 @@ "version": "26.6.2", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "peer": true, "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -25177,12 +26247,14 @@ "node_modules/workbox-build/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "peer": true }, "node_modules/workbox-build/node_modules/rollup": { "version": "2.79.1", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "peer": true, "bin": { "rollup": "dist/bin/rollup" }, @@ -25198,6 +26270,7 @@ "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", + "peer": true, "dependencies": { "@babel/code-frame": "^7.10.4", "jest-worker": "^26.2.1", @@ -25212,6 +26285,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "peer": true, "dependencies": { "randombytes": "^2.1.0" } @@ -25220,6 +26294,7 @@ "version": "0.8.0-beta.0", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "peer": true, "dependencies": { "whatwg-url": "^7.0.0" }, @@ -25231,6 +26306,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "peer": true, "dependencies": { "punycode": "^2.1.0" } @@ -25238,12 +26314,14 @@ "node_modules/workbox-build/node_modules/webidl-conversions": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "peer": true }, "node_modules/workbox-build/node_modules/whatwg-url": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "peer": true, "dependencies": { "lodash.sortby": "^4.7.0", "tr46": "^1.0.1", @@ -25254,6 +26332,7 @@ "version": "6.5.4", "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.5.4.tgz", "integrity": "sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug==", + "peer": true, "dependencies": { "workbox-core": "6.5.4" } @@ -25261,12 +26340,14 @@ "node_modules/workbox-core": { "version": "6.5.4", "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.5.4.tgz", - "integrity": "sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q==" + "integrity": "sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q==", + "peer": true }, "node_modules/workbox-expiration": { "version": "6.5.4", "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.5.4.tgz", "integrity": "sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ==", + "peer": true, "dependencies": { "idb": "^7.0.1", "workbox-core": "6.5.4" @@ -25276,6 +26357,7 @@ "version": "6.5.4", "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.5.4.tgz", "integrity": "sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg==", + "peer": true, "dependencies": { "workbox-background-sync": "6.5.4", "workbox-core": "6.5.4", @@ -25287,6 +26369,7 @@ "version": "6.5.4", "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.5.4.tgz", "integrity": "sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng==", + "peer": true, "dependencies": { "workbox-core": "6.5.4" } @@ -25295,6 +26378,7 @@ "version": "6.5.4", "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.5.4.tgz", "integrity": "sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg==", + "peer": true, "dependencies": { "workbox-core": "6.5.4", "workbox-routing": "6.5.4", @@ -25305,6 +26389,7 @@ "version": "6.5.4", "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.5.4.tgz", "integrity": "sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg==", + "peer": true, "dependencies": { "workbox-core": "6.5.4" } @@ -25313,6 +26398,7 @@ "version": "6.5.4", "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.5.4.tgz", "integrity": "sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA==", + "peer": true, "dependencies": { "workbox-cacheable-response": "6.5.4", "workbox-core": "6.5.4", @@ -25326,6 +26412,7 @@ "version": "6.5.4", "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.5.4.tgz", "integrity": "sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg==", + "peer": true, "dependencies": { "workbox-core": "6.5.4" } @@ -25334,6 +26421,7 @@ "version": "6.5.4", "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.5.4.tgz", "integrity": "sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw==", + "peer": true, "dependencies": { "workbox-core": "6.5.4" } @@ -25342,6 +26430,7 @@ "version": "6.5.4", "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.5.4.tgz", "integrity": "sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg==", + "peer": true, "dependencies": { "workbox-core": "6.5.4", "workbox-routing": "6.5.4" @@ -25350,12 +26439,14 @@ "node_modules/workbox-sw": { "version": "6.5.4", "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.5.4.tgz", - "integrity": "sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA==" + "integrity": "sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA==", + "peer": true }, "node_modules/workbox-webpack-plugin": { "version": "6.5.4", "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.5.4.tgz", "integrity": "sha512-LmWm/zoaahe0EGmMTrSLUi+BjyR3cdGEfU3fS6PN1zKFYbqAKuQ+Oy/27e4VSXsyIwAw8+QDfk1XHNGtZu9nQg==", + "peer": true, "dependencies": { "fast-json-stable-stringify": "^2.1.0", "pretty-bytes": "^5.4.1", @@ -25374,6 +26465,7 @@ "version": "1.4.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "peer": true, "dependencies": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" @@ -25383,6 +26475,7 @@ "version": "6.5.4", "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.5.4.tgz", "integrity": "sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug==", + "peer": true, "dependencies": { "@types/trusted-types": "^2.0.2", "workbox-core": "6.5.4" @@ -25512,6 +26605,14 @@ "fd-slicer": "~1.1.0" } }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "engines": { + "node": ">=6" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/frontend/package.json b/frontend/package.json index 90dddf04e..2c0fe4673 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -3,6 +3,8 @@ "version": "1.0.1", "private": true, "dependencies": { + "@craco/craco": "^7.1.0", + "@craco/types": "^7.1.0", "@faker-js/faker": "^8.0.2", "@fortawesome/fontawesome-svg-core": "^6.4.2", "@fortawesome/free-regular-svg-icons": "^6.4.2", @@ -62,6 +64,7 @@ "make-fetch-happen": "11.0.3", "node": "^21.6.1", "npm": "^9.8.1", + "nrs-ce-common-types": "^1.0.10", "omggif": "^1.0.10", "os-browserify": "^0.3.0", "path-browserify": "^1.0.1", @@ -70,6 +73,7 @@ "pure-react-carousel": "^1.30.1", "react": "^18.2.0", "react-bootstrap": "^2.7.4", + "react-bootstrap-typeahead": "^6.3.2", "react-chartjs-2": "^5.2.0", "react-collapsed": "^4.0.2", "react-collapsible": "^2.10.0", @@ -84,7 +88,6 @@ "react-phone-number-input": "^3.3.6", "react-redux": "^8.0.1", "react-router-dom": "^6.3.0", - "react-scripts": "^5.0.1", "react-select": "^5.7.3", "react-test-renderer": "^18.2.0", "react-toastify": "^9.1.3", @@ -96,6 +99,7 @@ "uncontrollable": "^8.0.2", "urlpattern-polyfill": "^9.0.0", "util": "^0.12.5", + "utm-latlng": "^1.0.8", "uuid": "^9.0.1", "warning": "^4.0.3", "web-vitals": "^3.0.0" @@ -119,11 +123,11 @@ }, "scripts": { "lint": "./node_modules/.bin/eslint", - "start": "react-scripts start", - "build": "react-scripts build", - "test": "react-scripts test", - "test:cov": "react-scripts test --coverage", - "eject": "react-scripts eject", + "start": "craco start", + "build": "craco build", + "test": "craco test", + "test:cov": "craco test --coverage", + "eject": "craco eject", "cypress:open": "cypress open" }, "eslintConfig": { diff --git a/frontend/src/app/App.tsx b/frontend/src/app/App.tsx index dfc875780..b7bd324ed 100644 --- a/frontend/src/app/App.tsx +++ b/frontend/src/app/App.tsx @@ -3,7 +3,7 @@ import { Route, BrowserRouter as Router, Routes, useParams } from "react-router- import ProtectedRoutes from "./components/routing"; import ScrollToTop from "./common/scroll-to-top"; -import NotAuthorized, { NotFound } from "./components/containers/pages"; +import { NotAuthorized, NotFound } from "./components/containers/pages"; import { ComplaintDetailsEdit } from "./components/containers/complaints/details/complaint-details-edit"; import ColorReference, { MiscReference, SpaceReference } from "./components/reference"; import { ModalComponent as Modal } from "./components/modal/modal"; diff --git a/frontend/src/app/common/api.ts b/frontend/src/app/common/api.ts index b3be11580..557802fb9 100644 --- a/frontend/src/app/common/api.ts +++ b/frontend/src/app/common/api.ts @@ -7,6 +7,10 @@ import { toggleLoading, toggleNotification } from "../store/reducers/app"; import { store } from "../../app/store/store"; import { ToggleError } from "./toast"; +interface NatComRequestConfig extends AxiosRequestConfig { + toggleLoading: boolean; +} + const STATUS_CODES = { Ok: 200, BadRequest: 400, @@ -22,9 +26,9 @@ const STATUS_CODES = { let requestCounter = 0; // Request interceptor to enable the loading indicator -axios.interceptors.request.use(function (config) { +axios.interceptors.request.use((config) => { requestCounter++; - if (requestCounter > 0) { + if (requestCounter > 0 && (config as NatComRequestConfig).toggleLoading) { store.dispatch(toggleLoading(true)); } return config; @@ -83,8 +87,13 @@ export const generateApiParameters = ( return result; }; -export const get = (dispatch: Dispatch, parameters: ApiRequestParameters, headers?: {}): Promise => { - let config: AxiosRequestConfig = { headers: headers }; +export const get = ( + dispatch: Dispatch, + parameters: ApiRequestParameters, + headers?: {}, + toggleLoading: boolean = true, +): Promise => { + let config: NatComRequestConfig = { headers: headers, toggleLoading: toggleLoading }; return new Promise((resolve, reject) => { const { url, requiresAuthentication, params } = parameters; @@ -123,8 +132,9 @@ export const deleteMethod = ( dispatch: Dispatch, parameters: ApiRequestParameters, headers?: {}, + toggleLoading: boolean = true, ): Promise => { - let config: AxiosRequestConfig = { headers: headers }; + let config: NatComRequestConfig = { headers: headers, toggleLoading: toggleLoading }; return new Promise((resolve, reject) => { const { url, requiresAuthentication, params } = parameters; @@ -157,8 +167,12 @@ export const deleteMethod = ( }); }; -export const post = (dispatch: Dispatch, parameters: ApiRequestParameters): Promise => { - let config: AxiosRequestConfig = { headers: {} }; +export const post = ( + dispatch: Dispatch, + parameters: ApiRequestParameters, + toggleLoading: boolean = true, +): Promise => { + let config: NatComRequestConfig = { headers: {}, toggleLoading: toggleLoading }; return new Promise((resolve, reject) => { const { url, requiresAuthentication, params } = parameters; @@ -180,8 +194,12 @@ export const post = (dispatch: Dispatch, parameters: ApiRequestParame }); }; -export const patch = (dispatch: Dispatch, parameters: ApiRequestParameters): Promise => { - let config: AxiosRequestConfig = { headers: {} }; +export const patch = ( + dispatch: Dispatch, + parameters: ApiRequestParameters, + toggleLoading: boolean = true, +): Promise => { + let config: NatComRequestConfig = { headers: {}, toggleLoading: toggleLoading }; return new Promise((resolve, reject) => { const { url, requiresAuthentication, params: data } = parameters; @@ -209,8 +227,12 @@ export const patch = (dispatch: Dispatch, parameters: ApiRequestParam }); }; -export const put = (dispatch: Dispatch, parameters: ApiRequestParameters): Promise => { - let config: AxiosRequestConfig = { headers: {} }; +export const put = ( + dispatch: Dispatch, + parameters: ApiRequestParameters, + toggleLoading: boolean = true, +): Promise => { + let config: NatComRequestConfig = { headers: {}, toggleLoading: toggleLoading }; return new Promise((resolve, reject) => { const { url, requiresAuthentication, params: data } = parameters; @@ -243,8 +265,9 @@ export const putFile = ( parameters: ApiRequestParameters, headers: {}, file: File, + toggleLoading: boolean = true, ): Promise => { - let config: AxiosRequestConfig = { headers: headers }; + let config: NatComRequestConfig = { headers: headers, toggleLoading: toggleLoading }; const formData = new FormData(); if (file) formData.append("file", file); diff --git a/frontend/src/app/common/methods.tsx b/frontend/src/app/common/methods.tsx index 47704eccd..9509a661d 100644 --- a/frontend/src/app/common/methods.tsx +++ b/frontend/src/app/common/methods.tsx @@ -13,6 +13,10 @@ import { fromImage } from "imtool"; import AttachmentEnum from "../constants/attachment-enum"; import Option from "../types/app/option"; import { GirType } from "../types/app/code-tables/gir-type"; +import { WildlifeComplaint as WildlifeComplaintDto } from "../types/app/complaints/wildlife-complaint"; +import { AllegationComplaint as AllegationComplaintDto } from "../types/app/complaints/allegation-complaint"; +import { GeneralIncidentComplaint as GeneralIncidentComplaintDto } from "../types/app/complaints/general-complaint"; +let utmObj = require("utm-latlng"); type Coordinate = number[] | string[] | undefined; @@ -229,6 +233,15 @@ export const bcBoundaries = { maxLongitude: -114.0337, }; +export const bcUtmBoundaries = { + minEasting: 280220.6, + maxEasting: 720184.9, + minNorthing: 5346051.7, + maxNorthing: 6655120.8, +}; + +export const bcUtmZoneNumbers = ["7", "8", "9", "10", "11"]; + // given coordinates, return true if within BC or false if not within BC export const isWithinBC = (coordinates: Coordinate): boolean => { if (!coordinates) { @@ -256,6 +269,26 @@ export const parseCoordinates = (coordinates: Coordinate, coordinateType: Coordi : coordinates[Coordinates.Longitude]; }; +// Helper function for determining what type of complaint your are working with +// so you can pass that type onto the backend for proper processing +export const getComplaintType = ( + complaint: WildlifeComplaintDto | AllegationComplaintDto | GeneralIncidentComplaintDto, +): string => { + if ("hwcrId" in complaint) { + return COMPLAINT_TYPES.HWCR; + } + + if ("ersId" in complaint) { + return COMPLAINT_TYPES.ERS; + } + + if ("girId" in complaint) { + return COMPLAINT_TYPES.GIR; + } + + return "Unknown"; +}; + export const getComplaintTypeFromUrl = (): number => { let p = new URLPattern({ pathname: "/complaints/:type" }); let r = p.exec(window.location.href); @@ -401,3 +434,33 @@ export const getThumbnailDataURL = async (file: File): Promise => { export function isPositiveNum(number: string) { return !isNaN(Number(number)) && Number(number) >= 0; } + +export const formatLatLongCoordinate = (input: string | undefined): string | undefined => { + const regex = /-?(?:\d+(\.\d+)?|.\d+)/; + if (input && regex.exec(input)) { + const tokens = input.split("."); + if (tokens.length > 1) { + const decimals = tokens[1].length; + if (decimals <= 7) { + return input; + } else { + return tokens[0] + "." + tokens[1].substring(0, 7); + } + } + } + return input; +}; + +export const latLngToUtm = (lat: string, lng: string): { easting: string; northing: string; zone: string } => { + const regex = /-?(?:\d+(\.\d+)?|.\d+)/; + if (regex.exec(lat) && regex.exec(lng) && ![lat, lng].includes("0")) { + let utm = new utmObj(); + const utmCoordinates = utm.convertLatLngToUtm(lat, lng, 3); + return { + easting: utmCoordinates.Easting.toFixed(0), + northing: utmCoordinates.Northing.toFixed(0), + zone: utmCoordinates.ZoneNumber ?? "", + }; + } + return { easting: "", northing: "", zone: "" }; +}; diff --git a/frontend/src/app/components/common/comp-coordinate-input.tsx b/frontend/src/app/components/common/comp-coordinate-input.tsx new file mode 100644 index 000000000..bb383200d --- /dev/null +++ b/frontend/src/app/components/common/comp-coordinate-input.tsx @@ -0,0 +1,443 @@ +import { FC, useEffect, useState } from "react"; +import Option from "../../types/app/option"; +import { CompRadioGroup } from "./comp-radiogroup"; +import { bcBoundaries, bcUtmBoundaries, formatLatLongCoordinate } from "../../common/methods"; +import { CompSelect } from "./comp-select"; +import { Button } from "react-bootstrap"; +let utmObj = require("utm-latlng"); + +type Props = { + id?: string; + utmZones?: Array