From a145473452f91bf84902c6c9c45d5a0311fb4f2a Mon Sep 17 00:00:00 2001 From: Mir Bhatia Date: Thu, 21 May 2026 15:50:49 +0200 Subject: [PATCH 01/32] Fix handling of WP agenda items referencing deleted WPs --- .../app/services/meetings/copy_service.rb | 9 ++++-- .../reset_to_template_service.rb | 11 ++++--- .../meetings/copy_service_integration_spec.rb | 16 ++++++++++ .../reset_to_template_service_spec.rb | 29 +++++++++++++++++++ 4 files changed, 59 insertions(+), 6 deletions(-) diff --git a/modules/meeting/app/services/meetings/copy_service.rb b/modules/meeting/app/services/meetings/copy_service.rb index eaa751e1e10..a0c3f6cf4fb 100644 --- a/modules/meeting/app/services/meetings/copy_service.rb +++ b/modules/meeting/app/services/meetings/copy_service.rb @@ -113,14 +113,19 @@ module Meetings attachment_target]) end - def copy_meeting_agenda(copy) + def copy_meeting_agenda(copy) # rubocop:disable Metrics/AbcSize meeting.sections.each do |section| copy.sections << section.dup copied_section = copy.reload.sections.last section.agenda_items.each do |agenda_item| copied_agenda_item = agenda_item.dup copied_agenda_item.meeting_id = copy.id - copied_section.agenda_items << copied_agenda_item + copied_agenda_item.meeting_section = copied_section + + # A work_package agenda item whose WP was deleted has work_package_id nullified but + # item_type still set. Skip validations for this state + skip_validation = copied_agenda_item.work_package? && copied_agenda_item.work_package_id.nil? + copied_agenda_item.save!(validate: !skip_validation) end end end diff --git a/modules/meeting/app/services/recurring_meetings/reset_to_template_service.rb b/modules/meeting/app/services/recurring_meetings/reset_to_template_service.rb index b399aa6a59e..005125417d2 100644 --- a/modules/meeting/app/services/recurring_meetings/reset_to_template_service.rb +++ b/modules/meeting/app/services/recurring_meetings/reset_to_template_service.rb @@ -90,10 +90,13 @@ module RecurringMeetings section.attributes.except("id", "meeting_id", "created_at", "updated_at") ) section.agenda_items.each do |item| - # copy_attributes excludes :id and :meeting_id; we supply both FKs explicitly - new_section.agenda_items.create!( - item.copy_attributes.except("meeting_section_id").merge("meeting_id" => meeting.id) - ) + new_item = item.dup + new_item.meeting_section = new_section + + # A work_package agenda item whose WP was deleted has work_package_id nullified but + # item_type still set. Skip validations for this state + skip_validation = new_item.work_package? && new_item.work_package_id.nil? + new_item.save!(validate: !skip_validation) end end end diff --git a/modules/meeting/spec/services/meetings/copy_service_integration_spec.rb b/modules/meeting/spec/services/meetings/copy_service_integration_spec.rb index b3f36d94d40..46db2238711 100644 --- a/modules/meeting/spec/services/meetings/copy_service_integration_spec.rb +++ b/modules/meeting/spec/services/meetings/copy_service_integration_spec.rb @@ -196,4 +196,20 @@ RSpec.describe Meetings::CopyService, "integration", type: :model do end end end + + context "with a work_package agenda item whose work package was deleted" do + before do + item = create(:wp_meeting_agenda_item, meeting:) + # Simulate the work package being destroyed (dependent: :nullify) + item.update_columns(work_package_id: nil) + end + + it "copies the deleted-WP agenda item preserving its type and nil work_package_id" do + expect(service_result).to be_success + deleted_item = copy.reload.agenda_items.last + expect(deleted_item).to be_present + expect(deleted_item).to be_work_package + expect(deleted_item.work_package_id).to be_nil + end + end end diff --git a/modules/meeting/spec/services/recurring_meetings/reset_to_template_service_spec.rb b/modules/meeting/spec/services/recurring_meetings/reset_to_template_service_spec.rb index 384c3515320..777ea21ce2b 100644 --- a/modules/meeting/spec/services/recurring_meetings/reset_to_template_service_spec.rb +++ b/modules/meeting/spec/services/recurring_meetings/reset_to_template_service_spec.rb @@ -135,4 +135,33 @@ RSpec.describe RecurringMeetings::ResetToTemplateService, type: :model do expect(cancelled_occurrence.reload.participants.count).to eq(template_participant_count) end end + + context "when the template has a work package agenda item whose work package was deleted" do + before do + template_section = series.template.sections.first + wp_item = MeetingAgendaItem.create!( + meeting: series.template, + meeting_section: template_section, + item_type: :work_package, + work_package: create(:work_package, project:), + author: user, + position: 2 + ) + + # Simulate the work package being destroyed (dependent: :nullify) + wp_item.update_columns(work_package_id: nil) + end + + it "returns a successful service result" do + expect(service_result).to be_success + end + + it "copies the deleted WP agenda item preserving its type and nil work_package_id" do + service_result + deleted_item = cancelled_occurrence.reload.agenda_items.last + expect(deleted_item).to be_present + expect(deleted_item).to be_work_package + expect(deleted_item.work_package_id).to be_nil + end + end end From b31ea63f6381b4cee96e9f44d2542f269b06dd26 Mon Sep 17 00:00:00 2001 From: Mir Bhatia Date: Thu, 4 Jun 2026 09:49:45 +0200 Subject: [PATCH 02/32] Incorporate PR feedback --- .../meetings/copy_service_integration_spec.rb | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/modules/meeting/spec/services/meetings/copy_service_integration_spec.rb b/modules/meeting/spec/services/meetings/copy_service_integration_spec.rb index 46db2238711..2694eb9ca29 100644 --- a/modules/meeting/spec/services/meetings/copy_service_integration_spec.rb +++ b/modules/meeting/spec/services/meetings/copy_service_integration_spec.rb @@ -206,10 +206,35 @@ RSpec.describe Meetings::CopyService, "integration", type: :model do it "copies the deleted-WP agenda item preserving its type and nil work_package_id" do expect(service_result).to be_success - deleted_item = copy.reload.agenda_items.last + deleted_item = copy.reload.agenda_items.find_by(item_type: :work_package, work_package_id: nil) expect(deleted_item).to be_present expect(deleted_item).to be_work_package expect(deleted_item.work_package_id).to be_nil end end + + context "with a mix of valid and deleted work_package agenda items" do + let(:work_package) { create(:work_package, project:) } + + before do + create(:wp_meeting_agenda_item, meeting:, work_package:) + deleted_item = create(:wp_meeting_agenda_item, meeting:) + # Simulate the work package being destroyed (dependent: :nullify) + deleted_item.update_columns(work_package_id: nil) + end + + it "copies both the valid and deleted-WP agenda items" do + expect(service_result).to be_success + agenda_items = copy.reload.agenda_items + expect(agenda_items.count).to eq(2) + + valid_item = agenda_items.find_by(item_type: :work_package, work_package_id: work_package.id) + expect(valid_item).to be_present + expect(valid_item.work_package_id).to eq(work_package.id) + + deleted_item = agenda_items.find_by(item_type: :work_package, work_package_id: nil) + expect(deleted_item).to be_present + expect(deleted_item.work_package_id).to be_nil + end + end end From ba9f92e82a37ddd0671bfe2856bd4649ddfe18fe Mon Sep 17 00:00:00 2001 From: Tomas Hykel Date: Thu, 4 Jun 2026 20:47:20 +0200 Subject: [PATCH 03/32] [STC-805] Use semantic IDs in github/gitlab suggestions --- .../frontend/module/tab-prs/tab-prs.component.ts | 2 +- .../frontend/module/tab-mrs/tab-mrs.component.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/github_integration/frontend/module/tab-prs/tab-prs.component.ts b/modules/github_integration/frontend/module/tab-prs/tab-prs.component.ts index d553eacc43e..63e9712e4ae 100644 --- a/modules/github_integration/frontend/module/tab-prs/tab-prs.component.ts +++ b/modules/github_integration/frontend/module/tab-prs/tab-prs.component.ts @@ -58,7 +58,7 @@ export class TabPrsComponent implements OnInit { emptyText:string; ngOnInit():void { - this.emptyText = this.I18n.t('js.github_integration.tab_prs.empty', { wp_id: this.workPackage.id }); + this.emptyText = this.I18n.t('js.github_integration.tab_prs.empty', { wp_id: this.workPackage.displayId }); this.pullRequests$ = this .githubPullRequests .ofWorkPackage(this.workPackage) diff --git a/modules/gitlab_integration/frontend/module/tab-mrs/tab-mrs.component.ts b/modules/gitlab_integration/frontend/module/tab-mrs/tab-mrs.component.ts index 24869c3c275..d4de195c3cb 100644 --- a/modules/gitlab_integration/frontend/module/tab-mrs/tab-mrs.component.ts +++ b/modules/gitlab_integration/frontend/module/tab-mrs/tab-mrs.component.ts @@ -64,6 +64,6 @@ export class TabMrsComponent implements OnInit { } public getEmptyText() { - return this.I18n.t('js.gitlab_integration.tab_mrs.empty',{ wp_id: this.workPackage.id }); + return this.I18n.t('js.gitlab_integration.tab_mrs.empty',{ wp_id: this.workPackage.displayId }); } } From d965a0c5b0e1377accd4f29a681c9a51bc1534f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Tue, 2 Jun 2026 16:30:28 +0200 Subject: [PATCH 04/32] Call meeting.destroy!, not delete to also delete content https://community.openproject.org/work_packages/MEET-551 --- .../recurring_meetings/update_service.rb | 2 +- .../update_service_integration_spec.rb | 40 +++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/modules/meeting/app/services/recurring_meetings/update_service.rb b/modules/meeting/app/services/recurring_meetings/update_service.rb index 307875406d0..678eb8b1ddf 100644 --- a/modules/meeting/app/services/recurring_meetings/update_service.rb +++ b/modules/meeting/app/services/recurring_meetings/update_service.rb @@ -175,7 +175,7 @@ module RecurringMeetings .cancelled .find_each do |meeting| occurring = recurring_meeting.schedule.occurs_at?(meeting.recurrence_start_time) - meeting.delete unless occurring + meeting.destroy! unless occurring end end diff --git a/modules/meeting/spec/services/recurring_meetings/update_service_integration_spec.rb b/modules/meeting/spec/services/recurring_meetings/update_service_integration_spec.rb index 56b887f9d9d..fc5a5254507 100644 --- a/modules/meeting/spec/services/recurring_meetings/update_service_integration_spec.rb +++ b/modules/meeting/spec/services/recurring_meetings/update_service_integration_spec.rb @@ -101,6 +101,46 @@ RSpec.describe RecurringMeetings::UpdateService, "integration", type: :model do end end + context "when ending a series with a stale cancelled occurrence" do + let(:series) do + create(:recurring_meeting, + project:, + start_time: 1.month.ago + 10.hours, + frequency: "daily", + interval: 1, + end_after: "specific_date", + end_date: 1.month.from_now) + end + let(:instance) do + described_class.new(model: series, user:, contract_class: RecurringMeetings::EndSeriesContract) + end + let(:params) do + { + end_after: "specific_date", + end_date: Time.zone.yesterday + } + end + let!(:cancelled_occurrence) do + create(:recurring_meeting_occurrence, + recurring_meeting: series, + start_time: Time.zone.tomorrow + 10.hours, + recurrence_start_time: Time.zone.tomorrow + 10.hours, + state: :cancelled) + end + let!(:section) { create(:meeting_section, meeting: cancelled_occurrence) } + let!(:agenda_item) do + create(:meeting_agenda_item, meeting: cancelled_occurrence, meeting_section: section) + end + + it "destroys the cancelled occurrence with its structured meeting content" do + expect(service_result).to be_success + + expect { cancelled_occurrence.reload }.to raise_error(ActiveRecord::RecordNotFound) + expect { section.reload }.to raise_error(ActiveRecord::RecordNotFound) + expect { agenda_item.reload }.to raise_error(ActiveRecord::RecordNotFound) + end + end + describe "rescheduling job" do context "when updating the title" do let(:params) do From 96d594727903bbe96043ef17a308dcb35f4b10fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Mon, 8 Jun 2026 09:59:54 +0200 Subject: [PATCH 05/32] Update security fixes --- docs/release-notes/17-3-3/README.md | 80 +++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 docs/release-notes/17-3-3/README.md diff --git a/docs/release-notes/17-3-3/README.md b/docs/release-notes/17-3-3/README.md new file mode 100644 index 00000000000..4b185833b06 --- /dev/null +++ b/docs/release-notes/17-3-3/README.md @@ -0,0 +1,80 @@ +--- +title: OpenProject 17.3.3 +sidebar_navigation: + title: 17.3.3 +release_version: 17.3.3 +release_date: 2026-06-08 +--- + +# OpenProject 17.3.3 + +Release date: 2026-06-08 + +We released [OpenProject 17.3.3](https://community.openproject.org/versions/2299). +The release contains several bug fixes and we recommend updating to the newest version. +Below you will find a complete list of all changes and bug fixes. + +## Security fixes + +### CVE-2026-47193 - Journal diff endpoint bypasses object, journal, and field visibility checks +This vulnerability was reported as part of the [YesWeHack.com OpenProject Bug Bounty program](https://yeswehack.com/programs/openproject), sponsored by the European Commission. + +For more information, please see the [GitHub advisory #GHSA-f2rx-x2qj-2hgj](https://github.com/opf/openproject/security/advisories/GHSA-f2rx-x2qj-2hgj) + +### GHSA-3vpx-94qx-xpw6 - IDOR through /projects//settings/project_storages/ via PATCH parameter "storages_project_storage[project_folder_id]" leads to Access to Unauthorized Resources +A project-admin in one project can hijack the managed Nextcloud or OneDrive folder of another project on the same storage by writing the victim project's `project_folder_id` into the attacker's `Storages::ProjectStorage` row. The next managed-folder sync overwrites the ACL on the referenced folder with the attacker project's user list. + +This vulnerability was reported as part of the [YesWeHack.com OpenProject Bug Bounty program](https://yeswehack.com/programs/openproject), sponsored by the European Commission. + +For more information, please see the [GitHub advisory #GHSA-3vpx-94qx-xpw6](https://github.com/opf/openproject/security/advisories/GHSA-3vpx-94qx-xpw6) + +### GHSA-6crw-7f5r-4qj9 - CSRF on TARGET through /users/:id via POST parameter "user[admin]" +Turbo Drive auto-injects CSRF tokens (from ``) on forms injected via the XSS's `append` Turbo Stream action. A second action, `dispatch_event` with `name="submit"`, auto-submits the form with no victim interaction beyond viewing the work package, resulting in a CSRF attack + +This vulnerability was reported as part of the [YesWeHack.com OpenProject Bug Bounty program](https://yeswehack.com/programs/openproject), sponsored by the European Commission. + +For more information, please see the [GitHub advisory #GHSA-6crw-7f5r-4qj9](https://github.com/opf/openproject/security/advisories/GHSA-6crw-7f5r-4qj9) + +### GHSA-98vw-2r87-fx2r - SQL injection in timestamps functionality +OpenProject baseline comparison allows callers to request historic work-package attributes using the `timestamps` parameter. + +The timestamp parser accepts a relative date keyword on the first line because its regular expression uses line anchors. The parser validates the input, but the original multi-line string is kept and later interpolated into a raw SQL `CASE ... THEN ''` expression. + +An authenticated user who can save a query can persist a timestamp array value containing literal commas and trigger a top-level data-modifying CTE. This gives the attacker a generic database write primitive as the OpenProject application database role. + +The demonstrated impact is administrator privilege escalation: the attacker uses that write primitive to update their own account record, setting the account's administrator flag to true. The same injection also allows in-band data disclosure through work-package timestamp metadata. + +This vulnerability was reported as part of the [YesWeHack.com OpenProject Bug Bounty program](https://yeswehack.com/programs/openproject), sponsored by the European Commission. + +For more information, please see the [GitHub advisory #GHSA-98vw-2r87-fx2r](https://github.com/opf/openproject/security/advisories/GHSA-98vw-2r87-fx2r) + +### GHSA-h83w-5q5x-pq27 - Information Disclosure (cleartext storage of data) on localhost through memcached via Others "storage..httpx_access_token" leads to Sensitive Data Exposure +OpenProject's Storages module writes the OneDrive/SharePoint userless OAuth `access_token` plaintext to `Rails.cache` under the deterministic key `storage..httpx_access_token`, repopulated continuously by an hourly cron and every userless-OAuth call site (see Write cadence). None of the three allowed cache backends (`file_store`, `memcache`, `redis`) encrypts at rest. An attacker with read access to the cache backend recovers the Azure-AD application-tier bearer with an anonymous `get` over the memcached binary protocol (or the equivalent against Redis) + +This vulnerability was reported as part of the [YesWeHack.com OpenProject Bug Bounty program](https://yeswehack.com/programs/openproject), sponsored by the European Commission. + +For more information, please see the [GitHub advisory #GHSA-h83w-5q5x-pq27](https://github.com/opf/openproject/security/advisories/GHSA-h83w-5q5x-pq27) + +### GHSA-q33w-f822-hg8x - Stored XSS on openproject.example.com through /api/v3/projects/{project}/work_packages via POST parameter "description" +The HTML sanitizer grants `` elements unrestricted `data-*` attributes via `:data` wildcard. An attacker injects `data-controller="poll-for-changes"` into a work package description, causing Stimulus.js to mount a controller that fetches an attacker-uploaded attachment and passes it to `renderStreamMessage()`. This executes arbitrary Turbo Stream actions — including `redirect_to` — in every victim's authenticated browser session, redirecting them to an attacker-controlled server. + +This vulnerability was reported as part of the [YesWeHack.com OpenProject Bug Bounty program](https://yeswehack.com/programs/openproject), sponsored by the European Commission. + +For more information, please see the [GitHub advisory #GHSA-q33w-f822-hg8x](https://github.com/opf/openproject/security/advisories/GHSA-q33w-f822-hg8x) + +### GHSA-qj96-f42f-6336 - Cache store poisoning leads to Remote Code Execution (RCE) +This vulnerability was reported as part of the [YesWeHack.com OpenProject Bug Bounty program](https://yeswehack.com/programs/openproject), sponsored by the European Commission. + +For more information, please see the [GitHub advisory #GHSA-qj96-f42f-6336](https://github.com/opf/openproject/security/advisories/GHSA-qj96-f42f-6336) + + + + +## Bug fixes and changes + + + + + + + From 667006bfc541e7715f2bdd1064cc8b3ef8bd3fd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Mon, 8 Jun 2026 09:59:55 +0200 Subject: [PATCH 06/32] Add release-notes file --- docs/release-notes/README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/release-notes/README.md b/docs/release-notes/README.md index 1e7f36f8c1e..7e15b7308c4 100644 --- a/docs/release-notes/README.md +++ b/docs/release-notes/README.md @@ -13,6 +13,13 @@ Stay up to date and get an overview of the new features included in the releases +## 17.3.3 + +Release date: 2026-06-08 + +[Release Notes](17-3-3/) + + ## 17.3.2 Release date: 2026-05-13 From b6bd1c3d7b4cb0d9d0a402bb479d7fcaf071eed9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Mon, 8 Jun 2026 09:59:57 +0200 Subject: [PATCH 07/32] Update hocuspocus image to openproject/hocuspocus:17.3.3 --- docker/prod/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/prod/Dockerfile b/docker/prod/Dockerfile index c6144a26339..44bab1d60b9 100755 --- a/docker/prod/Dockerfile +++ b/docker/prod/Dockerfile @@ -141,7 +141,7 @@ ENV PGDATA=/var/openproject/pgdata COPY --from=openproject/gosu /go/bin/gosu /usr/local/bin/gosu RUN chmod +x /usr/local/bin/gosu && gosu nobody true -COPY --from=openproject/hocuspocus:17.3.2 --chown=$APP_USER:$APP_USER /app /opt/hocuspocus +COPY --from=openproject/hocuspocus:17.3.3 --chown=$APP_USER:$APP_USER /app /opt/hocuspocus # Keep node/npm in all-in-one for bundled hocuspocus even when BIM support is disabled. COPY --from=build-base /usr/local/bin/node /usr/local/bin/node COPY --from=build-base /usr/local/lib/node_modules /usr/local/lib/node_modules From 5ee515c5c80c3aaf1e7527f63e4e69798aef1b29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Mon, 8 Jun 2026 09:59:57 +0200 Subject: [PATCH 08/32] Update publiccode.yml --- publiccode.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/publiccode.yml b/publiccode.yml index c63a0fc2f8c..27fdcd10f82 100644 --- a/publiccode.yml +++ b/publiccode.yml @@ -7,8 +7,8 @@ name: OpenProject applicationSuite: openDesk url: 'https://github.com/opf/openproject' roadmap: 'https://www.openproject.org/roadmap' -releaseDate: '2026-05-13' -softwareVersion: '17.3.2' +releaseDate: '2026-06-08' +softwareVersion: '17.3.3' developmentStatus: stable softwareType: standalone/web logo: 'publiccode_logo.svg' From 769063cf4b1375f01f3e60029177171ebcc0a910 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Mon, 8 Jun 2026 09:59:59 +0200 Subject: [PATCH 09/32] Bumped version to 17.3.4 [ci skip] --- lib/open_project/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/open_project/version.rb b/lib/open_project/version.rb index 06123b70f5f..9dbcb9768d2 100644 --- a/lib/open_project/version.rb +++ b/lib/open_project/version.rb @@ -33,7 +33,7 @@ module OpenProject module VERSION # :nodoc: MAJOR = 17 MINOR = 3 - PATCH = 3 + PATCH = 4 class << self def revision From 58d67ab81f02a40203f127f541c37f90d4d6f6ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Mon, 8 Jun 2026 10:04:29 +0200 Subject: [PATCH 10/32] Update security fixes --- docs/release-notes/17-4-1/README.md | 92 +++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 docs/release-notes/17-4-1/README.md diff --git a/docs/release-notes/17-4-1/README.md b/docs/release-notes/17-4-1/README.md new file mode 100644 index 00000000000..4122ed32c8d --- /dev/null +++ b/docs/release-notes/17-4-1/README.md @@ -0,0 +1,92 @@ +--- +title: OpenProject 17.4.1 +sidebar_navigation: + title: 17.4.1 +release_version: 17.4.1 +release_date: 2026-06-08 +--- + +# OpenProject 17.4.1 + +Release date: 2026-06-08 + +We released [OpenProject 17.4.1](https://community.openproject.org/versions/2301). +The release contains several bug fixes and we recommend updating to the newest version. +Below you will find a complete list of all changes and bug fixes. + +## Security fixes + +### CVE-2026-47193 - Journal diff endpoint bypasses object, journal, and field visibility checks +This vulnerability was reported as part of the [YesWeHack.com OpenProject Bug Bounty program](https://yeswehack.com/programs/openproject), sponsored by the European Commission. + +For more information, please see the [GitHub advisory #GHSA-f2rx-x2qj-2hgj](https://github.com/opf/openproject/security/advisories/GHSA-f2rx-x2qj-2hgj) + +### CVE-2026-49355 - Private work package data disclosure through single meeting agenda item API +`GET /api/v3/meetings/:meeting_id/agenda_items/:agenda_item_id` discloses private work package data from a linked work package that belongs to a private/inaccessible project. + +This vulnerability was reported as part of the [YesWeHack.com OpenProject Bug Bounty program](https://yeswehack.com/programs/openproject), sponsored by the European Commission. + +For more information, please see the [GitHub advisory #GHSA-g387-6rm2-xw88](https://github.com/opf/openproject/security/advisories/GHSA-g387-6rm2-xw88) + +### GHSA-3vpx-94qx-xpw6 - IDOR through /projects//settings/project_storages/ via PATCH parameter "storages_project_storage[project_folder_id]" leads to Access to Unauthorized Resources +A project-admin in one project can hijack the managed Nextcloud or OneDrive folder of another project on the same storage by writing the victim project's `project_folder_id` into the attacker's `Storages::ProjectStorage` row. The next managed-folder sync overwrites the ACL on the referenced folder with the attacker project's user list. + +This vulnerability was reported as part of the [YesWeHack.com OpenProject Bug Bounty program](https://yeswehack.com/programs/openproject), sponsored by the European Commission. + +For more information, please see the [GitHub advisory #GHSA-3vpx-94qx-xpw6](https://github.com/opf/openproject/security/advisories/GHSA-3vpx-94qx-xpw6) + +### GHSA-6crw-7f5r-4qj9 - CSRF on TARGET through /users/:id via POST parameter "user[admin]" +Turbo Drive auto-injects CSRF tokens (from ``) on forms injected via the XSS's `append` Turbo Stream action. A second action, `dispatch_event` with `name="submit"`, auto-submits the form with no victim interaction beyond viewing the work package, resulting in a CSRF attack + +This vulnerability was reported as part of the [YesWeHack.com OpenProject Bug Bounty program](https://yeswehack.com/programs/openproject), sponsored by the European Commission. + +For more information, please see the [GitHub advisory #GHSA-6crw-7f5r-4qj9](https://github.com/opf/openproject/security/advisories/GHSA-6crw-7f5r-4qj9) + +### GHSA-98vw-2r87-fx2r - SQL injection in timestamps functionality +OpenProject baseline comparison allows callers to request historic work-package attributes using the `timestamps` parameter. + +The timestamp parser accepts a relative date keyword on the first line because its regular expression uses line anchors. The parser validates the input, but the original multi-line string is kept and later interpolated into a raw SQL `CASE ... THEN ''` expression. + +An authenticated user who can save a query can persist a timestamp array value containing literal commas and trigger a top-level data-modifying CTE. This gives the attacker a generic database write primitive as the OpenProject application database role. + +The demonstrated impact is administrator privilege escalation: the attacker uses that write primitive to update their own account record, setting the account's administrator flag to true. The same injection also allows in-band data disclosure through work-package timestamp metadata. + +This vulnerability was reported as part of the [YesWeHack.com OpenProject Bug Bounty program](https://yeswehack.com/programs/openproject), sponsored by the European Commission. + +For more information, please see the [GitHub advisory #GHSA-98vw-2r87-fx2r](https://github.com/opf/openproject/security/advisories/GHSA-98vw-2r87-fx2r) + +### GHSA-h83w-5q5x-pq27 - Information Disclosure (cleartext storage of data) on localhost through memcached via Others "storage..httpx_access_token" leads to Sensitive Data Exposure +OpenProject's Storages module writes the OneDrive/SharePoint userless OAuth `access_token` plaintext to `Rails.cache` under the deterministic key `storage..httpx_access_token`, repopulated continuously by an hourly cron and every userless-OAuth call site (see Write cadence). None of the three allowed cache backends (`file_store`, `memcache`, `redis`) encrypts at rest. An attacker with read access to the cache backend recovers the Azure-AD application-tier bearer with an anonymous `get` over the memcached binary protocol (or the equivalent against Redis) + +This vulnerability was reported as part of the [YesWeHack.com OpenProject Bug Bounty program](https://yeswehack.com/programs/openproject), sponsored by the European Commission. + +For more information, please see the [GitHub advisory #GHSA-h83w-5q5x-pq27](https://github.com/opf/openproject/security/advisories/GHSA-h83w-5q5x-pq27) + +### GHSA-q33w-f822-hg8x - Stored XSS on openproject.example.com through /api/v3/projects/{project}/work_packages via POST parameter "description" +The HTML sanitizer grants `` elements unrestricted `data-*` attributes via `:data` wildcard. An attacker injects `data-controller="poll-for-changes"` into a work package description, causing Stimulus.js to mount a controller that fetches an attacker-uploaded attachment and passes it to `renderStreamMessage()`. This executes arbitrary Turbo Stream actions — including `redirect_to` — in every victim's authenticated browser session, redirecting them to an attacker-controlled server. + +This vulnerability was reported as part of the [YesWeHack.com OpenProject Bug Bounty program](https://yeswehack.com/programs/openproject), sponsored by the European Commission. + +For more information, please see the [GitHub advisory #GHSA-q33w-f822-hg8x](https://github.com/opf/openproject/security/advisories/GHSA-q33w-f822-hg8x) + +### GHSA-qj96-f42f-6336 - Cache store poisoning leads to Remote Code Execution (RCE) +This vulnerability was reported as part of the [YesWeHack.com OpenProject Bug Bounty program](https://yeswehack.com/programs/openproject), sponsored by the European Commission. + +For more information, please see the [GitHub advisory #GHSA-qj96-f42f-6336](https://github.com/opf/openproject/security/advisories/GHSA-qj96-f42f-6336) + + + + +## Bug fixes and changes + + + + +- Bugfix: Migration 20250929070310 failing due to update code failing on not-yet fully migrated schema \[[#75286](https://community.openproject.org/wp/75286)\] + + + + +## Contributions +A big thanks to our Community members for reporting bugs and helping us identify and provide fixes. +This release, special thanks for reporting and finding bugs go to Alexander Aleschenko. From 0e0be3c331080ba450a66e83608209a2599a75e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Mon, 8 Jun 2026 10:04:30 +0200 Subject: [PATCH 11/32] Add release-notes file --- docs/release-notes/README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/release-notes/README.md b/docs/release-notes/README.md index 19b3a23a073..80211c24b65 100644 --- a/docs/release-notes/README.md +++ b/docs/release-notes/README.md @@ -13,6 +13,13 @@ Stay up to date and get an overview of the new features included in the releases +## 17.4.1 + +Release date: 2026-06-08 + +[Release Notes](17-4-1/) + + ## 17.3.3 Release date: 2026-06-08 From b01a19634bd1d99de5a060e10e34d35785b1be35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Mon, 8 Jun 2026 10:04:31 +0200 Subject: [PATCH 12/32] Update hocuspocus image to openproject/hocuspocus:17.4.1 --- docker/prod/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/prod/Dockerfile b/docker/prod/Dockerfile index 1e6d1c509ee..66b589d5ba6 100755 --- a/docker/prod/Dockerfile +++ b/docker/prod/Dockerfile @@ -141,7 +141,7 @@ ENV PGDATA=/var/openproject/pgdata COPY --from=openproject/gosu /go/bin/gosu /usr/local/bin/gosu RUN chmod +x /usr/local/bin/gosu && gosu nobody true -COPY --from=openproject/hocuspocus:17.4.0 --chown=$APP_USER:$APP_USER /app /opt/hocuspocus +COPY --from=openproject/hocuspocus:17.4.1 --chown=$APP_USER:$APP_USER /app /opt/hocuspocus # Keep node/npm in all-in-one for bundled hocuspocus even when BIM support is disabled. COPY --from=build-base /usr/local/bin/node /usr/local/bin/node COPY --from=build-base /usr/local/lib/node_modules /usr/local/lib/node_modules From 8203fc2286fd48d7d72f52b3c4a2487f96fcea28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Mon, 8 Jun 2026 10:04:31 +0200 Subject: [PATCH 13/32] Update publiccode.yml --- publiccode.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/publiccode.yml b/publiccode.yml index d76300c1325..a79f8fbfc91 100644 --- a/publiccode.yml +++ b/publiccode.yml @@ -7,8 +7,8 @@ name: OpenProject applicationSuite: openDesk url: 'https://github.com/opf/openproject' roadmap: 'https://www.openproject.org/roadmap' -releaseDate: '2026-05-13' -softwareVersion: '17.4.0' +releaseDate: '2026-06-08' +softwareVersion: '17.4.1' developmentStatus: stable softwareType: standalone/web logo: 'publiccode_logo.svg' From 1451d2c3c490b8c6fdd0dfeea2e6c13123afae2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Mon, 8 Jun 2026 10:04:34 +0200 Subject: [PATCH 14/32] Bumped version to 17.4.2 [ci skip] --- lib/open_project/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/open_project/version.rb b/lib/open_project/version.rb index dba81e17a42..7c6533fe732 100644 --- a/lib/open_project/version.rb +++ b/lib/open_project/version.rb @@ -33,7 +33,7 @@ module OpenProject module VERSION # :nodoc: MAJOR = 17 MINOR = 4 - PATCH = 1 + PATCH = 2 class << self def revision From c30644bfa96c6740581183320991ccc3722eecf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Mon, 8 Jun 2026 10:34:16 +0200 Subject: [PATCH 15/32] Revert "Update hocuspocus image to openproject/hocuspocus:17.4.1" This reverts commit b01a19634bd1d99de5a060e10e34d35785b1be35. --- docker/prod/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/prod/Dockerfile b/docker/prod/Dockerfile index 66b589d5ba6..1e6d1c509ee 100755 --- a/docker/prod/Dockerfile +++ b/docker/prod/Dockerfile @@ -141,7 +141,7 @@ ENV PGDATA=/var/openproject/pgdata COPY --from=openproject/gosu /go/bin/gosu /usr/local/bin/gosu RUN chmod +x /usr/local/bin/gosu && gosu nobody true -COPY --from=openproject/hocuspocus:17.4.1 --chown=$APP_USER:$APP_USER /app /opt/hocuspocus +COPY --from=openproject/hocuspocus:17.4.0 --chown=$APP_USER:$APP_USER /app /opt/hocuspocus # Keep node/npm in all-in-one for bundled hocuspocus even when BIM support is disabled. COPY --from=build-base /usr/local/bin/node /usr/local/bin/node COPY --from=build-base /usr/local/lib/node_modules /usr/local/lib/node_modules From d82d532685fe4a1c359a7604c6f5c0ae2038bdca Mon Sep 17 00:00:00 2001 From: corinnaguenther <131807161+corinnaguenther@users.noreply.github.com> Date: Mon, 8 Jun 2026 10:51:27 +0200 Subject: [PATCH 16/32] Update glossary for 17.5 (#23530) * Update glossary for 17.5 [OP-19159] Update Glossary with new terms for 17.5 https://community.openproject.org/wp/OP-19159 * Fix mistakes in the whole glossary * Update docs/glossary/README.md Co-authored-by: Maya Berdygylyjova * update after review --------- Co-authored-by: Maya Berdygylyjova --- docs/glossary/README.md | 41 ++++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/docs/glossary/README.md b/docs/glossary/README.md index 75dafaa325a..fd88e86fcd0 100644 --- a/docs/glossary/README.md +++ b/docs/glossary/README.md @@ -82,7 +82,7 @@ In OpenProject, authentication is an important element to guarantee a data prote Backlogs is a [module](#module) in OpenProject that brings features that support [Agile project management](#agile-project-management), in particular the Scrum methodology, such as a product backlog and sprint backlogs. -It includes functionality for planning and managing sprints, including a sprint board that is automatically created when a sprint is started. Within the backlog, work packages can be organized using **backlog buckets** to group items into clearly defined sections. Work packages that are not assigned to a backlog bucket or a sprint are listed in the **index backlog**. +It includes functionality for planning and managing [sprints](#sprint), including a sprint [board](#board) that is automatically created when a sprint is started. Within the backlog, work packages can be organized using **backlog buckets** to group items into clearly defined sections. Work packages that are not assigned to a backlog bucket or a sprint are listed in the **inbox** backlog bucket. To use backlogs in OpenProject, the Backlogs module has to be activated in the [project settings](#project-settings) by a project admin. @@ -98,7 +98,7 @@ BIM stands for Building Information Modeling. In OpenProject, we offer a special ### Board -A board in OpenProject is a view that allows you to see your work packages as cards divided into columns. A board is a typical element in [agile project management](#agile-project-management), supporting methodologies such as Scrum or Kanban. OpenProject, you can use a [basic board](../user-guide/agile-boards/#basic-boards) or [advanced Action boards](../user-guide/agile-boards). Use advanced Action boards to quickly change attributes of your work package. [Read more about boards for agile project management](../user-guide/agile-boards/). +A board in OpenProject is a view that allows you to see your work packages as cards divided into columns. A board is a typical element in [agile project management](#agile-project-management), supporting methodologies such as Scrum or Kanban. In OpenProject, you can use a [basic board](../user-guide/agile-boards/#basic-boards) or [advanced Action boards](../user-guide/agile-boards). Use advanced Action boards to quickly change attributes of your work package. [Read more about boards for agile project management](../user-guide/agile-boards/). **More information on boards in OpenProject** @@ -200,7 +200,7 @@ Excel synchronization is an integration in OpenProject which allows you to easil ### File storage -File storages can be configured in the System Administration and then be selected in the [project settings](#project-settings). OpenProject offers a [Nextcloud integration](#nextcloud-integration) to support file storage. [More information on file storage with the Nextcloud integration](../user-guide/file-management/nextcloud-integration/). +File storages can be configured in the system administration and then be selected in the [project settings](#project-settings). OpenProject offers a [Nextcloud integration](#nextcloud-integration) to support file storage. [More information on file storage with the Nextcloud integration](../user-guide/file-management/nextcloud-integration/). ### Filters @@ -218,11 +218,11 @@ The Gantt charts [module](#module) in OpenProject displays the work packages in ### Global modules -In OpenProject, global modules are defined as a menu to access all [modules](#module) for *all* your projects. With global modules you can easily see all your project-overarching information at one place, e.g. for work packages, boards, calendars or meetings. Click on the grid icon on the left side of the header menu to access the global modules. [Read more about global modules in OpenProject](../user-guide/home/global-modules/). +In OpenProject, global modules are defined as a menu to access all [modules](#module) for *all* your projects. With global modules you can easily see all your project-overarching information at one place, e.g. for [work packages](#work-package), [boards](#board), calendars or [meetings](#meetings). Click on the grid icon on the left side of the header menu to access the global modules. [Read more about global modules in OpenProject](../user-guide/home/global-modules/). ### Group -A group in OpenProject is defined as a list of users which can be added as a member to projects with a selected [role](#role). Groups can also be assigned to work packages. New groups can be defined in *Administration → Users and permissions → Groups*. +A group in OpenProject is defined as a list of users which can be added as a member to projects with a selected [role](#role). Groups can also be assigned to work packages. They can be nested to represent organizational structures and inherit permissions from parent groups. New groups can be defined in *Administration → Users and permissions → Groups*. ## H @@ -343,7 +343,7 @@ OpenProject on-premises is a self-hosted version of OpenProject. As opposed to t **More information on OpenProject on-premises** -- [See our pricing side about your options for OpenProject](https://www.openproject.org/pricing/). +- [See our pricing page about your options for OpenProject](https://www.openproject.org/pricing/). - [Read a blog article comparing on-premises and cloud](https://www.openproject.org/blog/why-self-hosting-software/). - [Read how to activate the Enterprise on-premises edition](../enterprise-guide/enterprise-on-premises-guide/activate-enterprise-on-premises/). - [Read how to start a trial for Enterprise on-premises](../enterprise-guide/enterprise-on-premises-guide/enterprise-on-premises-trial/). @@ -379,7 +379,7 @@ PM² is a project management framework developed by the European Commission to s ### PMflex -PMflex is is a comprehensive and flexible project management system based on the European [PM²](#pm--pm2) standard and further developed for public administration in Germany. [Read more about how to use PMflex with OpenProject](https://www.openproject.org/pmflex). If you are looking for specific PMflex terminology, please see our [use case of implementing PM² and PMflex project management in OpenProject](../use-cases/project-management-pm2-pmflex/#implementing-pm-and-pmflex-project-management-in-openproject). +PMflex is a comprehensive and flexible project management system based on the European [PM²](#pm--pm2) standard and further developed for public administration in Germany. [Read more about how to use PMflex with OpenProject](https://www.openproject.org/pmflex). If you are looking for specific PMflex terminology, please see our [use case of implementing PM² and PMflex project management in OpenProject](../use-cases/project-management-pm2-pmflex/#implementing-pm-and-pmflex-project-management-in-openproject). ### Portfolio @@ -388,7 +388,7 @@ In OpenProject, you can manage your project portfolio by creating, filtering and ### Primer design system -OpenProject started adopting [Github's Primer Design System](https://primer.style/) in 2023. New features will be developed using Primer and existing features will will be gradually revised. Relevant reusable components from Primer as well as common patterns and compositions of these components will be documented in our [Lookbook](https://qa.openproject-edge.com/lookbook/pages/how_to_use). [Read more about OpenProject's decision to use Primer](https://www.openproject.org/blog/primer-design-system/). +OpenProject started adopting [Github's Primer Design System](https://primer.style/) in 2023. New features will be developed using Primer and existing features will be gradually revised. Relevant reusable components from Primer as well as common patterns and compositions of these components will be documented in our [Lookbook](https://qa.openproject-edge.com/lookbook/pages/how_to_use). [Read more about OpenProject's decision to use Primer](https://www.openproject.org/blog/primer-design-system/). ### Project @@ -404,9 +404,7 @@ A project attribute in OpenProject is a [custom field](#custom-field) that appli ### Project folder -Project folders help collaborating in the most efficient way. They can be used with -OpenProject's [Nextcloud integration](#nextcloud-integration) or with -OpenProject's [OneDrive integration](#onedrive-integration). [Read more about project folders in OpenProject](../user-guide/projects/project-settings/files/#project-folders). +Project folders help collaborating in the most efficient way. They can be used with OpenProject's [Nextcloud integration](#nextcloud-integration) or with OpenProject's [OneDrive integration](#onedrive-integration). [Read more about project folders in OpenProject](../user-guide/projects/project-settings/files/#project-folders). ### Project home @@ -437,7 +435,7 @@ Phases and phase gates are visible on the [project home](#project-home) page, in ### Project lists -In OpenProject, project lists are very useful for project portfolio managers to get an overview of all their [projects](#project) on the instance. Access your project lists on OpenProject by either navigating to the "All projects" menu and clicking on the "Project lists" button, or via the [Global modules](#global-modules). [Read more about project lists OpenProject](../user-guide/projects/project-lists/). +In OpenProject, project lists are very useful for project portfolio managers to get an overview of all their [projects](#project) on the instance. Access your project lists on OpenProject by either navigating to the "All projects" menu and clicking on the "Project lists" button, or via the [Global modules](#global-modules). [Read more about project lists in OpenProject](../user-guide/projects/project-lists/). ### Project navigation @@ -481,7 +479,7 @@ In OpenProject, you can set work packages in relation to each other. Some relati OpenProject offers different types of reminders so that you can lean back and never forget a task. One is the [date alert](#date-alerts) (Enterprise add-on), which generates automatic and customized [notifications](#notifications) regarding a work package's due date or start date. -OpenProject also allows you to set **work package reminders**: Simply activate the clock icon on top of a work package and choose from different options, e.g. to be reminded the next day (at 9 am) or in one week. You can also set a custom date. [Read more about work package reminders in OpenProject](../user-guide/work-packages/edit-work-package/#work-package-reminders). +OpenProject also allows you to set **work package reminders**: Simply activate the clock icon on top of a work package and choose from different options, e.g. to be reminded the next day (at 9 am) or in one week. You can also set a custom date. [Read more about work package reminders in OpenProject](../user-guide/work-packages/edit-work-package/#work-package-reminders). ### Repository @@ -509,6 +507,10 @@ SAML (Security Assertion Markup Language) is an open standard for exchanging aut OpenProject offers the possibility to share work packages with external groups or users that are not [members](#member) of the project. This feature is an [Enterprise add-on](#enterprise-add-on). Every user with whom a work package is shared must either already be a user of the instance or be newly created. The latter requires special rights. [Read more about OpenProject's feature to share work packages with project non-members](../user-guide/work-packages/share-work-packages/). +### Sprint + +A sprint is a time-boxed iteration used in agile project management to plan and execute work during a defined period. In OpenProject, sprints are managed through the [Backlogs](#backlogs) module and include attributes such as start and end dates. Sprint [boards](#board) are automatically created when a sprint is started. + ### Story points Story points is a term known in Scrum. They are defined as numbers assigned to a [work package](#work-package) used to estimate (relatively) the size of the work. In OpenProject, you can add story points to work packages. [Read how to work with story points in OpenProject](../user-guide/backlogs-scrum/#story-points). @@ -545,7 +547,7 @@ The OpenProject [user guide](../user-guide/) is an in-depth guide of all feature ### Versions -Versions in OpenProject are defined as an attribute for [work packages](#work-package) or in the [Backlogs](#backlogs) module. Versions will be displayed in the [Roadmap](#roadmap). In the [Enterprise edition](#enterprise-add-on), you can also create a version [board](#board) to get an overview of the progress of your versions. [Read more about how to manage versions in OpenProject](../user-guide/projects/project-settings/versions/). +Versions in OpenProject are used to group and organize work packages, for example to plan releases, milestones, or delivery targets. Versions are displayed in the [Roadmap](#roadmap) and can be assigned to work packages as an attribute. You can also create a version [board](#board) to get an overview of the progress of your versions. [Read more about how to manage versions in OpenProject](../user-guide/projects/project-settings/versions/). ## W @@ -569,7 +571,8 @@ In OpenProject, a wiki is defined as a [module](#module) that allows to use wiki ### Work, Remaining Work and % Complete -In OpenProject, '**Work**' refers to a work package attribute indicating the estimated hours and days needed to complete a task. +In OpenProject, '**Work**' refers to a work package attribute indicating the estimated hours and days needed to complete a task. + '**Remaining work**' is a work package attribute that shows how much work is left to finish the work package. It is automatically calculated if you work with [status-based progress reporting](../user-guide/time-and-costs/progress-tracking/#status-based-progress-reporting). And '**% Complete**' is an automatically calculated work package attribute that shows in percentage how much work is already completed. All three attributes are important for [progress reporting with OpenProject](https://www.openproject.org/blog/changes-progress-work-estimates/). To make it easier for project managers to work with work package hierarchies, OpenProject also displays a value (in blue) for the total amount of work in the Work field for parent work packages – next to the value for the dedicated work package. This **total work value** is the sum of the work value of the parent work package and all the work values of its children. The same principle applies to the work package attribute Remaining Work. [Read in our user guide about how to configure a work package](../user-guide/work-packages/work-package-table-configuration/) @@ -599,7 +602,11 @@ If you need a Category that applies to all projects on your instance, we recomme ### Work package ID -Work package ID is defined as a unique ascending number assigned to a newly created work package. Work package IDs cannot be changed and are numbered across all projects of an OpenProject instance (therefore, the numbering within a project may not be sequential). +In OpenProject, every work package has a unique ID (identifier). It is automatically assigned when a work package is created. Work package IDs are configured globally and apply across the entire OpenProject instance. + +By default, work package IDs are numerical, ascending numbers, for example #429. System [administrators](#admin) can optionally switch to project-based work package IDs, which consist of a project-specific prefix and an ascending number (e.g. OP-382). Project-based identifiers that have been used are [reserved and can be released if necessary](../system-admin-guide/projects/reserved-project-identifiers/) so that they can be used again. + +Administrators can configure work package identifiers under *Administration → Work packages → Identifiers*. [Read more in the OpenProject system admin guide](../user-guide/projects/project-settings/project-information/#change-project-identifier). ### Work package subject @@ -617,7 +624,7 @@ Work package types are the different items a work package can represent. Each wo ### Work package view -A list of work packages is considered a view. The containing work packages in any view can be displayed a number of different ways. Examples for most used work package views are the [table view](#work-package-table), the full screen view or the split screen view. You can also display work packages in a card view and use them in a [board](#board) to use agile methods. [Read more about work package views in OpenProject](../user-guide/work-packages/work-package-views/#work-packages-views). +A list of work packages is considered a view. The containing work packages in any view can be displayed a number of different ways. Examples for most used work package views are the [table view](#work-package-table), the full screen view or the split screen view. You can also display work packages in a card view and use them in a [board](#board) to use agile methods. [Read more about work package views in OpenProject](../user-guide/work-packages/work-package-views/#work-packages-views). ### WYSIWYG editor From 7411f1d985c25e77c42f6906b033e2466f570d73 Mon Sep 17 00:00:00 2001 From: Henriette Darge Date: Mon, 8 Jun 2026 11:01:35 +0200 Subject: [PATCH 17/32] Set min-height to avoid label being cut off --- app/components/work_packages/info_line_component.sass | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/components/work_packages/info_line_component.sass b/app/components/work_packages/info_line_component.sass index 365c23227f4..b1d65da4f1d 100644 --- a/app/components/work_packages/info_line_component.sass +++ b/app/components/work_packages/info_line_component.sass @@ -4,6 +4,9 @@ @include text-shortener min-width: 25px max-width: 66% + // The label has a height of 18.5px. Half pixels are resolved differently by each OS/browser combination, + // resulting in cases where the bottom of the label was cut off + min-height: 19px &--id white-space: nowrap From 63332d3957d0581f20f6cbb790342aaf6472a8a4 Mon Sep 17 00:00:00 2001 From: Behrokh Satarnejad <62008897+bsatarnejad@users.noreply.github.com> Date: Mon, 8 Jun 2026 11:35:22 +0200 Subject: [PATCH 18/32] [Dream-709] Highlighting of selecting WP does not work in notification center (#23599) * Fix selected notification highlight for semantic WP IDs * Update spec --- .../center/in-app-notification-center.component.html | 4 ++-- .../center/in-app-notification-center.component.ts | 10 +++++++++- .../notifications/semantic_id_navigation_spec.rb | 1 + 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/frontend/src/app/features/in-app-notifications/center/in-app-notification-center.component.html b/frontend/src/app/features/in-app-notifications/center/in-app-notification-center.component.html index 7cb262762df..e3e3ce5ddc1 100644 --- a/frontend/src/app/features/in-app-notifications/center/in-app-notification-center.component.html +++ b/frontend/src/app/features/in-app-notifications/center/in-app-notification-center.component.html @@ -13,12 +13,12 @@ class="op-ian-item" [class.op-ian-item_expanded]="records[0].expanded" [class.op-ian-item_read]="records[0].readIAN === true" - [class.op-ian-item_selected]="(selectedWorkPackage$ | async) === idFromLink(records[0]._links.resource.href)" + [class.op-ian-item_selected]="notificationMatchesSelectedWorkPackage(records[0], selectedWorkPackage$ | async)" [notification]="records[0]" [aggregatedNotifications]="records" attr.data-test-selector="op-ian-notification-item-{{records[0].id}}" [attr.data-qa-ian-read]="records[0].readIAN === true || undefined" - [attr.data-qa-ian-selected]="(selectedWorkPackage$ | async) === idFromLink(records[0]._links.resource.href)" + [attr.data-qa-ian-selected]="notificationMatchesSelectedWorkPackage(records[0], selectedWorkPackage$ | async)" /> } @else { diff --git a/frontend/src/app/features/in-app-notifications/center/in-app-notification-center.component.ts b/frontend/src/app/features/in-app-notifications/center/in-app-notification-center.component.ts index 8d882fa961d..becd64a64ea 100644 --- a/frontend/src/app/features/in-app-notifications/center/in-app-notification-center.component.ts +++ b/frontend/src/app/features/in-app-notifications/center/in-app-notification-center.component.ts @@ -153,7 +153,7 @@ export class InAppNotificationCenterComponent implements OnInit { protected readonly idFromLink = idFromLink; ngOnInit():void { - const facet = this.urlParams.get('facet') || 'unread'; + const facet = this.urlParams.get('facet') ?? 'unread'; this.storeService.setFacet(facet as 'unread'|'all'); this.storeService.setFilters({ filter: this.urlParams.get('filter'), @@ -172,4 +172,12 @@ export class InAppNotificationCenterComponent implements OnInit { return this.text.no_notification_for_filter; } + + notificationMatchesSelectedWorkPackage(notification:INotification, selected:string|null):boolean { + const href = notification._links.resource?.href; + const workPackageId = href ? idFromLink(href) : null; + const workPackage = workPackageId ? this.apiV3.work_packages.cache.current(workPackageId) : null; + + return selected === workPackageId || selected === workPackage?.displayId; + } } diff --git a/spec/features/notifications/semantic_id_navigation_spec.rb b/spec/features/notifications/semantic_id_navigation_spec.rb index a4bd84fc066..ff0ae8c796e 100644 --- a/spec/features/notifications/semantic_id_navigation_spec.rb +++ b/spec/features/notifications/semantic_id_navigation_spec.rb @@ -42,6 +42,7 @@ RSpec.describe "Notification center uses displayId when navigating to the work p expect(page).to have_current_path( "/notifications/details/#{semantic_id}/activity" ) + center.expect_item_selected(notification) end it "renders the notification's WP link with the semantic identifier in its href" do From 52276e0db3e34a4a130eb923c2e34e42b90036cc Mon Sep 17 00:00:00 2001 From: Wieland Lindenthal Date: Fri, 5 Jun 2026 16:35:31 +0200 Subject: [PATCH 19/32] Fix CTRL+Z in documents https://community.openproject.org/wp/STC-779 Three independent defects together caused Y.UndoManager state to be lost in the documents module: 1. `useCreateBlockNote(editorParams, [activeUser])` used `[activeUser]` as the recreation key. BlockNote's `useCreateBlockNote(options, deps)` uses `deps` as the sole `useMemo` key (options is intentionally NOT in deps). Since `block-note-element.ts` parses a fresh `activeUser` from the host attribute via `JSON.parse` on every `renderCallback` invocation, any path that re-rendered the React tree handed in a new object reference and rebuilt the editor (and its UndoManager). 2. `LiveCollaborationManager.initializeYjsProvider` was not idempotent. Stimulus's `init-yjs-provider` controller can fire `connect()` a second time without firing `disconnect()` (HMR replay, Turbo morph, parent re-attach). The duplicate call destroyed the live Y.Doc + provider and rebuilt both, remounting the editor and wiping its history. The controller now adopts the existing session via `getCurrentSessionFor(documentName)` instead of constructing a duplicate. 3. The `React.StrictMode` wrap in `block-note-element.ts` caused BlockNoteView to destroy and recreate the ProseMirror view between StrictMode's two dev-mode mounts. `y-prosemirror`'s `yUndoPlugin` destroys the `Y.UndoManager` on view-destroy (removing its `afterTransaction` handler from the Y.Doc), but the plugin state retains the now-dead UndoManager reference. After the second mount the editor reused the destroyed UndoManager, no handler was re-attached, no stack items were recorded, and Ctrl+Z was a no-op. StrictMode is dev-only and incompatible with the current y-prosemirror lifecycle, so it is removed from the BlockNote tree. Verified on release/17.5: typing produces stack items, Ctrl+Z reverts to the previous state, Ctrl+Shift+Z reapplies, and the Y.Doc has exactly one `afterTransaction` observer (the live UndoManager's). Synthetic duplicate `connect()` no longer remounts the editor. Co-Authored-By: Claude Opus 4.7 --- frontend/src/elements/block-note-element.ts | 11 +++++-- .../react/components/OpBlockNoteEditor.tsx | 6 +++- .../documents/init-yjs-provider.controller.ts | 13 +++++++- .../helpers/live-collaboration-helpers.ts | 31 +++++++++++++++++-- 4 files changed, 54 insertions(+), 7 deletions(-) diff --git a/frontend/src/elements/block-note-element.ts b/frontend/src/elements/block-note-element.ts index 6ba9a5e5c2e..91f280db7e1 100644 --- a/frontend/src/elements/block-note-element.ts +++ b/frontend/src/elements/block-note-element.ts @@ -88,9 +88,14 @@ class BlockNoteElement extends HTMLElement { this.reactRoot = createRoot(this.editorMount); this.renderCallback = (provider:HocuspocusProvider) => { - this.reactRoot?.render( - React.createElement(React.StrictMode, null, this.BlockNoteReactContainer(provider)) - ); + // Do NOT wrap in React.StrictMode. StrictMode's dev-mode double-mount causes + // BlockNoteView to destroy and recreate the ProseMirror view between the two mounts. + // y-prosemirror's `yUndoPlugin` destroys the Y.UndoManager on view-destroy (removing + // its `afterTransaction` handler from the Y.Doc), but the plugin's STATE retains the + // now-destroyed UndoManager reference. On the second mount the editor reuses the + // destroyed UndoManager, no `afterTransaction` handler is ever re-attached, no stack + // items are recorded, and Ctrl+Z becomes a no-op. + this.reactRoot?.render(this.BlockNoteReactContainer(provider)); }; LiveCollaborationManager.onReady(this.renderCallback); diff --git a/frontend/src/react/components/OpBlockNoteEditor.tsx b/frontend/src/react/components/OpBlockNoteEditor.tsx index 0bf2ef36b9f..60388ea1ca7 100644 --- a/frontend/src/react/components/OpBlockNoteEditor.tsx +++ b/frontend/src/react/components/OpBlockNoteEditor.tsx @@ -124,7 +124,11 @@ export function OpBlockNoteEditor({ }; }, [hocuspocusProvider, doc, activeUser, localeDictionary, attachmentsEnabled, uploadFile, captureExternalLinks]); - const editor = useCreateBlockNote(editorParams, [activeUser]); + // Create the editor exactly once per mount. `useCreateBlockNote(options, deps)` uses `deps` + // as the sole `useMemo` key — `options` is intentionally NOT in deps. `[activeUser]` rebuilt + // the editor (wiping `Y.UndoManager` history) whenever a fresh `activeUser` reference + // reached this component, e.g. on Stimulus reconnect / Turbo morph. + const editor = useCreateBlockNote(editorParams, []); useOpBlockNoteExtensions(editor); type EditorType = typeof editor; const theme = useOpTheme(); diff --git a/frontend/src/stimulus/controllers/dynamic/documents/init-yjs-provider.controller.ts b/frontend/src/stimulus/controllers/dynamic/documents/init-yjs-provider.controller.ts index e935131f9f8..3920327b064 100644 --- a/frontend/src/stimulus/controllers/dynamic/documents/init-yjs-provider.controller.ts +++ b/frontend/src/stimulus/controllers/dynamic/documents/init-yjs-provider.controller.ts @@ -74,6 +74,17 @@ export default class extends Controller { connect():void { this.currentToken = this.tokenPayloadValue; + // If a provider for this document is already live, don't build a duplicate + // — adopt it. Stimulus can fire connect() a second time (HMR replay, Turbo + // morph, parent re-attach) without firing disconnect(); building a fresh + // Y.Doc + provider in that case would destroy the live one and wipe the + // editor's Y.UndoManager mid-session. + const existing = LiveCollaborationManager.getCurrentSessionFor(this.documentNameValue); + if (existing) { + this.ownedProvider = existing.provider; + return; + } + const ydoc:Doc = new Y.Doc(); const provider = new HocuspocusProvider({ url: this.hocuspocusUrlValue, @@ -87,7 +98,7 @@ export default class extends Controller { }, }); - LiveCollaborationManager.initializeYjsProvider(provider, ydoc); + LiveCollaborationManager.initializeYjsProvider(provider, ydoc, this.documentNameValue); this.ownedProvider = provider; if (this.refreshUrlValue && this.tokenExpiresInSecondsValue) { diff --git a/frontend/src/stimulus/helpers/live-collaboration-helpers.ts b/frontend/src/stimulus/helpers/live-collaboration-helpers.ts index d1a5452f2ff..3a3d8e933d0 100644 --- a/frontend/src/stimulus/helpers/live-collaboration-helpers.ts +++ b/frontend/src/stimulus/helpers/live-collaboration-helpers.ts @@ -36,21 +36,47 @@ type Listener = (provider:HocuspocusProvider) => void; class LiveCollaborationManagerClass { yjsProviderInstance:HocuspocusProvider|null = null; yjsDocInstance:Doc|null = null; + private currentDocumentName:string|null = null; private listeners:Listener[] = []; /** - * Initializes the YJS Provider + * Returns the active session for the given document, or null if none. + * + * Used by the init-yjs-provider Stimulus controller to detect that a + * provider for the same document is already live — letting it adopt the + * existing session instead of building a duplicate Y.Doc + provider pair. + * Stimulus can fire `connect()` a second time (HMR replay, Turbo morph) + * without firing `disconnect()`; without this check, the spurious re-init + * would tear down the live Y.Doc and wipe the editor's Y.UndoManager + * history mid-session. + */ + getCurrentSessionFor(documentName:string):{provider:HocuspocusProvider; doc:Doc} | null { + if (this.yjsProviderInstance && this.yjsDocInstance && this.currentDocumentName === documentName) { + return { provider: this.yjsProviderInstance, doc: this.yjsDocInstance }; + } + return null; + } + + /** + * Initializes the YJS Provider for the given document. + * + * Callers SHOULD first check {@link getCurrentSessionFor} and adopt any + * existing session rather than calling this with a fresh provider, since + * this method unconditionally tears down the previous provider/doc. + * * @param provider The provider to use * @param doc The Y.Doc instance to use + * @param documentName Logical identifier of the document being edited * @returns void */ - initializeYjsProvider(provider:HocuspocusProvider, doc:Doc) { + initializeYjsProvider(provider:HocuspocusProvider, doc:Doc, documentName:string) { this.destroyYjsProvider(); this.destroyYjsDoc(); this.yjsProviderInstance = provider; this.yjsDocInstance = doc; + this.currentDocumentName = documentName; this.listeners.forEach((listener) => listener(this.yjsProviderInstance!)); } @@ -82,6 +108,7 @@ class LiveCollaborationManagerClass { private destroy():void { this.destroyYjsProvider(); this.destroyYjsDoc(); + this.currentDocumentName = null; this.listeners = []; } From 6f07ff3f14ab39a47031aff67ca548dcb546e622 Mon Sep 17 00:00:00 2001 From: ehassan01 Date: Mon, 8 Jun 2026 13:36:23 +0200 Subject: [PATCH 20/32] =?UTF-8?q?[DOCU-821]=2017.5=20Users=20and=20groups?= =?UTF-8?q?=20administration=20changes=20=20https://comm=E2=80=A6=20(#2358?= =?UTF-8?q?3)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [DOCU-821] 17.5 Users and groups administration changes https://community.openproject.org/wp/DOCU-821 [DOCU-821] 17.5 Users and groups administration changes https://community.openproject.org/wp/DOCU-821 * [DOCU-821] 17.5 Users and groups administration changes https://community.openproject.org/wp/DOCU-821 [DOCU-821] 17.5 Users and groups administration changes https://community.openproject.org/wp/DOCU-821 * [DOCU-821] 17.5 Users and groups administration changes https://community.openproject.org/wp/DOCU-821 [DOCU-821] 17.5 Users and groups administration changes https://community.openproject.org/wp/DOCU-821 * update after a review --------- Co-authored-by: Maya Berdygylyjova --- .../users-permissions/users/README.md | 99 +++++++++++------- ...nproject_system_admin_guide_users_list.png | Bin 16649 -> 55205 bytes .../openproject_systemguide_add_filters.png | Bin 0 -> 15896 bytes ...openproject_systemguide_configure_view.png | Bin 0 -> 23855 bytes ...roject_systemguide_configure_view_form.png | Bin 0 -> 24532 bytes .../openproject_systemguide_filter_users.png | Bin 23356 -> 57661 bytes ...openproject_systemguide_filters_button.png | Bin 0 -> 11389 bytes 7 files changed, 60 insertions(+), 39 deletions(-) create mode 100644 docs/system-admin-guide/users-permissions/users/openproject_systemguide_add_filters.png create mode 100644 docs/system-admin-guide/users-permissions/users/openproject_systemguide_configure_view.png create mode 100644 docs/system-admin-guide/users-permissions/users/openproject_systemguide_configure_view_form.png create mode 100644 docs/system-admin-guide/users-permissions/users/openproject_systemguide_filters_button.png diff --git a/docs/system-admin-guide/users-permissions/users/README.md b/docs/system-admin-guide/users-permissions/users/README.md index 47c0653a863..46c4315d457 100644 --- a/docs/system-admin-guide/users-permissions/users/README.md +++ b/docs/system-admin-guide/users-permissions/users/README.md @@ -20,45 +20,64 @@ To manage users click on your avatar (top right corner) and select **Administrat In the Community edition there is no limit to the number of users. In Enterprise editions (cloud and on-premises) the user limit is based on your subscription. The number of users for your subscription is thus not bound to names. For example, if you block a user you can add a new one without upgrading. -| Topic | Content | -| ----------------------------------------------- | -------------------------------------------------------- | -| [User list](#user-list) | Manage all users in OpenProject. | -| [Filter users](#filter-users) | Filter users in the list. | -| [Lock and unlock users](#lock-and-unlock-users) | Block a user permanently in the system or unlock a user. | -| [Create users](#create-users) | Invite or create new users. Resend or delete user invitations | -| [Manage user settings](#manage-user-settings) | Manage user details. | -| [Authentication](#authentication) | Set and use authentication methods. | -| [Delete users](#delete-users) | Delete a user from the system. | +| Topic | Content | +| ----------------------------------------------- | ------------------------------------------------------------ | +| [User list](#user-list) | Manage all users in OpenProject. | +| [Filter users](#filter-users) | Filter users in the list. | +| [Configure view](#configure-view) | Configure how user information is displayed. | +| [Lock and unlock users](#lock-and-unlock-users) | Block a user permanently in the system or unlock a user. | +| [Create users](#create-users) | Invite or create new users. Resend or delete user invitations | +| [Manage user settings](#manage-user-settings) | Manage user details. | +| [Authentication](#authentication) | Set and use authentication methods. | +| [Delete users](#delete-users) | Delete a user from the system. | ## User list The User list is where users are managed. They can be added, edited or deleted from this list, which can be filtered if required. -![openproject_system_admin_guide_users_list](openproject_system_admin_guide_users_list.png) +![List of users under OpenProject administration](openproject_system_admin_guide_users_list.png) Column headers can be clicked to toggle sort direction. Arrows indicate sort order, up for ascending (a-z/0-9) and down for descending (z-a/9-0). Paging controls are shown at the bottom of the list. You will also see whether a user is a system administrator in OpenProject. ## Filter users -At the top of the user list is a filter box. Filter by status. group or name, then click the green **Apply** button to filter the list. Click the **Clear** button to reset the filter fields and refresh the list. +To filter for users, begin by clicking the **Filters** button. -* **Status** - select from Active, All or Locked Temporarily. Each selection shows the number of users. -* **Group** - select from the list of existing groups. -* **Name** - enter any text; this can contain a "%" wild card for 0 or more characters. The filter applies to user name, first name, last name and email address. +!["Filters" button to filter through users list in OpenProject administration](openproject_systemguide_filters_button.png) -![Filter users in OpenProject](openproject_systemguide_filter_users.png) +Clicking on it opens up the **+Add filter** form. Here, you can filter by group, status, name or username, and your list is automatically updated. Each filter button displays additional filtering options to help you narrow down results. The results are then filtered based on the selected criteria. Click the **x** symbol in front of each selected filter to clear the filter and the **x** symbol at the **top-right corner** to close the form. + +![Add filter form](openproject_systemguide_add_filters.png) + +- **Username** - enter any text or character like @, .com which is unique to the user list. +- **Name** - enter any text; this can contain a "%" wild card for 0 or more characters. For example, if you are filtering for a user named Niklas but are unsure if it's Niklas, Niclas, Nikolas, or Nicholas, you can search for “Ni%las” and all matching users will be listed. The filter applies to first name, last name and email address. +- **Group** - select from the list of existing groups. +- **Status** - select from Active, Registered, Locked, Invited, Deleted. Each selection shows the number of users. + +![Filters for user list in OpenProject administration](openproject_systemguide_filter_users.png) + +## Configure view + +To configure how the table of users is displayed, click on the More menu **(...)**. + +![Menu for configure view for the user list in OpenProject administration](openproject_systemguide_configure_view.png) + +This opens up a form where you can add columns, or manage and reorder columns via drag and drop. Click **Apply** to save your changes. + +![Open form to configure view for the user list in OpenProject administration](openproject_systemguide_configure_view_form.png) ## Lock and unlock users -Handling locking and unlocking of users is also done from the user list. To disable a user's access click the **Lock permanently** link next to a user. Use the **Unlock** link to restore the user's access. +Handling locking and unlocking of users is also done from the user list. To disable a user's access click, the **Lock permanently** link next to a user. Use the **Unlock** link to restore the user's access. If you are using [Enterprise cloud](../../../enterprise-guide/enterprise-cloud-guide) or [Enterprise on-premises](../../../enterprise-guide/enterprise-on-premises-guide) locking a user will free up a user license and so you could add another user to the system within your booked plan. -> **Note**: The previous activities from a locked user will still be displayed in the system. +> [!NOTE] +> The previous activities from a locked user will still be displayed in the system. ![Lock users in OpenProject](open_project_system_admin_lock_user_permanently.png) -If a user has repeated failed logins the user will be locked temporarily and a **Reset failed logins** link will be shown in the user list. Click the link to unlock it right away, or wait and it will be unlocked automatically. Have a look at the section [Other authentication settings](../../authentication/login-registration-settings/) for failed attempts and time blocked. +If a user has repeated failed logins, the user will be locked temporarily and a **Reset failed logins** link will be shown in the user list. Click the link to unlock it right away, or wait and it will be unlocked automatically. Have a look at the section [Other authentication settings](../../authentication/login-registration-settings/) for failed attempts and time blocked. ## Create users @@ -75,7 +94,7 @@ Enter the email address, first name, and last name of the new user. Tick the box Note: the email field must be a valid format and be unique or it will be rejected on clicking the button. Click the **Create** button to add the user and show that user's details page. Click the **Create and continue** button to add the user and stay on the new user form to add another user. Either way, the new user will be invited via email. -When adding the last of multiple users you can click on **Create** or click the **Users** link in the menu on the left. The **Users list** will be shown. Click on the name of each user to [edit their details](#set-initial-details). +When adding the last of multiple users you can click on **Create** or click the **Users** link in the menu on the left. The **Users list** will be shown. Click on the name of each user to [edit their details](#set-initial-details). ### Create user (via self-registration) @@ -110,8 +129,10 @@ In the top right, click the **Send invitation** button in order to send the emai ### Delete user invitations -To invalidate or revoke a user's invitation click on the user name and then on **Delete** in the upper right corner. This will prevent the invited user from logging in. -Please note: this only works for users who haven't logged in yet. If the user is already active this will delete his/her whole profile and account. Deleting users can't be revoked. +To invalidate or revoke a user's invitation, click on the user name and then on **Delete** in the upper right corner. This will prevent the invited user from logging in. + +> [!NOTE] +> This only works for users who haven't logged in yet. If the user is already active, this will delete his/her whole profile and account. Deleting users can't be revoked. ## Manage user settings @@ -119,11 +140,11 @@ You can manage individual user details if you click on the user name in the list ### General settings -![administration-user-settings-manage-user](openproject_system_guide_general_tab.png) +![Settings to manage a user under OpenProject administration](openproject_system_guide_general_tab.png) On the **General** tab the following fields are shown: -1. User's master date +1. User's master data - **Status** - this is set by the system. - **Username** - this defaults to the email address for a new user (unless the user used the self registration). It can be changed on this page. Users cannot change their own user name. - **First name**, **Last name**, **Email** - these fields are filled from the **New user** page. Users can change them under their **Profile** page; they are mandatory. @@ -139,7 +160,7 @@ On the **General** tab the following fields are shown: To create a new password for a user (e.g. if he/she lost it) navigate to the **Authentication** section of the **General** tab. You can either **Assign a random password** (check the box on top) or set a new password manually and send it to them (preferably through secured communication). Consider checking the box next to **Enforce password change on next login**. -![reset-user-password](Authentication.png) +![Reset user password under OpenProject administration](Authentication.png) ### Add users to a project @@ -147,19 +168,20 @@ In order to see and work in a project, a user has to be a member of a project an On the **Projects** tab, select the new project from the drop-down list, choose the [roles](../roles-permissions) for this project and click the green **Add** button. -![Sysadmin add project](Sys-admin-add-project1.gif) +![Add users to a project under OpenProject system administration](Sys-admin-add-project1.gif) ### Add users to groups On the **Groups** tab you can see the groups the user belongs to. If a group is shown, click the group name link. -![User groups](system_guide_user_groups.png) +![User groups in OpenProject administration](system_guide_user_groups.png) If no groups are shown (i.e. the user does not belong to any group, yet), click the **Manage groups** link to [edit groups](../groups). -![Manage Groups](system_guide_manage_groups.png) +![Manage groups in OpenProject administration](system_guide_manage_groups.png) -**Please note**: The **Groups** tab is only shown if at least one user group exists in OpenProject. +> [!NOTE] +> The **Groups** tab is only shown if at least one user group exists in OpenProject. ### Global roles @@ -167,7 +189,7 @@ In order to add a global role to a user, at least one global role needs to be [c On the **Global roles** tab, select or de-select the global role(s) for this user. Click the **Add** button. -![Add global roles](openproject_system_guide_add_global_roles.png) +![Add global user roles in OpenProject administration](openproject_system_guide_add_global_roles.png) ### Notification settings @@ -181,13 +203,13 @@ Under **Email reminders** tab you can edit the [email reminders settings](../../ The rate history tab shows the hourly rates that have been defined for the user. The **Default rate** is applied to projects with no rate defined. All projects that the user is a member of are listed with the user's rates. -The **Valid from** date will effect the rate used when creating a [budget](../../../user-guide/budgets/) and when [logging time](../../../user-guide/time-and-costs/time-tracking/). +The **Valid from** date will affect the rate used when creating a [budget](../../../user-guide/budgets/) and when [logging time](../../../user-guide/time-and-costs/time-tracking/). If you want to set a different hourly rate for the user on different projects, you can overwrite the default rate with a different rate below in the respective projects. To enter a new hourly rate, click on the **Update** icon next to the rate history. You can either set a **default hourly rate** or define a rate for a certain project. -![set-hourly-rate-administration](system_guide_rate_history.png) +![Set hourly rates for users in OpenProject administrationin OpenProject administration](system_guide_rate_history.png) 1. Enter a date from which the rate is **Valid from**. 2. Enter the (hourly) **Rate**. The currency can only be changed in the [respective settings](../../time-and-costs). @@ -199,10 +221,9 @@ To enter a new hourly rate, click on the **Update** icon next to the rate histor ### Avatar -The **Avatar** tab shows the default icon to be shown for this user. A custom image can be uploaded as the avatar. In addition, users can also use their [Gravatar](https://en.wikipedia.org/wiki/Gravatar). User can manage this under their [profile settings](../../../user-guide/account-settings/#set-an-avatar). These features can be disabled in the [avatar settings](../avatars). +The **Avatar** tab shows the default icon to be shown for this user. A custom image can be uploaded as the avatar. In addition, users can also use their [Gravatar](https://en.wikipedia.org/wiki/Gravatar). Users can manage this under their [profile settings](../../../user-guide/account-settings/#set-an-avatar). These features can be disabled in the [avatar settings](../avatars). > [!TIP] -> > Hovering over a user's avatar or name, for example on the Members page or the Activity page, will display their information. ### Two-factor authentication (2FA) @@ -219,9 +240,9 @@ Use the **self-registration** field to give the following controls over a new us The user details Authentication section has fields **Assign random password**, **Password**, **Confirmation** and **Enforce password change**. -* If you are near the new user, you can enter a password and confirmation then tell the user what it is. They can then sign in. It is recommended that you also tick the enforce password change checkbox, so that the user is prompted to change their password after they sign in. -* You can phone the new user or send them an email, not using OpenProject, to give them the password. In this case it is more important to tick the enforce password change checkbox. -* Tick the Assign random password, and probably the enforce password change checkbox. When the details are saved OpenProject will send an email to the new user with their password. +- If you are near the new user, you can enter a password and confirmation then tell the user what it is. They can then sign in. It is recommended that you also tick the enforce password change checkbox, so that the user is prompted to change their password after they sign in. +- You can phone the new user or send them an email, not using OpenProject, to give them the password. In this case it is more important to tick the enforce password change checkbox. +- Tick the Assign random password, and probably the enforce password change checkbox. When the details are saved OpenProject will send an email to the new user with their password. ### Account activation by email @@ -231,8 +252,8 @@ Leave all fields blank. When the details are saved OpenProject will send an emai Two [settings](../settings/#user-deletion) allow users to be deleted from the system: -* **User accounts deletable by admins** - if ticked, a **Delete** button is shown on the user details page. -* **Users allowed to delete their accounts** - if ticked, a **Delete account** menu entry is shown in the **Account settings** page. +- **User accounts deletable by admins** - if ticked, a **Delete** button is shown on the user details page. +- **Users allowed to delete their accounts** - if ticked, a **Delete account** menu entry is shown in the **Account settings** page. To delete another user's account open the [user list](#user-list). Click on the **user name** of the user which you want to delete. Click the **Delete** button at the top right. @@ -240,7 +261,7 @@ To delete another user's account open the [user list](#user-list). Click on the You will then be asked to confirm the deletion of the user permanently from the system. Checking the consent box will activate the **Delete permanently** button. -![delete user](delete-user-confirmation.png) +![Delete user in OpenProject administration](delete-user-confirmation.png) > [!CAUTION] > Deleting a user account is a permanent action and cannot be reversed. The previous activities from this user will still be displayed in the system but reassigned to **Deleted user**. This is also true for the Time and cost and the Budget modules. Spent time will be still be visible for **Deleted user** inside a Work package. Time and cost reports will contain the entries with reference to **Deleted user**. Labor budgets that have been setup for the user are displayed under **Deleted user**, too. If you would like to keep track of the user's name in connection with the mentioned activities, the spent time and the budget, you are able to keep the user's name in the historical data by simply [locking the user](#lock-and-unlock-users). diff --git a/docs/system-admin-guide/users-permissions/users/openproject_system_admin_guide_users_list.png b/docs/system-admin-guide/users-permissions/users/openproject_system_admin_guide_users_list.png index a84d8b5d8f27a5df06c3d7e1ab020b40f1934391..f201f2f346443f92b0c1c207f7199c12303d5fc3 100644 GIT binary patch literal 55205 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 literal 16649 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 V^w^JU-u+`xlvR-_k}~@8{{X&HU!DK} diff --git a/docs/system-admin-guide/users-permissions/users/openproject_systemguide_add_filters.png b/docs/system-admin-guide/users-permissions/users/openproject_systemguide_add_filters.png new file mode 100644 index 0000000000000000000000000000000000000000..4b94ced7c7e0ec399cef25326ef4ba0a615329d7 GIT binary patch literal 15896 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 literal 0 HcmV?d00001 diff --git a/docs/system-admin-guide/users-permissions/users/openproject_systemguide_configure_view.png b/docs/system-admin-guide/users-permissions/users/openproject_systemguide_configure_view.png new file mode 100644 index 0000000000000000000000000000000000000000..e70e5bbae9ab637f3a4c3cb1ecf801092a414b3e GIT binary patch literal 23855 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 literal 0 HcmV?d00001 diff --git a/docs/system-admin-guide/users-permissions/users/openproject_systemguide_configure_view_form.png b/docs/system-admin-guide/users-permissions/users/openproject_systemguide_configure_view_form.png new file mode 100644 index 0000000000000000000000000000000000000000..dd6dcf480aac8a7047ed6c077a81fab4ed078d73 GIT binary patch literal 24532 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 E0~?XV`2YX_ literal 0 HcmV?d00001 diff --git a/docs/system-admin-guide/users-permissions/users/openproject_systemguide_filter_users.png b/docs/system-admin-guide/users-permissions/users/openproject_systemguide_filter_users.png index fb4b6334031f4e6f34c4e2e5b5f460cfd9d24e72..02ef4cf6416182f95e8f543bd8aa847b1be7c492 100644 GIT binary patch literal 57661 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 KpUXO@geCx-a>YLY literal 23356 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 diff --git a/docs/system-admin-guide/users-permissions/users/openproject_systemguide_filters_button.png b/docs/system-admin-guide/users-permissions/users/openproject_systemguide_filters_button.png new file mode 100644 index 0000000000000000000000000000000000000000..67ea6986047525cad22eaba5e3cc284db3b068c3 GIT binary patch literal 11389 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� zp)-$^OL)1Pu;7neFBu;4N$7~)Lnu>2F(>0^1{n6W<`EmE=9&3T=>E7T>Q!Tn>bst& zRa5@rmvG+~W)m$oZy-qW_1RHTQB20K>Uk?ry>xjGxp&E^2mywNiO(*FoI`!P8!rk=I1FqTPB=Ni{}s83BmFoWdqk^ z`1{|_Z8;D!^4m&Q6$%I<>}v&bz~CCb*lW_DVW4tDx9=JZvx9woL!KAQ2Qu@5?f%N; zm!ursL=rwAKxe`f z5LNsw_;xyLsqJ~`K|{w>hW(pmAgPI;LszM8#5Z%oQzB~2$n*e0q$pLPl9`olkuaqE zG2mp(2ZA3tJ$Oiqa@U|BLwqhKFthj|&r8{zXN|`LQL)P`@i3~tMg14S@tnQ-v=|+Z z#z(E*t%NhlFyEQGxEMdZ$_8xTi^GPi1>LlAK=T{%z;?{(3?}kL*Q!j7$2Q|K?vWp% z^;W_GAra6(@EXppmO3+E7&&u}8^MTnZyzY;-0E_;1jwa-Jh;7EDXuf`Mjc~1uiV$O zegz?~H~#W`R~LM+Xqa=mM?zLhQ{oT3bC^ZE5(ZN;6zaXW3D`OH;L;_%VESmq3W;q7 z4=}_hptN(2>WB7u!N0yWD8ORXU_(_~`1U-h7TIz~zG!Q!_l& zaw$(60Qvx2WJqi%*2TuQlpSP+EtOf~w}FoD`a|c>ML1=zEtEgV2l|wRFV@7LLl&#h z7}OBZHNRdWI0H%?5L;+lU(wNL0XR%ND=OA3aO}jW1=OhCm`4(wZ*)G4;&K61!$!K_ z*f!ljf@Ru26~nQSUv#bq5HwJ2L3heEWb-)wM|q}(6=4uo zLCp|f$SUeyo@gQFzdX|STh?W@LwCVR?OgmWX1Xp=uKl9poHUloIr7S9cdjQt8w`qH zSMN4*1IFP-8A!mrO-;dKAh{UE^9_3bEuCm5xbW7FJ# z2>@&&Vd@W0B?ddP;$n;V1PTrJ`c9qi3&E1>)`!k2n!nLHgW38pt~K~_cyPb_KXs(I zvZp_2%tOBd9Ihv-xZOKRO?UEn1*c=`M#_106{)F5b&V<>J;y`)NASJfz2m*~*7NyB z-}SuYii$6$>WyIKSa(k|mDqL35YPyFHsKGrou#FS5n39`y4VGQOIgB`({x=9)$`E5 z$l*!RNtJ!u2dzK^Kp_9c5xvr3qS<7GuFcN0Y-+l7F9pzAwDTx&gfp>d&S%ZQL1wrL zLXkTae^Bdm*fsiiDlKXEm@7f^-lwlOVK5S;3H7&r-uXryfEk~?Tk}BSp_WUg;Q1SP z>@90E!zUFE?{XTy1rIKrr_PWlW-YR^k-V+9r5CinAC)CUNyxoYclds#@|t|&grEUn zC!675=08l1StpD{g9vJWZPtme)k`lt0r>afoopp@xPGB>to&KM*!zc4cAV`OJh%i( z(*I64F^QfYe7v3WOfMj^XJ&oV2D)2x=Nj+!F^g^4kr#!aoY`vdQ($}DR#Z3ndnW3; zT9#mXsZHb3TY{4w+Q52kyD-z(j$FnI-E_bGK2i4yJF*m&RW>&5se Date: Thu, 21 May 2026 15:47:22 +0200 Subject: [PATCH 21/32] Allow serialization of safebuffer without encoding issues When caching a SafeBuffer, it is being returned as a binary string and using concat or similar on something that is cached like that will result in a => # error. we introduce a patch to ensure SafeBuffers are returned as utf-8 instead --- .../patches/message_pack_safe_buffer.rb | 62 ++++++++++++++++ .../message_pack_safe_buffer_fix_spec.rb | 70 +++++++++++++++++++ 2 files changed, 132 insertions(+) create mode 100644 lib/open_project/patches/message_pack_safe_buffer.rb create mode 100644 spec/lib/open_project/patches/message_pack_safe_buffer_fix_spec.rb diff --git a/lib/open_project/patches/message_pack_safe_buffer.rb b/lib/open_project/patches/message_pack_safe_buffer.rb new file mode 100644 index 00000000000..a5fc942b5fd --- /dev/null +++ b/lib/open_project/patches/message_pack_safe_buffer.rb @@ -0,0 +1,62 @@ +# frozen_string_literal: true + +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See COPYRIGHT and LICENSE files for more details. +#++ + +module OpenProject + module Patches + # Rails registers ActiveSupport::SafeBuffer as MessagePack ext type 18 with + # unpacker: :new. ActionView::OutputBuffer (a SafeBuffer subclass) uses "".b + # internally, so the ext payload bytes are BINARY. The default unpacker calls + # SafeBuffer.new(binary_bytes) which reconstructs with ASCII-8BIT encoding, + # causing Encoding::CompatibilityError when the cached HTML is later + # concatenated into a UTF-8 output buffer (e.g. via ActionView concat). + # + # We prepend to MessagePack::Factory so that when Extensions.install registers + # type 18, our override replaces the unpacker with one that force_encodes to + # UTF-8 before constructing the SafeBuffer. + module MessagePackSafeBufferFix + def register_type(type_id, klass = nil, **options, &) + if klass == ActiveSupport::SafeBuffer && options[:unpacker] == :new + options[:unpacker] = ->(bytes) { + retagged = bytes.force_encoding(Encoding::UTF_8) + raise EncodingError, "Cached SafeBuffer payload is not valid UTF-8" unless retagged.valid_encoding? + + ActiveSupport::SafeBuffer.new(retagged) + } + end + + super + end + end + end +end + +OpenProject::Patches.patch_gem_version "activesupport", "8.1.3" do + MessagePack::Factory.prepend OpenProject::Patches::MessagePackSafeBufferFix +end diff --git a/spec/lib/open_project/patches/message_pack_safe_buffer_fix_spec.rb b/spec/lib/open_project/patches/message_pack_safe_buffer_fix_spec.rb new file mode 100644 index 00000000000..91ee3e03810 --- /dev/null +++ b/spec/lib/open_project/patches/message_pack_safe_buffer_fix_spec.rb @@ -0,0 +1,70 @@ +# frozen_string_literal: true + +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See COPYRIGHT and LICENSE files for more details. +#++ + +require "spec_helper" + +# Rails registers ActiveSupport::SafeBuffer as MessagePack ext type 18 with +# unpacker: :new. MessagePack ext payloads are raw bytes (BINARY), so the default +# unpacker reconstructs SafeBuffer with ASCII-8BIT encoding, even when the +# original was UTF-8. This patch overrides the unpacker to force UTF-8. +RSpec.describe OpenProject::Patches::MessagePackSafeBufferFix do + # Use the same serializer the cache store uses to cover the real path. + let(:serializer) { ActiveSupport::MessagePack::CacheSerializer } + let(:html) { "

Héllo & wörld — «quoted»

" } + + def round_trip(value) + serializer.load(serializer.dump(value)) + end + + shared_examples "a correctly round-tripped SafeBuffer", :aggregate_failures do + it "returns a utf-8 SafeBuffer, preserving the original content and html safety" do + expect(round_trip(subject)).to be_a(ActiveSupport::SafeBuffer) + expect(round_trip(subject).to_s).to eq(subject.to_s.dup.force_encoding(Encoding::UTF_8)) + expect(round_trip(subject).encoding).to eq(Encoding::UTF_8) + expect(round_trip(subject)).to be_html_safe + end + end + + context "with a UTF-8 SafeBuffer (normal render output)" do + subject { ActiveSupport::SafeBuffer.new(html) } + + include_examples "a correctly round-tripped SafeBuffer" + end + + context "with a BINARY-encoded SafeBuffer (e.g. content assembled from binary bytes)" do + subject { ActiveSupport::SafeBuffer.new(html.b) } + + it "has BINARY encoding before round-trip (confirms precondition)" do + expect(subject.encoding).to eq(Encoding::BINARY) + end + + include_examples "a correctly round-tripped SafeBuffer" + end +end From 5caeb4214e62bf7d5e4f8f37d0d7dce9dfbc4677 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Fri, 22 May 2026 09:26:05 +0200 Subject: [PATCH 22/32] Use upstream patch from rails --- .../patches/message_pack_safe_buffer.rb | 30 +++++++-------- .../message_pack_safe_buffer_fix_spec.rb | 38 ++++++++++--------- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/lib/open_project/patches/message_pack_safe_buffer.rb b/lib/open_project/patches/message_pack_safe_buffer.rb index a5fc942b5fd..2656da497d0 100644 --- a/lib/open_project/patches/message_pack_safe_buffer.rb +++ b/lib/open_project/patches/message_pack_safe_buffer.rb @@ -30,25 +30,23 @@ module OpenProject module Patches - # Rails registers ActiveSupport::SafeBuffer as MessagePack ext type 18 with - # unpacker: :new. ActionView::OutputBuffer (a SafeBuffer subclass) uses "".b - # internally, so the ext payload bytes are BINARY. The default unpacker calls - # SafeBuffer.new(binary_bytes) which reconstructs with ASCII-8BIT encoding, - # causing Encoding::CompatibilityError when the cached HTML is later - # concatenated into a UTF-8 output buffer (e.g. via ActionView concat). + # Upstream fix: https://github.com/rails/rails/pull/57429 (merged, not yet released) # - # We prepend to MessagePack::Factory so that when Extensions.install registers - # type 18, our override replaces the unpacker with one that force_encodes to - # UTF-8 before constructing the SafeBuffer. + # Rails registers ActiveSupport::SafeBuffer as MessagePack ext type 18 with + # packer: :to_s, unpacker: :new. Ext payload bytes are always BINARY, so + # SafeBuffer.new(payload) reconstructs with ASCII-8BIT encoding, causing + # Encoding::CompatibilityError when cached HTML is later concatenated into a + # UTF-8 output buffer. + # + # The upstream fix switches to recursive: true with nested packer.write / + # unpacker.read so the MessagePack string codec preserves the original + # encoding across the round-trip. module MessagePackSafeBufferFix def register_type(type_id, klass = nil, **options, &) - if klass == ActiveSupport::SafeBuffer && options[:unpacker] == :new - options[:unpacker] = ->(bytes) { - retagged = bytes.force_encoding(Encoding::UTF_8) - raise EncodingError, "Cached SafeBuffer payload is not valid UTF-8" unless retagged.valid_encoding? - - ActiveSupport::SafeBuffer.new(retagged) - } + if klass == ActiveSupport::SafeBuffer + options[:packer] = ->(buffer, packer) { packer.write(buffer.to_str) } + options[:unpacker] = ->(unpacker) { ActiveSupport::SafeBuffer.new(unpacker.read) } + options[:recursive] = true end super diff --git a/spec/lib/open_project/patches/message_pack_safe_buffer_fix_spec.rb b/spec/lib/open_project/patches/message_pack_safe_buffer_fix_spec.rb index 91ee3e03810..3fc27dd7365 100644 --- a/spec/lib/open_project/patches/message_pack_safe_buffer_fix_spec.rb +++ b/spec/lib/open_project/patches/message_pack_safe_buffer_fix_spec.rb @@ -31,9 +31,11 @@ require "spec_helper" # Rails registers ActiveSupport::SafeBuffer as MessagePack ext type 18 with -# unpacker: :new. MessagePack ext payloads are raw bytes (BINARY), so the default -# unpacker reconstructs SafeBuffer with ASCII-8BIT encoding, even when the -# original was UTF-8. This patch overrides the unpacker to force UTF-8. +# packer: :to_s, unpacker: :new. Ext payloads are raw bytes (BINARY), so the +# default unpacker reconstructs SafeBuffer with ASCII-8BIT encoding even when +# the original was UTF-8. The patch (mirroring rails/rails#57429) switches to +# recursive: true with nested packer.write / unpacker.read so the MessagePack +# string codec preserves the original encoding across the round-trip. RSpec.describe OpenProject::Patches::MessagePackSafeBufferFix do # Use the same serializer the cache store uses to cover the real path. let(:serializer) { ActiveSupport::MessagePack::CacheSerializer } @@ -43,28 +45,28 @@ RSpec.describe OpenProject::Patches::MessagePackSafeBufferFix do serializer.load(serializer.dump(value)) end - shared_examples "a correctly round-tripped SafeBuffer", :aggregate_failures do - it "returns a utf-8 SafeBuffer, preserving the original content and html safety" do - expect(round_trip(subject)).to be_a(ActiveSupport::SafeBuffer) - expect(round_trip(subject).to_s).to eq(subject.to_s.dup.force_encoding(Encoding::UTF_8)) - expect(round_trip(subject).encoding).to eq(Encoding::UTF_8) - expect(round_trip(subject)).to be_html_safe - end - end - context "with a UTF-8 SafeBuffer (normal render output)" do subject { ActiveSupport::SafeBuffer.new(html) } - include_examples "a correctly round-tripped SafeBuffer" + it "roundtrips as a UTF-8 html_safe SafeBuffer and concatenates without error", :aggregate_failures do + result = round_trip(subject) + expect(result).to be_a(ActiveSupport::SafeBuffer) + expect(result).to be_html_safe + expect(result.encoding).to eq(Encoding::UTF_8) + expect(result.to_s).to eq(html) + expect("prefix " + result).to eq("prefix #{html}") + end end - context "with a BINARY-encoded SafeBuffer (e.g. content assembled from binary bytes)" do + context "with a BINARY-encoded SafeBuffer" do subject { ActiveSupport::SafeBuffer.new(html.b) } - it "has BINARY encoding before round-trip (confirms precondition)" do - expect(subject.encoding).to eq(Encoding::BINARY) + it "preserves BINARY encoding across the round-trip", :aggregate_failures do + result = round_trip(subject) + expect(result).to be_a(ActiveSupport::SafeBuffer) + expect(result).to be_html_safe + expect(result.encoding).to eq(Encoding::BINARY) + expect(result.to_str).to eq(html.b) end - - include_examples "a correctly round-tripped SafeBuffer" end end From d9fe91332693bb216782787160713f0c4e8b5124 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Mon, 8 Jun 2026 15:31:16 +0200 Subject: [PATCH 23/32] Update security fixes --- docs/release-notes/17-3-4/README.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 docs/release-notes/17-3-4/README.md diff --git a/docs/release-notes/17-3-4/README.md b/docs/release-notes/17-3-4/README.md new file mode 100644 index 00000000000..0c91883b729 --- /dev/null +++ b/docs/release-notes/17-3-4/README.md @@ -0,0 +1,28 @@ +--- +title: OpenProject 17.3.4 +sidebar_navigation: + title: 17.3.4 +release_version: 17.3.4 +release_date: 2026-06-08 +--- + +# OpenProject 17.3.4 + +Release date: 2026-06-08 + +We released [OpenProject 17.3.4](https://community.openproject.org/versions/2305). +The release contains several bug fixes and we recommend updating to the newest version. +Below you will find a complete list of all changes and bug fixes. + + + + +## Bug fixes and changes + + + + +- Bugfix: Memcached serialization is broken in 17.3.3 \[[#75753](https://community.openproject.org/wp/75753)\] + + + From 3c055198c6ca11d362ea1245fc10df58079dabce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Mon, 8 Jun 2026 15:31:17 +0200 Subject: [PATCH 24/32] Add release-notes file --- docs/release-notes/README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/release-notes/README.md b/docs/release-notes/README.md index 7e15b7308c4..71a9a34910c 100644 --- a/docs/release-notes/README.md +++ b/docs/release-notes/README.md @@ -13,6 +13,13 @@ Stay up to date and get an overview of the new features included in the releases +## 17.3.4 + +Release date: 2026-06-08 + +[Release Notes](17-3-4/) + + ## 17.3.3 Release date: 2026-06-08 From 04f51891429fef0a610e0d693998106d5f7cff7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Mon, 8 Jun 2026 15:31:19 +0200 Subject: [PATCH 25/32] Update hocuspocus image to openproject/hocuspocus:17.3.4 --- docker/prod/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/prod/Dockerfile b/docker/prod/Dockerfile index 44bab1d60b9..a1f9bbd6143 100755 --- a/docker/prod/Dockerfile +++ b/docker/prod/Dockerfile @@ -141,7 +141,7 @@ ENV PGDATA=/var/openproject/pgdata COPY --from=openproject/gosu /go/bin/gosu /usr/local/bin/gosu RUN chmod +x /usr/local/bin/gosu && gosu nobody true -COPY --from=openproject/hocuspocus:17.3.3 --chown=$APP_USER:$APP_USER /app /opt/hocuspocus +COPY --from=openproject/hocuspocus:17.3.4 --chown=$APP_USER:$APP_USER /app /opt/hocuspocus # Keep node/npm in all-in-one for bundled hocuspocus even when BIM support is disabled. COPY --from=build-base /usr/local/bin/node /usr/local/bin/node COPY --from=build-base /usr/local/lib/node_modules /usr/local/lib/node_modules From 3f49de97180e16a929176fa93e1feda91750a843 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Mon, 8 Jun 2026 15:31:19 +0200 Subject: [PATCH 26/32] Update publiccode.yml --- publiccode.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/publiccode.yml b/publiccode.yml index 27fdcd10f82..c263fddb490 100644 --- a/publiccode.yml +++ b/publiccode.yml @@ -8,7 +8,7 @@ applicationSuite: openDesk url: 'https://github.com/opf/openproject' roadmap: 'https://www.openproject.org/roadmap' releaseDate: '2026-06-08' -softwareVersion: '17.3.3' +softwareVersion: '17.3.4' developmentStatus: stable softwareType: standalone/web logo: 'publiccode_logo.svg' From bd243cfb395288039fa9cf870a3165a15d952830 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Mon, 8 Jun 2026 15:31:22 +0200 Subject: [PATCH 27/32] Bumped version to 17.3.5 [ci skip] --- lib/open_project/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/open_project/version.rb b/lib/open_project/version.rb index 9dbcb9768d2..3a22b8fec57 100644 --- a/lib/open_project/version.rb +++ b/lib/open_project/version.rb @@ -33,7 +33,7 @@ module OpenProject module VERSION # :nodoc: MAJOR = 17 MINOR = 3 - PATCH = 4 + PATCH = 5 class << self def revision From 595872727cbaba3e6053a1039c07a0d0653637ff Mon Sep 17 00:00:00 2001 From: Judith Roth Date: Mon, 8 Jun 2026 14:51:18 +0200 Subject: [PATCH 28/32] [STC-779] Add tests for CTRL-Z in documents https://community.openproject.org/wp/STC-779 --- .../spec/features/block_note_editor_spec.rb | 31 +++++++++++++++++++ .../primerized/block_note_editor_input.rb | 21 +++++++++++++ 2 files changed, 52 insertions(+) diff --git a/modules/documents/spec/features/block_note_editor_spec.rb b/modules/documents/spec/features/block_note_editor_spec.rb index dcb7689d0ae..1be052e1f78 100644 --- a/modules/documents/spec/features/block_note_editor_spec.rb +++ b/modules/documents/spec/features/block_note_editor_spec.rb @@ -182,6 +182,37 @@ RSpec.describe "BlockNote editor rendering", :js, :selenium, with_settings: { re editor.wait_for_autosave { document.reload.description&.include?("##{work_package.id}") } end + + describe "CTRL-Z undo behavior" do + it "undoes typed text with CTRL-Z" do + visit document_path(document) + expect(page).to have_test_selector("blocknote-document-description") + + editor.fill_in("X") + expect(editor.element).to have_text("X") + + editor.undo + + expect(editor.element).to have_no_text("X") + end + + it "undoes an inline work package chip inserted via # notation with CTRL-Z" do + visit document_path(document) + expect(page).to have_test_selector("blocknote-document-description") + + editor.element.send_keys("#tiger") + editor.wait_for_shadow_content("pet a tiger") + send_keys(:enter) + expect(editor.element).to have_no_text("#tiger") # chip replaced autocomplete text + + expect(editor.element).to have_no_text("…") # chip finished loading + expect(editor.element).to have_text(/##{work_package.display_id}/) + + editor.undo + + expect(editor.element).to have_no_text(/##{work_package.display_id}/) + end + end end end end diff --git a/spec/support/form_fields/primerized/block_note_editor_input.rb b/spec/support/form_fields/primerized/block_note_editor_input.rb index 5fd18077a33..830f369a716 100644 --- a/spec/support/form_fields/primerized/block_note_editor_input.rb +++ b/spec/support/form_fields/primerized/block_note_editor_input.rb @@ -118,6 +118,27 @@ module FormFields end end + # Triggers undo in the editor by dispatching a synthetic Ctrl-Z keydown event + # directly to the shadow-DOM contenteditable element. Selenium's send_keys does + # not reliably deliver modifier-key chords to elements inside a shadow DOM, so + # we use execute_script instead. ProseMirror processes all keydown events on + # its editor div regardless of isTrusted. + def undo + page.execute_script(<<~JS) + var shadowRoot = #{shadow_root_query} + var element = shadowRoot.querySelector('div[role="textbox"]'); + element.focus(); + element.dispatchEvent(new KeyboardEvent('keydown', { + key: 'z', + code: 'KeyZ', + ctrlKey: true, + bubbles: true, + cancelable: true, + composed: true + })); + JS + end + private # Attention: This only works with selenium, not with cuprite, From 551b1850bf5ff9aa18abb3ce7db8d41f111fdf6d Mon Sep 17 00:00:00 2001 From: Judith Roth Date: Mon, 8 Jun 2026 16:05:55 +0200 Subject: [PATCH 29/32] [STC-779] Update op-blocknote-extensions to fixed version https://community.openproject.org/wp/STC-779 --- extensions/op-blocknote-hocuspocus/package-lock.json | 8 ++++---- extensions/op-blocknote-hocuspocus/package.json | 2 +- frontend/package-lock.json | 12 ++++++------ frontend/package.json | 2 +- frontend/src/react/components/OpBlockNoteEditor.tsx | 3 ++- 5 files changed, 14 insertions(+), 13 deletions(-) diff --git a/extensions/op-blocknote-hocuspocus/package-lock.json b/extensions/op-blocknote-hocuspocus/package-lock.json index 329cfb9ba64..97072d676e5 100644 --- a/extensions/op-blocknote-hocuspocus/package-lock.json +++ b/extensions/op-blocknote-hocuspocus/package-lock.json @@ -12,7 +12,7 @@ "@blocknote/server-util": "^0.51.3", "@hocuspocus/extension-logger": "^3.4.4", "@hocuspocus/server": "^3.4.0", - "op-blocknote-extensions": "https://github.com/opf/op-blocknote-extensions/releases/download/v0.1.0/op-blocknote-extensions-0.1.0.tgz", + "op-blocknote-extensions": "https://github.com/opf/op-blocknote-extensions/releases/download/v0.1.1/op-blocknote-extensions-0.1.1.tgz", "tsx": "^4.21.0" }, "devDependencies": { @@ -3903,9 +3903,9 @@ "license": "MIT" }, "node_modules/op-blocknote-extensions": { - "version": "0.1.0", - "resolved": "https://github.com/opf/op-blocknote-extensions/releases/download/v0.1.0/op-blocknote-extensions-0.1.0.tgz", - "integrity": "sha512-JKwG2P5RXM0JDED0AzDeiVoxuamHtzqLO5fp88EoFig+YXlPsedJHc90zjTDqCFRilwTDamCq3jjzdFvl42kCA==", + "version": "0.1.1", + "resolved": "https://github.com/opf/op-blocknote-extensions/releases/download/v0.1.1/op-blocknote-extensions-0.1.1.tgz", + "integrity": "sha512-4VO5Qf51Z8WQGD24AYhNmGHGGwnfnB3q8KwL48hWTifZq/9IL5rKpwKB+QkxvVUCaT8iwFYwB6QPzGgLJKRVFA==", "dependencies": { "@primer/octicons-react": "^19.20.0", "i18next": "^25.6.3", diff --git a/extensions/op-blocknote-hocuspocus/package.json b/extensions/op-blocknote-hocuspocus/package.json index d0095610c39..b3f83f49d98 100644 --- a/extensions/op-blocknote-hocuspocus/package.json +++ b/extensions/op-blocknote-hocuspocus/package.json @@ -26,7 +26,7 @@ "@blocknote/server-util": "^0.51.3", "@hocuspocus/extension-logger": "^3.4.4", "@hocuspocus/server": "^3.4.0", - "op-blocknote-extensions": "https://github.com/opf/op-blocknote-extensions/releases/download/v0.1.0/op-blocknote-extensions-0.1.0.tgz", + "op-blocknote-extensions": "https://github.com/opf/op-blocknote-extensions/releases/download/v0.1.1/op-blocknote-extensions-0.1.1.tgz", "tsx": "^4.21.0" }, "devDependencies": { diff --git a/frontend/package-lock.json b/frontend/package-lock.json index f9b67a18075..99de7cb2064 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -107,7 +107,7 @@ "ng2-dragula": "^6.0.0", "ngx-cookie-service": "^21.1.0", "observable-array": "0.0.4", - "op-blocknote-extensions": "https://github.com/opf/op-blocknote-extensions/releases/download/v0.1.0/op-blocknote-extensions-0.1.0.tgz", + "op-blocknote-extensions": "https://github.com/opf/op-blocknote-extensions/releases/download/v0.1.1/op-blocknote-extensions-0.1.1.tgz", "openapi-explorer": "^2.4.793", "pako": "^2.0.3", "qr-creator": "^1.0.0", @@ -19205,9 +19205,9 @@ } }, "node_modules/op-blocknote-extensions": { - "version": "0.1.0", - "resolved": "https://github.com/opf/op-blocknote-extensions/releases/download/v0.1.0/op-blocknote-extensions-0.1.0.tgz", - "integrity": "sha512-JKwG2P5RXM0JDED0AzDeiVoxuamHtzqLO5fp88EoFig+YXlPsedJHc90zjTDqCFRilwTDamCq3jjzdFvl42kCA==", + "version": "0.1.1", + "resolved": "https://github.com/opf/op-blocknote-extensions/releases/download/v0.1.1/op-blocknote-extensions-0.1.1.tgz", + "integrity": "sha512-4VO5Qf51Z8WQGD24AYhNmGHGGwnfnB3q8KwL48hWTifZq/9IL5rKpwKB+QkxvVUCaT8iwFYwB6QPzGgLJKRVFA==", "dependencies": { "@primer/octicons-react": "^19.20.0", "i18next": "^25.6.3", @@ -37224,8 +37224,8 @@ } }, "op-blocknote-extensions": { - "version": "https://github.com/opf/op-blocknote-extensions/releases/download/v0.1.0/op-blocknote-extensions-0.1.0.tgz", - "integrity": "sha512-JKwG2P5RXM0JDED0AzDeiVoxuamHtzqLO5fp88EoFig+YXlPsedJHc90zjTDqCFRilwTDamCq3jjzdFvl42kCA==", + "version": "https://github.com/opf/op-blocknote-extensions/releases/download/v0.1.1/op-blocknote-extensions-0.1.1.tgz", + "integrity": "sha512-4VO5Qf51Z8WQGD24AYhNmGHGGwnfnB3q8KwL48hWTifZq/9IL5rKpwKB+QkxvVUCaT8iwFYwB6QPzGgLJKRVFA==", "requires": { "@primer/octicons-react": "^19.20.0", "i18next": "^25.6.3", diff --git a/frontend/package.json b/frontend/package.json index 985218c1ddc..4d35bb9a109 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -158,7 +158,7 @@ "ng2-dragula": "^6.0.0", "ngx-cookie-service": "^21.1.0", "observable-array": "0.0.4", - "op-blocknote-extensions": "https://github.com/opf/op-blocknote-extensions/releases/download/v0.1.0/op-blocknote-extensions-0.1.0.tgz", + "op-blocknote-extensions": "https://github.com/opf/op-blocknote-extensions/releases/download/v0.1.1/op-blocknote-extensions-0.1.1.tgz", "openapi-explorer": "^2.4.793", "pako": "^2.0.3", "qr-creator": "^1.0.0", diff --git a/frontend/src/react/components/OpBlockNoteEditor.tsx b/frontend/src/react/components/OpBlockNoteEditor.tsx index 60388ea1ca7..a2f7d8f5518 100644 --- a/frontend/src/react/components/OpBlockNoteEditor.tsx +++ b/frontend/src/react/components/OpBlockNoteEditor.tsx @@ -41,6 +41,7 @@ import { openProjectWorkPackageInlineSpec, workPackageSlashMenu, useOpBlockNoteExtensions, + PasteDeduplicateInstanceIdsExtension, useHashWpMenu, } from 'op-blocknote-extensions'; import { useCallback, useEffect, useMemo } from 'react'; @@ -119,7 +120,7 @@ export function OpBlockNoteEditor({ // When external link capture is enabled, intercept clicks on external // links via a ProseMirror plugin and route through /external_redirect. ...(captureExternalLinks && { - extensions: [ExternalLinkCaptureExtension], + extensions: [PasteDeduplicateInstanceIdsExtension, ExternalLinkCaptureExtension], }), }; }, [hocuspocusProvider, doc, activeUser, localeDictionary, attachmentsEnabled, uploadFile, captureExternalLinks]); From 9763ebfeed1258afc6e5d2b7b5013d97c0a3d124 Mon Sep 17 00:00:00 2001 From: Wieland Lindenthal Date: Tue, 9 Jun 2026 06:36:17 +0200 Subject: [PATCH 30/32] Fix vertical content jumps in BlockNote editor (#23609) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix vertical content jumps in the BlockNote editor on selection BlockNote 0.51 puts the className we pass to (`block-note-editor-container`) onto BOTH the outer `.bn-container` wrapper AND an inner wrapper that does NOT carry `.bn-container`. With the previous selector matching by class name alone, every rule cascaded onto both nesting levels — most importantly `display: flex`, `flex-direction: column-reverse` and `gap: 10px`. Two flex layouts stacked one inside the other meant that whenever the side menu / drag handle plugin views re-rendered (which happens every time the selection moves or the mouse leaves the editor), both layout calcs ran and the inner wrapper's gap shifted the visible content by a few pixels. Tightening the selector to `.block-note-editor-container.bn-container` restricts the rules to the outer wrapper only; the inner wrapper falls back to defaults (`display: block`, no gap) and stops contributing to the layout. Refs https://community.openproject.org/wp/STC-779 Co-authored-by: Claude Opus 4.7 --- modules/documents/app/assets/stylesheets/_index.sass | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/documents/app/assets/stylesheets/_index.sass b/modules/documents/app/assets/stylesheets/_index.sass index 3e7befa4d95..a64c9b5be8a 100644 --- a/modules/documents/app/assets/stylesheets/_index.sass +++ b/modules/documents/app/assets/stylesheets/_index.sass @@ -4,7 +4,14 @@ $blocknote-max-width: 800px .ck-content min-height: 30vh -.block-note-editor-container +// BlockNote 0.51 stamps `.block-note-editor-container` (the className we +// pass to ) onto BOTH its outer `.bn-container` wrapper AND +// an inner wrapper without `.bn-container`. Without the `.bn-container` +// requirement, the rules below cascade onto both elements — `gap: 10px` +// and `flex-direction: column-reverse` get applied at two nesting levels, +// which shows up as a few-pixel vertical layout jump whenever the side +// menu / drag handle re-renders during selection. +.block-note-editor-container.bn-container align-items: center position: relative display: flex From 857d445c29b63f79786f0613bdd29d154b5100bc Mon Sep 17 00:00:00 2001 From: OpenProject Actions CI Date: Tue, 9 Jun 2026 04:36:22 +0000 Subject: [PATCH 31/32] update locales from crowdin [ci skip] --- config/locales/crowdin/de.yml | 22 +++++++-------- .../auth_saml/config/locales/crowdin/nl.yml | 10 +++---- .../backlogs/config/locales/crowdin/de.yml | 28 +++++++++---------- .../backlogs/config/locales/crowdin/js-nl.yml | 4 +-- .../backlogs/config/locales/crowdin/nl.yml | 2 +- modules/meeting/config/locales/crowdin/de.yml | 4 +-- modules/wikis/config/locales/crowdin/nl.yml | 28 +++++++++---------- 7 files changed, 49 insertions(+), 49 deletions(-) diff --git a/config/locales/crowdin/de.yml b/config/locales/crowdin/de.yml index 32a812b740c..74f94db4a01 100644 --- a/config/locales/crowdin/de.yml +++ b/config/locales/crowdin/de.yml @@ -460,7 +460,7 @@ de: dialog: title: Arbeitspaket-Kennungen ändern heading: Aktivieren Sie projektspezifische Arbeitspaket-Kennungen? - description: 'This will change IDs for all work packages in all projects in this instance. Previous identifiers and URLs will continue to work. This change will take some time to complete. + description: 'Dadurch werden die IDs für alle Arbeitspakete in allen Projekten in diesem Fall geändert. Die bisherigen Identifikatoren und URLs werden weiterhin funktionieren. Diese Änderung wird einige Zeit in Anspruch nehmen. ' confirm_button: Kennungen ändern @@ -940,7 +940,7 @@ de: change_identifier_dialog_title: Projektkennung ändern change_identifier_format_hint_semantic: Nur Großbuchstaben (A-Z), Zahlen oder Unterstriche erlaubt. Maximal 10 Zeichen. Muss mit einem Buchstaben beginnen. change_identifier_format_hint_legacy: Nur Kleinbuchstaben (a-z), Zahlen, Bindestriche oder Unterstriche erlaubt. - change_identifier_warning: 'This will permanently change identifiers and URLs of all work packages in this project. The previous identifiers and URLs will nevertheless continue to work. + change_identifier_warning: 'Dies wird die Kennungen und URLs aller Arbeitspakete in diesem Projekt dauerhaft ändern. Die bisherigen Werte werden jedoch weiterhin funktionieren. ' subitems: @@ -3155,8 +3155,8 @@ de: edit_attribute_groups: description: 'Anpassen der Form-Konfiguration mit diesen zusätzlichen Add-ons:' features: - groups: Add new attribute sections - rename: Rename attribute sections + groups: Neue Attributabschnitte hinzufügen + rename: Attributabschnitte umbenennen related: Tabelle mit zugehörigen Arbeitspaketen hinzufügen readonly_work_packages: description: Arbeitspakete in bestimmten Status als schreibgeschützt markieren. @@ -3522,12 +3522,12 @@ de: new_features_list: line_0: Project-based work package identifiers for clearer references. line_1: Jira Migrator support for Jira identifiers, due dates, and more. - line_2: Option to exclude work package types from Backlogs. - line_3: Redesigned sprint views. - line_4: Improved work package linking across Documents and text editors. - line_5: More flexible meeting schedules and reduced email notification noise. - line_6: Nested groups for organizational structures and inherited permissions. - line_7: Improved administration interfaces for workflows, users, and type configuration. + line_2: Option Arbeitspakettypen und -status in Backlogs auszuschließen. + line_3: Neu gestaltete Sprint-Ansichten. + line_4: Verbesserte Verknüpfung von Arbeitspaketen zwischen dem Dokumenten-Modul und Texteditoren. + line_5: Flexiblere Besprechungspläne und weniger E-Mail-Benachrichtigungen. + line_6: Verschachtelte Gruppen für Organisationsstrukturen und vererbte Berechtigungen. + line_7: Verbesserte Verwaltungsoberflächen für Workflows, Benutzer und Typkonfiguration. links: upgrade_enterprise_edition: Auf Enterprise Edition upgraden postgres_migration: Migration Ihrer Installation zu PostgreSQL @@ -5355,7 +5355,7 @@ de: setting_welcome_on_homescreen: Willkommens-Block auf Startseite anzeigen setting_work_packages_identifier_classic: Instanzweite numerische Sequenz (Standard) setting_work_packages_identifier_classic_caption: 'Every work package gets a sequential number starting with 1 (for example, #1234). The numbers are unique within the instance and remain the same even if work packages are moved between projects.' - setting_work_packages_identifier_semantic: Project-based semantic identifiers (Beta) + setting_work_packages_identifier_semantic: Projektspezifische semantische Kennungen (Beta) setting_work_packages_identifier_semantic_caption: Every project has a unique project identifier prefixed to a number (for example, PROJ-11). The numbering of each project starts at 1. If a work package is moved to another project, a new identifier is generated but the old one will continue to function. setting_work_package_list_default_highlighting_mode: Standard Hervorhebung setting_work_package_list_default_highlighted_attributes: Voreinstellung Inline Hervorherbung diff --git a/modules/auth_saml/config/locales/crowdin/nl.yml b/modules/auth_saml/config/locales/crowdin/nl.yml index 4e618c9fc98..73552b9794f 100644 --- a/modules/auth_saml/config/locales/crowdin/nl.yml +++ b/modules/auth_saml/config/locales/crowdin/nl.yml @@ -90,7 +90,7 @@ nl: configuration: De endpoint URL's voor de identity provider, certificaten en verdere SAML opties configureren. configuration_metadata: Deze informatie is vooraf gevuld met behulp van de meegeleverde metadata. In de meeste gevallen hoeven ze niet bewerkt te worden. encryption: Configureer assertie handtekeningen en encryptie voor SAML verzoeken en antwoorden. - encryption_form: You may optionally want to encrypt the assertion response, or have requests from OpenProject signed. + encryption_form: U kunt optioneel de assertion-response versleutelen of de verzoeken van OpenProject laten ondertekenen. mapping: Pas de mapping tussen de SAML respons en gebruikerskenmerken handmatig aan in OpenProject. requested_attributes: Definieer de set kenmerken die moet worden opgevraagd in het SAML-verzoek dat naar uw identity provider wordt gestuurd. seeded_from_env: Deze provider is geplaatst vanuit de omgevingsconfiguratie. Deze kan niet worden bewerkt. @@ -102,13 +102,13 @@ nl: documentation_link: 'Please refer to our [documentation on configuring SAML providers](docs_url) for more information on these configuration options. ' - display_name: 'The name of the provider. This will be displayed as the login button and in the list of providers. + display_name: 'De naam van de provider. Deze naam wordt getoond op de inlogknop en in de lijst met providers. ' - metadata_none: 'Your identity provider does not have a metadata endpoint or XML download option. You can configure it manually. + metadata_none: 'Uw identiteitsprovider heeft geen metadata-endpoint of XML-downloadoptie. U kunt deze handmatig configureren. ' - metadata_url: 'Your identity provider provides a metadata URL. + metadata_url: 'Uw identiteitsprovider verstrekt een metadata-URL. ' metadata_xml: 'Your identity provider provides a metadata XML download. @@ -186,6 +186,6 @@ nl: icon: 'Optionally provide a public URL to an icon graphic that will be displayed next to the provider name. ' - metadata_for_idp: 'This information might be requested by your SAML identity provider. + metadata_for_idp: 'Uw SAML-identiteitsprovider kan om deze informatie vragen. ' diff --git a/modules/backlogs/config/locales/crowdin/de.yml b/modules/backlogs/config/locales/crowdin/de.yml index 7ad9a28f9b3..33ff0294888 100644 --- a/modules/backlogs/config/locales/crowdin/de.yml +++ b/modules/backlogs/config/locales/crowdin/de.yml @@ -28,8 +28,8 @@ de: attributes: project: sprint_sharing: Sprints teilen - backlog_excluded_types: Excluded work package types - statuses_considered_closed: Statuses considered closed + backlog_excluded_types: Ausgeschlossene Arbeitspaket-Typen + statuses_considered_closed: Als abgeschlossen geltende Status sprint: duration: Dauer finish_date: Endtermin @@ -100,7 +100,7 @@ de: show: blankslate_title: Keine Burndown-Daten verfügbar blankslate_description: Legen Sie Start- und Enddatum für den Sprint fest, um ein Burndown-Diagramm zu erstellen. - excluded_work_package_types_caption: 'Choose which work package types to hide from the backlog. Items of the selected types will not appear in the backlog automatically, keeping it focused on the work that matters to your team. For example, types like Epics or Milestones that are managed at a higher level can be hidden to keep the backlog focused on actionable items. + excluded_work_package_types_caption: 'Wählen Sie, welche Arbeitspaket-Typen Sie aus dem Backlog ausblenden möchten. Elemente der ausgewählten Typen erscheinen nicht automatisch im Backlog und sind so auf die Arbeit konzentriert, die für Ihr Team wichtig ist. Typen wie Epics oder Milestones, die auf einer höheren Ebene verwaltet werden, können beispielsweise ausgeblendet werden, damit sich das Backlog auf umsetzbare Aufgaben konzentriert. ' finish_sprint_dialog_component: @@ -160,20 +160,20 @@ de: story_points: one: "%{count} Story-Punkte" other: "%{count} Story-Points" - statuses_considered_closed_caption: 'Choose the statuses that represent a closed or finished state in your workflow. These will be treated as the "Closed" state across reporting (e.g. burndown) and sprint planning. For example, statuses like Done, Resolved, or Won''t Fix may all represent a closed work item in your process. + statuses_considered_closed_caption: 'Wählen Sie die Status, die einen abgeschlossenen oder beendeten Zustand in Ihrem Arbeitsablauf darstellen. Diese werden in den Berichten (z.B. Burndown) und in der Sprint-Planung als abgeschlossen behandelt. Zum Beispiel können Status wie "Erledigt", "Gelöst" oder "Wird nicht behoben" in Ihrem Prozess ein abgeschlossenes Arbeitspaket darstellen. ' - types_and_statuses: Types and statuses + types_and_statuses: Typen und Status unassigned: Nicht zugewiesen user_preference: header_backlogs: Backlog-Modul button_update_backlogs: Backlog-Modul aktualisieren stories: update_service: - missing_target: target_id or direction must be present. - ambiguous_target: target_id and direction cannot both be present. - invalid_target_type: 'target_type must be one of: backlog_bucket:, sprint:, inbox.' - invalid_direction: 'direction must be one of: higher, highest, lower, lowest.' + missing_target: target_id oder direction muss vorhanden sein. + ambiguous_target: target_id und direction können nicht beide vorhanden sein. + invalid_target_type: 'target_type muss einer der folgenden Werte sein: backlog_bucket:, sprint:, inbox.' + invalid_direction: 'direction muss eine der folgenden sein: higher, highest, lower, lowest.' work_package_card_menu_component: action_menu: copy_url_to_clipboard: URL in die Zwischenablage kopieren @@ -189,7 +189,7 @@ de: sprint_sharing: Sprints teilen upsell: sprint_sharing: - description: Share sprints across projects to align teams and coordinate work in scaled agile setups (SAFe). + description: Teilen Sie Sprints über Projekte hinweg, um Teams aufeinander abzustimmen und die Arbeit in skalierten agilen Setups (SAFe) zu koordinieren. label_backlog: Backlog label_backlog_bucket_edit: Backlog Bucket bearbeiten label_backlog_bucket_new: Neuer Backlog Bucket @@ -211,8 +211,8 @@ de: notice_unsuccessful_finish_with_reason: 'Der Sprint konnte nicht abgeschlossen werden: %{reason}' permission_create_sprints: Sprints erstellen permission_manage_sprint_items: Sprint-Elemente verwalten - permission_select_backlog_types_and_statuses: Select backlog types and statuses - permission_select_backlog_types_and_statuses_explanation: 'Allows choosing which work package types to hide from the backlog. Also allows defining which statuses represent a closed or finished state in the project''s workflow. + permission_select_backlog_types_and_statuses: Typen und Status für Backlogs wählen + permission_select_backlog_types_and_statuses_explanation: 'Ermöglicht die Auswahl der Arbeitspakettypen, die aus dem Backlog ausgeblendet werden sollen. Außerdem können Sie festlegen, welche Status einen abgeschlossenen oder beendeten Zustand im Projektworkflow darstellen. ' permission_share_sprint: Sprint teilen @@ -242,6 +242,6 @@ de: sprint_sharing: Sprints teilen backlogs: sharing_form_component: - sharing_description: Dieses Projekt kann entweder seine eigenen Sprints teilen, geteilte Sprints empfangen oder Sprints unabhängig bearbeiten (kein Teilen). - sharing_fallback_description: Lacking a corporate enterprise plan, the sharing options are limited to the project's own sprints. The currently active setting remains active. + sharing_description: Dieses Projekt kann entweder eigene Sprints teilen, geteilte Sprints empfangen oder Sprints eigenständig bearbeiten (ohne Teilen). + sharing_fallback_description: Da es keinen Enterprise-Plan gibt, sind die Optionen für die gemeinsame Nutzung auf die eigenen Sprints des Projekts beschränkt. Die derzeit aktive Einstellung bleibt aktiv. remaining_hours: verbleibender Aufwand diff --git a/modules/backlogs/config/locales/crowdin/js-nl.yml b/modules/backlogs/config/locales/crowdin/js-nl.yml index 6fd9b0aad01..2886ba3d64e 100644 --- a/modules/backlogs/config/locales/crowdin/js-nl.yml +++ b/modules/backlogs/config/locales/crowdin/js-nl.yml @@ -24,7 +24,7 @@ nl: js: work_packages: properties: - storyPoints: Verhaal punten + storyPoints: Story points burndown: - day: Day + day: Dag points: Points diff --git a/modules/backlogs/config/locales/crowdin/nl.yml b/modules/backlogs/config/locales/crowdin/nl.yml index 496dd7b411b..063cc521245 100644 --- a/modules/backlogs/config/locales/crowdin/nl.yml +++ b/modules/backlogs/config/locales/crowdin/nl.yml @@ -38,7 +38,7 @@ nl: sharing: Delen statuses: in_planning: Wordt gepland - active: Actief + active: Gestart completed: Voltooid work_package: backlog_bucket: Backlog Bucket diff --git a/modules/meeting/config/locales/crowdin/de.yml b/modules/meeting/config/locales/crowdin/de.yml index 009c663bf48..291101955b1 100644 --- a/modules/meeting/config/locales/crowdin/de.yml +++ b/modules/meeting/config/locales/crowdin/de.yml @@ -528,8 +528,8 @@ de: weekly_interval: Alle %{interval} Wochen am %{weekday} monthly_day: Jeden Monat am %{day} monthly_day_interval: Alle %{interval} Monate am %{day} - monthly_nth_weekday: Every month on the %{ordinal} %{weekday} - monthly_nth_weekday_interval: Every %{interval} months on the %{ordinal} %{weekday} + monthly_nth_weekday: Jeden Monat am %{ordinal} %{weekday} + monthly_nth_weekday_interval: Alle %{interval} Monate am %{ordinal} %{weekday} frequency: "%{base} um %{time}" full: "%{base} um %{time}, endet %{end_date}" full_past: "%{base} um %{time}, endet am %{end_date}" diff --git a/modules/wikis/config/locales/crowdin/nl.yml b/modules/wikis/config/locales/crowdin/nl.yml index dcf5bd97155..70a7fa0c7b8 100644 --- a/modules/wikis/config/locales/crowdin/nl.yml +++ b/modules/wikis/config/locales/crowdin/nl.yml @@ -9,9 +9,9 @@ nl: authentication_methods: oauth2_sso: Single-Sign-On through OpenID Connect Identity Provider two_way_oauth2: Two-way OAuth 2.0 authorization code flow - name: Name + name: Naam token_exchange_scope: XWiki Scope - universal_identifier: Universal identifier + universal_identifier: Unieke Id url: Instance URL wiki_audience: XWiki Audience errors: {} @@ -70,10 +70,10 @@ nl: description_html: The wiki provider %{wiki_provider} and all the related wiki page links will be deleted. In addition, every inline wiki page link will no longer be accessible. This action is irreversible. forms: general_info_form_component: - xwiki_instance_description: Please make sure you have administration privileges in your XWiki instance before doing the setup. + xwiki_instance_description: Zorg ervoor dat u beheerrechten hebt in uw XWiki-instantie voordat u de installatie uitvoert. oauth_application_form_component: - application_id: Application ID - application_secret: Application secret + application_id: Applicatie-ID + application_secret: Application Secret oauth_client_form_component: client_id: Client ID health_status: @@ -88,7 +88,7 @@ nl: title: Health Report oauth_application_info_component: confirm_replace_oauth_application: This action will reset the current OAuth credentials. After confirming you will have to reenter the credentials in your XWiki instance and all users will have to reauthorize. Are you sure you want to proceed? - label_pending: Pending + label_pending: In afwachting replace_oauth_application: Replace OpenProject OAuth application oauth_client_info_component: confirm_replace_oauth_client: This action will reset the current XWiki OAuth credentials. All users will need to reauthorize against XWiki. Are you sure you want to proceed? @@ -110,25 +110,25 @@ nl: index_description: Add an external wiki service to link work packages to existing wiki pages or create new ones directly from OpenProject. label_add_new: Add new wiki provider label_edit: Edit XWiki provider - label_new_xwiki_instance: New XWiki provider + label_new_xwiki_instance: Nieuwe XWiki-provider label_wiki_platform: Wiki aanbieder - name_caption: Give your storage a name so that users can differentiate between multiple wiki platforms. + name_caption: Geef de opslag een naam, zodat gebruikers verschillende wiki-platformen van elkaar kunnen onderscheiden. name_placeholder: XWiki knowledge base new_provider_html: Read our documentation on [setting up an XWiki integration](docs_url) for more information. oauth: openproject_oauth: OpenProject OAuth sections: - general_information: Basisdetails + general_information: Basisgegevens oauth_configuration: OAuth configuration - url_caption: Please add the host address of your wiki platform including the https://. It should not be longer than 255 characters. - xwiki_instance: XWiki Instance + url_caption: Voeg het hostadres van uw wikiplatform toe, inclusief de https://. Het mag niet langer zijn dan 255 tekens. + xwiki_instance: XWiki instantie xwiki: oauth: - openproject_oauth_description: Allow XWiki to access OpenProject data using an OAuth application. Copy the credentials below into your XWiki instance. + openproject_oauth_description: Geef XWiki toestemming om OpenProject-gegevens te benaderen met behulp van een OAuth-applicatie. Kopieer de onderstaande inloggegevens naar uw XWiki-instantie. provider_oauth: XWiki OAuth - provider_oauth_description: Allow OpenProject to access XWiki data using OAuth. A client ID is automatically generated to identify OpenProject to XWiki — no manual configuration is needed on the XWiki side. + provider_oauth_description: Geef OpenProject toestemming om XWiki-gegevens te benaderen met behulp van een OAuth-applicatie. De client-ID wordt automatisch gegenereerd om OpenProject in XWiki te identificeren — geen handmatige configuratie is vereist aan XWiki-zijde. openproject_oauth_description: Allow XWiki to access OpenProject data using an OAuth. xwiki_oauth: XWiki OAuth xwiki_oauth_description: Allow OpenProject to access XWiki data using an OAuth. macro: - page_not_found: Linked wiki page no longer available + page_not_found: De gekoppelde wiki-pagina is niet meer beschikbaar From 4f59344fdb63f51d1cf25f3f92f789e982962349 Mon Sep 17 00:00:00 2001 From: ulferts Date: Tue, 9 Jun 2026 09:40:46 +0200 Subject: [PATCH 32/32] fix lockfileVersion --- frontend/package-lock.json | 15550 +---------------------------------- 1 file changed, 350 insertions(+), 15200 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 2d0a8d05012..2eb792efeb7 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,7 +1,7 @@ { "name": "openproject-frontend", "version": "0.1.0", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -418,12 +418,12 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.2102.14", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.14.tgz", - "integrity": "sha512-0+vjVsCkMyJdVjz5XkPW+Bdf/9TI8V2voomx/+o0o+oOaqqiEhptQWFnaIlLr7HasjB0LxXK5P9L0oQ61vxj8Q==", + "version": "0.2102.13", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.13.tgz", + "integrity": "sha512-fheyi0gPx6b7tT+WQ+ePlzdGqKjPLUK72wg5Z9pkVtQ5+VN/8yB9mlRlmoivngd2FeNG9wMeNynWZGYycnOWVw==", "license": "MIT", "dependencies": { - "@angular-devkit/core": "21.2.14", + "@angular-devkit/core": "21.2.13", "rxjs": "7.8.2" }, "bin": { @@ -436,17 +436,17 @@ } }, "node_modules/@angular-devkit/build-angular": { - "version": "21.2.14", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-21.2.14.tgz", - "integrity": "sha512-EgKDd5pYctnsj3yYAZt3vivodH+r61X0ivWbZljcwT7OO4CEDyTR7Vtu4TUSr+tlplz5x2PYsWNr1nqyF0hufw==", + "version": "21.2.13", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-21.2.13.tgz", + "integrity": "sha512-H+wLj9n4khPIUYlIPCVfOGZzTsTVn/lzkY46DTMHd7gQF35vG+/xWvWCu3Shpf/0c631U7Jc2Mg7G+GBDgxe/g==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.2102.14", - "@angular-devkit/build-webpack": "0.2102.14", - "@angular-devkit/core": "21.2.14", - "@angular/build": "21.2.14", + "@angular-devkit/architect": "0.2102.13", + "@angular-devkit/build-webpack": "0.2102.13", + "@angular-devkit/core": "21.2.13", + "@angular/build": "21.2.13", "@babel/core": "7.29.0", "@babel/generator": "7.29.1", "@babel/helper-annotate-as-pure": "7.27.3", @@ -457,7 +457,7 @@ "@babel/preset-env": "7.29.2", "@babel/runtime": "7.29.2", "@discoveryjs/json-ext": "0.6.3", - "@ngtools/webpack": "21.2.14", + "@ngtools/webpack": "21.2.13", "ansi-colors": "4.1.3", "autoprefixer": "10.4.27", "babel-loader": "10.0.0", @@ -512,7 +512,7 @@ "@angular/platform-browser": "^21.0.0", "@angular/platform-server": "^21.0.0", "@angular/service-worker": "^21.0.0", - "@angular/ssr": "^21.2.14", + "@angular/ssr": "^21.2.13", "@web/test-runner": "^0.20.0", "browser-sync": "^3.0.2", "jest": "^30.2.0", @@ -698,13 +698,13 @@ } }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.2102.14", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.2102.14.tgz", - "integrity": "sha512-UjZzypzYLYaWMVplu9CYpx0gxKYu9+V3GiOrtlshInuGMZe9uQy7wRgiFUUKClRSMf8CCT1jfCof9gFwqYCRuQ==", + "version": "0.2102.13", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.2102.13.tgz", + "integrity": "sha512-xnGq62JImcvPUM5r7Uvj7Y243fepwhbTG3zaIR2JKR+4EwF5pS5moXuVf+xVvxRqQkNcmLGfr7uJogmpw+dUgA==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.2102.14", + "@angular-devkit/architect": "0.2102.13", "rxjs": "7.8.2" }, "engines": { @@ -718,9 +718,9 @@ } }, "node_modules/@angular-devkit/core": { - "version": "21.2.14", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.14.tgz", - "integrity": "sha512-RSOWXB9bFc2nwRWMxbIT0RbSNFUrwfBo4N5MNxbyQ69Ndc0gVm3h+3ArHv0qotH4d+pJYbm5ttXu8YqR2kc0CA==", + "version": "21.2.13", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.13.tgz", + "integrity": "sha512-9jLaHcUr6BumIY9nCsBib1q62p259nf++gd2igYJ7mLm1w/0wEacsZ1cC8wCGEe6vx8a+DrD+EVCQ6zivePG2A==", "license": "MIT", "dependencies": { "ajv": "8.18.0", @@ -790,12 +790,12 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "21.2.14", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.14.tgz", - "integrity": "sha512-KMJlQSBEzI4+Cy1Zh72gmGQNN2I1vY+nj9CoRcZPBIi1si+0ZAc49XT85eYl+eQumNTVQviUG7LQqgLDAHml+g==", + "version": "21.2.13", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.13.tgz", + "integrity": "sha512-gifpOcMNiAy49lQmQKhzpxoSfS3qJQSEdJSF5m7RVFkAcmllfcCD76GPN4dhho3wdAnbZ3qr54LtDqrGY4xNjw==", "license": "MIT", "dependencies": { - "@angular-devkit/core": "21.2.14", + "@angular-devkit/core": "21.2.13", "jsonc-parser": "3.3.1", "magic-string": "0.30.21", "ora": "9.3.0", @@ -926,9 +926,9 @@ } }, "node_modules/@angular/animations": { - "version": "21.2.16", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-21.2.16.tgz", - "integrity": "sha512-YPhph/OC1A0vkT95XZW6lXMNmi5ly91JeXi+5yeG8CCxfqscVfRNPsYbRWjSueO0cQT2HJ8U1CLteQ5a1OaoHA==", + "version": "21.2.15", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-21.2.15.tgz", + "integrity": "sha512-Z8AsLTwc++Fcu0fJnclAF9zMfumAd5KXrwtSdyECqLpqd+lEmmsOpeOl6P7loqdDz99KYh/8UF4eJxdMvnsaKw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -937,18 +937,18 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/core": "21.2.16" + "@angular/core": "21.2.15" } }, "node_modules/@angular/build": { - "version": "21.2.14", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.2.14.tgz", - "integrity": "sha512-l8JB326iIwum2WmbopUUFdiuYsbHchix6MH8o6F6FA7LJr8QLTvipwwbw+Jx31/RE50WkGmzsZ1fBDw/cMbmUw==", + "version": "21.2.13", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.2.13.tgz", + "integrity": "sha512-Y9TDAaTQ+E5LScCKA/hPZmns/7Mpu6J2BiPj2cETA1xNjvgRpeb5Mh32KuhZb20NSFLvjpdnLuBTTtbym7hevw==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.2102.14", + "@angular-devkit/architect": "0.2102.13", "@babel/core": "7.29.0", "@babel/helper-annotate-as-pure": "7.27.3", "@babel/helper-split-export-declaration": "7.24.7", @@ -991,7 +991,7 @@ "@angular/platform-browser": "^21.0.0", "@angular/platform-server": "^21.0.0", "@angular/service-worker": "^21.0.0", - "@angular/ssr": "^21.2.14", + "@angular/ssr": "^21.2.13", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^21.0.0", @@ -1071,9 +1071,9 @@ } }, "node_modules/@angular/cdk": { - "version": "21.2.14", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-21.2.14.tgz", - "integrity": "sha512-806REq/CLf37nEhmmd8Q+ILN8z/RVG2vk2n8YZ/4TdHpcBCi5ux4AxLbpMmduLwGPOzPagJ6ggRzE5fnX0rmcQ==", + "version": "21.2.13", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-21.2.13.tgz", + "integrity": "sha512-nQGGJ6Efqi8n0qhT/PllsaIIY+vz+TL7/tpR7F2QKiqzS/9l4m7ea0vvS6fSMGrjEbqbkzTHbjLDsIg6X2hK+w==", "license": "MIT", "dependencies": { "parse5": "^8.0.0", @@ -1111,18 +1111,18 @@ } }, "node_modules/@angular/cli": { - "version": "21.2.14", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.2.14.tgz", - "integrity": "sha512-S8jExTjxPJILwpg2lu3DohSASVZ8DLhSNCmOe7z0qF9VskRSjC7SIQv1rq36tsJkenxuA72gjVOHZv+uSRT8HA==", + "version": "21.2.13", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.2.13.tgz", + "integrity": "sha512-j1kOV/f0og/3xCwG7Y8RyPd6V7uYfX2NuvXbvN1mzgxLLN2mu6CTsvPg5l/9Pu9SJI3KOPRgDxWyuP3k8KuzMg==", "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.2102.14", - "@angular-devkit/core": "21.2.14", - "@angular-devkit/schematics": "21.2.14", + "@angular-devkit/architect": "0.2102.13", + "@angular-devkit/core": "21.2.13", + "@angular-devkit/schematics": "21.2.13", "@inquirer/prompts": "7.10.1", "@listr2/prompt-adapter-inquirer": "3.0.5", "@modelcontextprotocol/sdk": "1.26.0", - "@schematics/angular": "21.2.14", + "@schematics/angular": "21.2.13", "@yarnpkg/lockfile": "1.1.0", "algoliasearch": "5.48.1", "ini": "6.0.0", @@ -1264,9 +1264,9 @@ } }, "node_modules/@angular/common": { - "version": "21.2.16", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.2.16.tgz", - "integrity": "sha512-htHNepKzjIjkc5BQ7MKDN0bVDOfQpFr/fGUxa6irC0kFLfWt7idUTdNcxypRvjCCTuBYHkjr74fH4QKu+qvPXg==", + "version": "21.2.15", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.2.15.tgz", + "integrity": "sha512-PHbICQe4YCXnax2FcmKUpiffs8XPW9A0KlZF35qgJoQyBMBZx5F8c8geCh25jxtq77n3eBTmOa/WIAdSqiitkQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1275,14 +1275,14 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/core": "21.2.16", + "@angular/core": "21.2.15", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "21.2.16", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.2.16.tgz", - "integrity": "sha512-hVjp93gYgNj5aRbCQUK7L+pOfdqk96lCtmSL2hOL725Pmib9NyNIrA3ISfAQHN+Qo70763WUZahOiqBBOzfAcg==", + "version": "21.2.15", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.2.15.tgz", + "integrity": "sha512-nwpNb+NbVUNzR3cck0QXbU/oFK7BpmXOXVnN/w7+P4+TsFUYeTtO1Ojbc15jkqe6mSM0lBvGlcoztVblHQkqcw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1292,9 +1292,9 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "21.2.16", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.2.16.tgz", - "integrity": "sha512-w2ck3o+uw29AZEGK3HvOsF/ZRiPcfoq2TaDtiNjdH+svhwawt9PfMXrDbbIKF30prWzKLpT3UsCqTz1awv7Ubw==", + "version": "21.2.15", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.2.15.tgz", + "integrity": "sha512-/MU7OA9d/e9P5SthR+N6JJObBmzcGsgNQaeQ2YfSUnU0lCRVQweTWwxLFDbfU6UX8MZFWB6pdI57zod8r5kXUw==", "license": "MIT", "dependencies": { "@babel/core": "7.29.0", @@ -1314,7 +1314,7 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/compiler": "21.2.16", + "@angular/compiler": "21.2.15", "typescript": ">=5.9 <6.1" }, "peerDependenciesMeta": { @@ -1471,9 +1471,9 @@ } }, "node_modules/@angular/core": { - "version": "21.2.16", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.16.tgz", - "integrity": "sha512-uufKORlB0jeYdqOvjAfMYgqIqmJentOj8XvTUxsFP5k85xxzXsDarSpP199YQz6jhJJQYNOWIloDkUTQJi5rNA==", + "version": "21.2.15", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.15.tgz", + "integrity": "sha512-J5JsUnNtQURdeA7EA3DoCsMBizW3l01gfqM326Al72Ou3woFWmRb5P3LOXpIOzAeMQhO6Z5tW+B1t+4qmoq7uw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1482,7 +1482,7 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/compiler": "21.2.16", + "@angular/compiler": "21.2.15", "rxjs": "^6.5.3 || ^7.4.0", "zone.js": "~0.15.0 || ~0.16.0" }, @@ -1496,9 +1496,9 @@ } }, "node_modules/@angular/elements": { - "version": "21.2.16", - "resolved": "https://registry.npmjs.org/@angular/elements/-/elements-21.2.16.tgz", - "integrity": "sha512-p9Y8KyMZQ37Tn7zjkaiQJUog+TtDlypqwD4ABzUNKKkgjLTRMVbS+xJ7rPuF5HSCsGS2tO+fsbxWcIGHIACL+Q==", + "version": "21.2.15", + "resolved": "https://registry.npmjs.org/@angular/elements/-/elements-21.2.15.tgz", + "integrity": "sha512-ynK/FJY/YVN/mBBMOd3/v9F9DKkhDXYIvSiCBTKxnP8PwOG6Sf3xb2y3LHJuPh5wlrcHBZszVOPyeB4vNi3FPA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1507,14 +1507,14 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/core": "21.2.16", + "@angular/core": "21.2.15", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/forms": { - "version": "21.2.16", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.2.16.tgz", - "integrity": "sha512-2djTJmTpg/MkQ2kdCI9k0LT4RL9/Hg03fDUNN2eN5c04FIk99D3yHXUJYLwiaErLuLQNkU8HaijluKHdH93cWQ==", + "version": "21.2.15", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.2.15.tgz", + "integrity": "sha512-swGUHgbBrPNvODPR9qBP6+vT2EHiyW361iEgS3HpTmvDhF/kD4l8NE0vh3P5N0DnEtGh4umOCKfQ1w6hPJ7lqA==", "license": "MIT", "dependencies": { "@standard-schema/spec": "^1.0.0", @@ -1524,9 +1524,9 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "21.2.16", - "@angular/core": "21.2.16", - "@angular/platform-browser": "21.2.16", + "@angular/common": "21.2.15", + "@angular/core": "21.2.15", + "@angular/platform-browser": "21.2.15", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -1541,9 +1541,9 @@ } }, "node_modules/@angular/platform-browser": { - "version": "21.2.16", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.2.16.tgz", - "integrity": "sha512-59ToWYDb+O3fS0+Y4ubQqV0zY6sf2esLZ19AT7JKXN7Akqbz7aQ2/3k3PKmfhwKWek5o3lkuNz8YhxKQruNh8Q==", + "version": "21.2.15", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.2.15.tgz", + "integrity": "sha512-O4ZHVV/rxkK1AuiD9M3UssL/HkoQvBcZy2+U421IMNibclGhwH9aRwc/0ZlQ7zpseS9+KPZ23FebvN4/92IbPg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1552,9 +1552,9 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/animations": "21.2.16", - "@angular/common": "21.2.16", - "@angular/core": "21.2.16" + "@angular/animations": "21.2.15", + "@angular/common": "21.2.15", + "@angular/core": "21.2.15" }, "peerDependenciesMeta": { "@angular/animations": { @@ -1563,9 +1563,9 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "21.2.16", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-21.2.16.tgz", - "integrity": "sha512-WtTnkJOmKiGccHRQfBdkwODAkpTB4zbPN3IKhcqCjlezKaPqZB5tjrIu72Z5pmi5VIgJz1LmfO1LSVCMC5h7dA==", + "version": "21.2.15", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-21.2.15.tgz", + "integrity": "sha512-3xvlWLZlsWjPyJFGatOOsod/f5AFjmSUDoOXo0zsr2ckHc4TxbDTnkLULhRSWv6m68fKOdQb8Si8rI15gC5yqA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1574,16 +1574,16 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "21.2.16", - "@angular/compiler": "21.2.16", - "@angular/core": "21.2.16", - "@angular/platform-browser": "21.2.16" + "@angular/common": "21.2.15", + "@angular/compiler": "21.2.15", + "@angular/core": "21.2.15", + "@angular/platform-browser": "21.2.15" } }, "node_modules/@angular/router": { - "version": "21.2.16", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-21.2.16.tgz", - "integrity": "sha512-0+Pyh0uT4vCLabKoGCARYWlwpz4DgZI9AE01n8s9u/nKAZuEMnJtLLnaUtHEMI8nJSqpgnS/5AthuJZdDEfkYw==", + "version": "21.2.15", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-21.2.15.tgz", + "integrity": "sha512-Cej4hYkmaTB6wXn1xQPlr4O1wHgUD0WLv//Oue1IssKqL8vkzic5f5x/H/bxtxxGlSnc+i6uIUF/lvjdGoWk/A==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1592,9 +1592,9 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "21.2.16", - "@angular/core": "21.2.16", - "@angular/platform-browser": "21.2.16", + "@angular/common": "21.2.15", + "@angular/core": "21.2.15", + "@angular/platform-browser": "21.2.15", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -3568,6 +3568,7 @@ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "aix" @@ -3584,6 +3585,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -3600,6 +3602,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -3616,6 +3619,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -3648,6 +3652,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -3664,6 +3669,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -3680,6 +3686,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -3696,6 +3703,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3712,6 +3720,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3728,6 +3737,7 @@ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3744,6 +3754,7 @@ "loong64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3760,6 +3771,7 @@ "mips64el" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3776,6 +3788,7 @@ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3792,6 +3805,7 @@ "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3808,6 +3822,7 @@ "s390x" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3824,6 +3839,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -3840,6 +3856,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "netbsd" @@ -3856,6 +3873,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "netbsd" @@ -3872,6 +3890,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openbsd" @@ -3888,6 +3907,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openbsd" @@ -3904,6 +3924,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openharmony" @@ -3920,6 +3941,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "sunos" @@ -3936,6 +3958,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -3952,6 +3975,7 @@ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -3968,6 +3992,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -4416,6 +4441,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/@github/auto-check-element/-/auto-check-element-6.0.0.tgz", "integrity": "sha512-87mHEywJEtlG/37zFrx4PUgDqczgtv9jrauW3IojNy9y+nALIAm6e2jnWpfgcqeMWSevzph2M6reJoHpuSjyWw==", + "license": "MIT", "dependencies": { "@github/mini-throttle": "^2.1.0" } @@ -4424,45 +4450,52 @@ "version": "3.8.0", "resolved": "https://registry.npmjs.org/@github/auto-complete-element/-/auto-complete-element-3.8.0.tgz", "integrity": "sha512-rS2Uj38V1BsenLvrIswV5IXfiYH2/KUhz6inot+JXho/fFOO+01tsW1HxqSdIXqh5EDuoY0f/GQsztZcH22AXQ==", + "license": "MIT", "dependencies": { "@github/combobox-nav": "^2.1.7" } }, "node_modules/@github/catalyst": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@github/catalyst/-/catalyst-1.8.0.tgz", - "integrity": "sha512-uLpi/D/mKfylYaFLfzNuloXNENi0AlcM0Z7hwYLH8Z030jBCr+ueMdX2xLxCzpMH/keYXKh0uPrHSMfcbxU6KA==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@github/catalyst/-/catalyst-1.8.1.tgz", + "integrity": "sha512-dnN4WWpbeuQvA17LvsGdlXEueJdBk9y+I+WO5pdNpoHNOXPsFcz3hJrq1iRmdsNgQOf4S8e83axtwIxvG62eWA==", "license": "MIT" }, "node_modules/@github/clipboard-copy-element": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/@github/clipboard-copy-element/-/clipboard-copy-element-1.3.0.tgz", - "integrity": "sha512-wyntkQkwoLbLo+Hqg2LIVMXDIzcvUb9bSDz+clX6nVJItwzh103rHxdXFRZD+DmxVbuEW5xSznYQXkz1jZT+xg==" + "integrity": "sha512-wyntkQkwoLbLo+Hqg2LIVMXDIzcvUb9bSDz+clX6nVJItwzh103rHxdXFRZD+DmxVbuEW5xSznYQXkz1jZT+xg==", + "license": "MIT" }, "node_modules/@github/combobox-nav": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/@github/combobox-nav/-/combobox-nav-2.3.1.tgz", - "integrity": "sha512-gwxPzLw8XKecy1nP63i9lOBritS3bWmxl02UX6G0TwMQZbMem1BCS1tEZgYd3mkrkiDrUMWaX+DbFCuDFo3K+A==" + "integrity": "sha512-gwxPzLw8XKecy1nP63i9lOBritS3bWmxl02UX6G0TwMQZbMem1BCS1tEZgYd3mkrkiDrUMWaX+DbFCuDFo3K+A==", + "license": "MIT" }, "node_modules/@github/details-menu-element": { "version": "1.0.13", "resolved": "https://registry.npmjs.org/@github/details-menu-element/-/details-menu-element-1.0.13.tgz", - "integrity": "sha512-gMkii86w/oUP5dq8yOWZn1sgbgtFj3AYETxxtpsqRggZktgd8te4+npAn4Hm+936c/lxmEzXqfjARL/CzGR4+w==" + "integrity": "sha512-gMkii86w/oUP5dq8yOWZn1sgbgtFj3AYETxxtpsqRggZktgd8te4+npAn4Hm+936c/lxmEzXqfjARL/CzGR4+w==", + "license": "MIT" }, "node_modules/@github/image-crop-element": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/@github/image-crop-element/-/image-crop-element-5.0.0.tgz", - "integrity": "sha512-Vgm2OwWAs1ESoib/t5sjxsAYo6YTOxxAjWDRxswX7qrqoyCejTZ3hshdo4Ep5e+Mz/GVTZC3rdMtg06dk/eT4g==" + "integrity": "sha512-Vgm2OwWAs1ESoib/t5sjxsAYo6YTOxxAjWDRxswX7qrqoyCejTZ3hshdo4Ep5e+Mz/GVTZC3rdMtg06dk/eT4g==", + "license": "MIT" }, "node_modules/@github/include-fragment-element": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/@github/include-fragment-element/-/include-fragment-element-6.3.0.tgz", - "integrity": "sha512-BJTt8ZE/arsbC9lQtTH8c1hZS0ZigiN+kzH54ffQ6MhHLT83h0OpSdS9NEVocPl2uuO6w3qxnEKTDzUGMQ5rdQ==" + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/@github/include-fragment-element/-/include-fragment-element-6.4.1.tgz", + "integrity": "sha512-ffgXc7qwBtY/rYcMkAjxZJlyOPFaeC9K1Oc+n7Edwt3BAHPokUSdMfDivb+/dGO+NU2n7l1/L4v5uQN+wBeV4g==", + "license": "MIT" }, "node_modules/@github/mini-throttle": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/@github/mini-throttle/-/mini-throttle-2.1.1.tgz", - "integrity": "sha512-KtOPaB+FiKJ6jcKm9UKyaM5fPURHGf+xcp+b4Mzoi81hOc6M1sIGpMZMAVbNzfa2lW5+RPGKq888Px0j76OZ/A==" + "integrity": "sha512-KtOPaB+FiKJ6jcKm9UKyaM5fPURHGf+xcp+b4Mzoi81hOc6M1sIGpMZMAVbNzfa2lW5+RPGKq888Px0j76OZ/A==", + "license": "MIT" }, "node_modules/@github/relative-time-element": { "version": "5.0.0", @@ -4473,12 +4506,14 @@ "node_modules/@github/remote-input-element": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/@github/remote-input-element/-/remote-input-element-0.4.0.tgz", - "integrity": "sha512-apsMwsFW24F+w2wzT8oKoBi9lpm6GeFOmtuL+1YwDVmIiwixfHOD3MnEsEOv0RwmHsMdWmIjP9mxWyTWPKZHGg==" + "integrity": "sha512-apsMwsFW24F+w2wzT8oKoBi9lpm6GeFOmtuL+1YwDVmIiwixfHOD3MnEsEOv0RwmHsMdWmIjP9mxWyTWPKZHGg==", + "license": "MIT" }, "node_modules/@github/tab-container-element": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/@github/tab-container-element/-/tab-container-element-3.4.0.tgz", - "integrity": "sha512-Yx70pO8A0p7Stnm9knKkUNX8i4bjuwDYZarRkM8JH0Z+ffhpe++oNAPbzGI9GEcGugRHvKuSC6p4YOdoHtTniQ==" + "integrity": "sha512-Yx70pO8A0p7Stnm9knKkUNX8i4bjuwDYZarRkM8JH0Z+ffhpe++oNAPbzGI9GEcGugRHvKuSC6p4YOdoHtTniQ==", + "license": "MIT" }, "node_modules/@github/webauthn-json": { "version": "2.1.1", @@ -5654,6 +5689,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -5667,6 +5703,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -5680,6 +5717,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -5693,6 +5731,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -5706,6 +5745,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -5719,6 +5759,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -5840,9 +5881,9 @@ } }, "node_modules/@mantine/core": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/@mantine/core/-/core-9.3.1.tgz", - "integrity": "sha512-4rBoHpggSohayE+Os7lKdbsHTw7m/uZRKYjk9DN6cKBhQIjdiULdcG+b4b5CMVZSqZDHPgT70uWGI7yqkn8Ufw==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@mantine/core/-/core-9.3.0.tgz", + "integrity": "sha512-mHVCm61YVW9ipy9eHiKMqsRUm3TkOErbdw7zHs0HRw5g403nf7tSTqNGvaYE+aX1Py874qMkrUzeQfj4bjiiBA==", "license": "MIT", "dependencies": { "@floating-ui/react": "^0.27.19", @@ -5852,15 +5893,15 @@ "type-fest": "^5.6.0" }, "peerDependencies": { - "@mantine/hooks": "9.3.1", + "@mantine/hooks": "9.3.0", "react": "^19.2.0", "react-dom": "^19.2.0" } }, "node_modules/@mantine/hooks": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/@mantine/hooks/-/hooks-9.3.1.tgz", - "integrity": "sha512-zAOlxV59j5CDgAnExN+ypaR6dVW1vwMKDvKUxIlUVd/e52qxYnPyYRD+shJmyOLaZRuQmVF0R/7mJAjt2jw9cA==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@mantine/hooks/-/hooks-9.3.0.tgz", + "integrity": "sha512-QoSr9WI4WsKWrM3qFYYizHUn3+n+CVcFMYe4sdlnmFPStvs6BacPODKJSbFlYl73Z20t82JIy0eKqt4noHQI2g==", "license": "MIT", "peerDependencies": { "react": "^19.2.0" @@ -6232,6 +6273,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -6245,6 +6287,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -6258,6 +6301,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -6271,6 +6315,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -6284,6 +6329,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -6330,6 +6376,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -6346,6 +6393,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -6378,6 +6426,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -6394,6 +6443,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -6410,6 +6460,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -6426,6 +6477,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -6442,6 +6494,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -6458,6 +6511,7 @@ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -6474,6 +6528,7 @@ "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -6490,6 +6545,7 @@ "s390x" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -6506,6 +6562,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -6522,6 +6579,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -6538,6 +6596,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openharmony" @@ -6554,6 +6613,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -6570,6 +6630,7 @@ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -6586,6 +6647,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -6599,6 +6661,7 @@ "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "@tybys/wasm-util": "^0.10.1" @@ -6653,9 +6716,9 @@ } }, "node_modules/@ngtools/webpack": { - "version": "21.2.14", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-21.2.14.tgz", - "integrity": "sha512-HXt4pYLlWCJphO6TZoTsi2Z9Lyq/PqYpiKlqUmNoo/oIiSuXtoT/8+84Z/SfBdzeZpiVrAFz+/QGTVFoD8RSGg==", + "version": "21.2.13", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-21.2.13.tgz", + "integrity": "sha512-Y3W1x5+P8mHXRIkeSxGdj10ipQjJkTT6/bc/Sz5BN2qacbNIYIDg0fnk/ikvl9KAvI/49gUwYxfq4QBodS5ktQ==", "dev": true, "license": "MIT", "engines": { @@ -6965,6 +7028,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -7005,6 +7069,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -7025,6 +7090,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -7045,6 +7111,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -7065,6 +7132,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -7085,6 +7153,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -7105,6 +7174,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -7125,6 +7195,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -7145,6 +7216,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -7165,6 +7237,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -7185,6 +7258,7 @@ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -7205,6 +7279,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -7393,9 +7468,10 @@ "license": "MIT" }, "node_modules/@primer/behaviors": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@primer/behaviors/-/behaviors-1.3.5.tgz", - "integrity": "sha512-HWwz+6MrfK5NTWcg9GdKFpMBW/yrAV937oXiw2eDtsd88P3SRwoCt6ZO6QmKp9RP3nDU9cbqmuGZ0xBh0eIFeg==" + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/@primer/behaviors/-/behaviors-1.10.2.tgz", + "integrity": "sha512-93juWZbWg2DRhC11+7RT7hMpY1VD3lBosLmccqEZ65yrCHqkBCjI8Uj8wxs3y0U+wWE07LAoLHAPylyWbifg5A==", + "license": "MIT" }, "node_modules/@primer/css": { "version": "22.1.0", @@ -7496,6 +7572,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -7528,6 +7605,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -7544,6 +7622,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -7560,6 +7639,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -7576,6 +7656,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -7592,6 +7673,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -7608,6 +7690,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -7624,6 +7707,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -7640,6 +7724,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openharmony" @@ -7656,6 +7741,7 @@ "wasm32" ], "dev": true, + "license": "MIT", "optional": true, "dependencies": { "@napi-rs/wasm-runtime": "^1.1.1" @@ -7672,6 +7758,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -7688,6 +7775,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -7710,6 +7798,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -7723,6 +7812,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -7749,6 +7839,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -7762,6 +7853,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -7775,6 +7867,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -7788,6 +7881,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -7801,6 +7895,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -7814,6 +7909,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -7827,6 +7923,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -7840,6 +7937,7 @@ "loong64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -7853,6 +7951,7 @@ "loong64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -7866,6 +7965,7 @@ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -7879,6 +7979,7 @@ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -7892,6 +7993,7 @@ "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -7905,6 +8007,7 @@ "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -7918,6 +8021,7 @@ "s390x" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -7931,6 +8035,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -7944,6 +8049,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -7957,6 +8063,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openbsd" @@ -7970,6 +8077,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openharmony" @@ -7983,6 +8091,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -7996,6 +8105,7 @@ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -8009,6 +8119,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -8022,6 +8133,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -8040,13 +8152,13 @@ "dev": true }, "node_modules/@schematics/angular": { - "version": "21.2.14", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.2.14.tgz", - "integrity": "sha512-rIEdtNTdCCTwuo7B4tMoq5qmbLXdBgmW6Ays1hyno//4OE+HFtvlWZd+hl6KceEyN00IcZ2HRaPnfd71E1JnoA==", + "version": "21.2.13", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.2.13.tgz", + "integrity": "sha512-e5guslSLKbb3PJ6gUuVqM+V9xgn68cJkG1IyBohho34shbpOeoWW2eYdWQQjxvn0KUdgEhYSRBluBamCHngaUA==", "license": "MIT", "dependencies": { - "@angular-devkit/core": "21.2.14", - "@angular-devkit/schematics": "21.2.14", + "@angular-devkit/core": "21.2.13", + "@angular-devkit/schematics": "21.2.13", "jsonc-parser": "3.3.1" }, "engines": { @@ -8187,9 +8299,9 @@ } }, "node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/types": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.61.0.tgz", - "integrity": "sha512-9QTQpZ5Iin4CdIodfbDQFSeiSJKidgYJYug1P9CC2xWgUTvlmixViqDZNciMjwLBZyJnG4tGmPl97rVAFb1AJg==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.60.1.tgz", + "integrity": "sha512-4h0tY8ppCkdCzcrl2YM5M3my0xsE1Tf8om3owEu5oPWmXwkKRmk0j0LGDzYBGUcAlesEbxBhazqu/K4cu3Ug7w==", "dev": true, "license": "MIT", "engines": { @@ -8491,17 +8603,17 @@ } }, "node_modules/@tiptap/extensions": { - "version": "3.26.0", - "resolved": "https://registry.npmjs.org/@tiptap/extensions/-/extensions-3.26.0.tgz", - "integrity": "sha512-4wajuqnO2X0+LVvsBjW/xk3/tmdb16bNL939QhicAay4YYqXITeV2v3XJsryzmG4L5GkK1yLxvRGk4aLoxWrnA==", + "version": "3.23.6", + "resolved": "https://registry.npmjs.org/@tiptap/extensions/-/extensions-3.23.6.tgz", + "integrity": "sha512-X09/Db1teB+ifXzDGVVFmOeQRx7wTAayE9/280spxpsHkHZvJ5bHRvWIzUzviMIjbBz+NPDIKYPK7gMfh9iaig==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "3.26.0", - "@tiptap/pm": "3.26.0" + "@tiptap/core": "3.23.6", + "@tiptap/pm": "3.23.6" } }, "node_modules/@tiptap/pm": { @@ -8638,10 +8750,11 @@ } }, "node_modules/@tybys/wasm-util": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", - "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", + "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "tslib": "^2.4.0" @@ -8850,9 +8963,9 @@ } }, "node_modules/@types/jquery": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-4.0.1.tgz", - "integrity": "sha512-9a59A/tycXgYuPABcp6/3spSShn0NT2UOM4EfHvMumjYi4lJWTsK5SZWjhx3yRm9IHGCeWXdV2YfNsrWrft/CA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-4.0.0.tgz", + "integrity": "sha512-Z+to+A2VkaHq1DfI2oSwsoCdhCHMpTSgjWzNcbNlRGYzksDBpPUgEcAL+RQjOBJRaLoEAOHXxqDGBVP+BblBwg==", "dev": true, "license": "MIT" }, @@ -8928,9 +9041,9 @@ "dev": true }, "node_modules/@types/react": { - "version": "19.2.17", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.17.tgz", - "integrity": "sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==", + "version": "19.2.16", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.16.tgz", + "integrity": "sha512-esJiCAnl0kfpNdE69f3So4WJUXy95dLZydX0KwK46riIHDzHM7O9Vtf9xCHW0PXIqvgqNrswl522kA/5yx+F4w==", "dev": true, "license": "MIT", "dependencies": { @@ -9352,16 +9465,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.61.0.tgz", - "integrity": "sha512-3bzFt7ImFMW/jVYwJamDoe/dMOdFLSC6pom6rRjdh4SZJEYupyMzem8e7vKZLclLfpHjlwSAXOUxtKxGXUiLqA==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.60.1.tgz", + "integrity": "sha512-h2MPBLoNtjc3qZWfY3Tl51yPorQ2McHn8pJfcMNTcIvrrZrr90Ykffit0yjrPFWQcRcUxzH20+6OcVdW4yHtUg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.61.0", - "@typescript-eslint/types": "8.61.0", - "@typescript-eslint/typescript-estree": "8.61.0" + "@typescript-eslint/scope-manager": "8.60.1", + "@typescript-eslint/types": "8.60.1", + "@typescript-eslint/typescript-estree": "8.60.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -9376,14 +9489,14 @@ } }, "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/project-service": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.61.0.tgz", - "integrity": "sha512-DV42F7MLJO6Rax7SK1yg43tcnEfGUrurSpSxKuVX+a3RCTzBlH3fuxprrOJXKCJGAaw82xXocikJ0uQaqwXgGA==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.60.1.tgz", + "integrity": "sha512-eXkTH2bxmXlqD1RnOPmLZ9ZM9D3VwSx04JOwBnP9RQ+yUA5a2Mu7SfW8uaV2Aon53NJzZlZYuX7tn91Izf+xaw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.61.0", - "@typescript-eslint/types": "^8.61.0", + "@typescript-eslint/tsconfig-utils": "^8.60.1", + "@typescript-eslint/types": "^8.60.1", "debug": "^4.4.3" }, "engines": { @@ -9398,14 +9511,14 @@ } }, "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.61.0.tgz", - "integrity": "sha512-IWdXFHFSb6mlC3HPc7QsLDm5zYEbUla6trDEHf32D3/dnuUyXd87plScSNXSbm0/RxMvObpI17sv/EDTGrGZkA==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.60.1.tgz", + "integrity": "sha512-gvI5OQoptnxQnchOirukCuQ55svJSTuD/4k5+pC267xyBtYry748R9/c3tYUzb/iE6RZfllRz2lVulLCHkTm4w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.61.0", - "@typescript-eslint/visitor-keys": "8.61.0" + "@typescript-eslint/types": "8.60.1", + "@typescript-eslint/visitor-keys": "8.60.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -9416,9 +9529,9 @@ } }, "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.61.0.tgz", - "integrity": "sha512-O5Amvdv9ztMpxpf+vmFULGG78IE6Qwdr3bCGvqwG4nwc9H2qXkOYJJnRbRHyMkQTjv1d03olqwwwzHLMqpFePQ==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.60.1.tgz", + "integrity": "sha512-nh8w4qAteiKuZu3pSSzG/yGKpw0OlkrKnzFmbVRenKaD4qc+7i1GrmZaLVkr8rk4uipiPGMOW4YsM6WmKZ5CvA==", "dev": true, "license": "MIT", "engines": { @@ -9433,9 +9546,9 @@ } }, "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.61.0.tgz", - "integrity": "sha512-9QTQpZ5Iin4CdIodfbDQFSeiSJKidgYJYug1P9CC2xWgUTvlmixViqDZNciMjwLBZyJnG4tGmPl97rVAFb1AJg==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.60.1.tgz", + "integrity": "sha512-4h0tY8ppCkdCzcrl2YM5M3my0xsE1Tf8om3owEu5oPWmXwkKRmk0j0LGDzYBGUcAlesEbxBhazqu/K4cu3Ug7w==", "dev": true, "license": "MIT", "engines": { @@ -9447,16 +9560,16 @@ } }, "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.61.0.tgz", - "integrity": "sha512-42zatd5qSvvcV1JdDBCLxYRznvP4eIHpPoZXdkPFnAmanA4FuZ5dibSnCBggY8hQnqajPpoGjXFdZ7fIJKQnlA==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.60.1.tgz", + "integrity": "sha512-alpRkfG8hlVE5kdJW2GkfgDgXxold3e8e4l6EnmhRmRLbekgAPCCGDVD++sABy9FcgPFroq+uFcCSM1vR57Cew==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.61.0", - "@typescript-eslint/tsconfig-utils": "8.61.0", - "@typescript-eslint/types": "8.61.0", - "@typescript-eslint/visitor-keys": "8.61.0", + "@typescript-eslint/project-service": "8.60.1", + "@typescript-eslint/tsconfig-utils": "8.60.1", + "@typescript-eslint/types": "8.60.1", + "@typescript-eslint/visitor-keys": "8.60.1", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", @@ -9475,13 +9588,13 @@ } }, "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.61.0.tgz", - "integrity": "sha512-QVLZu3ZPQEE+HICQyAMZ2yLQhxf0meY/wx6Hx14YcTNj13JB3qHlX3lJ02L3fLGHgERRH71kvYDwiXIguT3AjQ==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.60.1.tgz", + "integrity": "sha512-EbGRQg4FhrmwLodl+t3JNAnXHWVr9Vp+Zl1QBZVPY4ByfkzIT8cX3K6QWODHtkIZqqJVEWvhHSx3v5PDHsaQag==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.61.0", + "@typescript-eslint/types": "8.60.1", "eslint-visitor-keys": "^5.0.0" }, "engines": { @@ -10786,9 +10899,9 @@ } }, "node_modules/baseline-browser-mapping": { - "version": "2.10.34", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.34.tgz", - "integrity": "sha512-IMDedajPifLnHNY0X9n8hKxRTQ6/eTHwr5bDo04WnuqxyKw6LYtQywCuuqPZwhl3aBXMvQpJov42GLCwRRdQzw==", + "version": "2.10.33", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.33.tgz", + "integrity": "sha512-bA6+tcSLpz2tIEdDXZPpPTIuxBcC4+w6SieaYyfigIa4h8GlFxbA17v22Vx3JUtuZQj9SgOsnbK+aTBzyDyEuw==", "license": "Apache-2.0", "bin": { "baseline-browser-mapping": "dist/cli.cjs" @@ -11157,9 +11270,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001797", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001797.tgz", - "integrity": "sha512-l8xKG+gwAIExZGl9FrF7KUwuOmk6wbEPC9Xoy/RtnWv1XG0Q4LFlagaLpUv3Kiza3W/wm27zy0yWJEieYKAP6w==", + "version": "1.0.30001793", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001793.tgz", + "integrity": "sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==", "funding": [ { "type": "opencollective", @@ -12345,9 +12458,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.369", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.369.tgz", - "integrity": "sha512-XM22K9FNaaCOvMMrBn1caIc8v0g6+pKt660ZbfQqUZvfil0hEzr8ZoiY7VcSLGM3L/x3rz5PqZrk+bKOOmVM9w==", + "version": "1.5.367", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.367.tgz", + "integrity": "sha512-4Mk/mrynCNQ+atY40D3UpmhLWB6AHMbYMlIrPhHcMF6x0L7O0b052FCAsxw1LlaR++UFuNg3D/A6XCuGDa0guQ==", "license": "ISC" }, "node_modules/emoji-mart": { @@ -14247,9 +14360,10 @@ } }, "node_modules/hono": { - "version": "4.12.14", - "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.14.tgz", - "integrity": "sha512-am5zfg3yu6sqn5yjKBNqhnTX7Cv+m00ox+7jbaKkrLMRJ4rAdldd1xPd/JzbBWspqaQv6RSTrgFN95EsfhC+7w==", + "version": "4.12.23", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.23.tgz", + "integrity": "sha512-eIaZ9qDgu7XV0pxOCrg7/WhnQ6Ivm22UcxhXx/A3dcbqbbYgBEkc6e/J/s7j2tS96zoB0S9VBdLwQNCWwUo4LA==", + "license": "MIT", "engines": { "node": ">=16.9.0" } @@ -21347,16 +21461,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.61.0.tgz", - "integrity": "sha512-8y31Rd0eGTrDKqhy6vT0HtzhN+YLjQizwX3aA3hPXP/ynSfnrBXcQY5IzsP9/DM7+klX4IUncZZjkchP0z+rUw==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.60.1.tgz", + "integrity": "sha512-6m5hkkRAp8lKvhVpcprAIn5KkehQEh+47oHH2VGnExEh7dhNxXlg6GPAOIu6TxbVQxhebrJDvjl3020ooiWCMA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.61.0", - "@typescript-eslint/parser": "8.61.0", - "@typescript-eslint/typescript-estree": "8.61.0", - "@typescript-eslint/utils": "8.61.0" + "@typescript-eslint/eslint-plugin": "8.60.1", + "@typescript-eslint/parser": "8.60.1", + "@typescript-eslint/typescript-estree": "8.60.1", + "@typescript-eslint/utils": "8.60.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -21371,17 +21485,17 @@ } }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.61.0.tgz", - "integrity": "sha512-bFNvl9ZczlVb+wR2Akszf3gHfKVj/8WanXaGJ3UstTA7brNKg0cNdk6X1Psu5V7MZ2oQtzZKOEzIUehaoxbDGw==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.60.1.tgz", + "integrity": "sha512-JQ4S5GB0tfjO8BuJ4fcX+HodkzJjYBV+7OJ+wLygaX7OGQ7FudyHL4NSCA6ob+w3Yn+5MkKIozOwQhXeM7opVg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.61.0", - "@typescript-eslint/type-utils": "8.61.0", - "@typescript-eslint/utils": "8.61.0", - "@typescript-eslint/visitor-keys": "8.61.0", + "@typescript-eslint/scope-manager": "8.60.1", + "@typescript-eslint/type-utils": "8.60.1", + "@typescript-eslint/utils": "8.60.1", + "@typescript-eslint/visitor-keys": "8.60.1", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" @@ -21394,22 +21508,22 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.61.0", + "@typescript-eslint/parser": "^8.60.1", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/parser": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.61.0.tgz", - "integrity": "sha512-5B7PfA2e1NQGCnDHd/0lW7W3gvp3d59Ryw54FYO8Uswxo9f6ikw3AZV+Xj/TvpImmpsiYyUqAfhC6kJID1jF6w==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.60.1.tgz", + "integrity": "sha512-A0M6ua6H252bVjPvvtSgl2QA4+ET9S5Mtkb2GDyTxIhH/C4qDItT7RQNO5PhMC6NXGYXOR9dIalcDDgBKT7oFA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.61.0", - "@typescript-eslint/types": "8.61.0", - "@typescript-eslint/typescript-estree": "8.61.0", - "@typescript-eslint/visitor-keys": "8.61.0", + "@typescript-eslint/scope-manager": "8.60.1", + "@typescript-eslint/types": "8.60.1", + "@typescript-eslint/typescript-estree": "8.60.1", + "@typescript-eslint/visitor-keys": "8.60.1", "debug": "^4.4.3" }, "engines": { @@ -21425,14 +21539,14 @@ } }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/project-service": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.61.0.tgz", - "integrity": "sha512-DV42F7MLJO6Rax7SK1yg43tcnEfGUrurSpSxKuVX+a3RCTzBlH3fuxprrOJXKCJGAaw82xXocikJ0uQaqwXgGA==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.60.1.tgz", + "integrity": "sha512-eXkTH2bxmXlqD1RnOPmLZ9ZM9D3VwSx04JOwBnP9RQ+yUA5a2Mu7SfW8uaV2Aon53NJzZlZYuX7tn91Izf+xaw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.61.0", - "@typescript-eslint/types": "^8.61.0", + "@typescript-eslint/tsconfig-utils": "^8.60.1", + "@typescript-eslint/types": "^8.60.1", "debug": "^4.4.3" }, "engines": { @@ -21447,14 +21561,14 @@ } }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/scope-manager": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.61.0.tgz", - "integrity": "sha512-IWdXFHFSb6mlC3HPc7QsLDm5zYEbUla6trDEHf32D3/dnuUyXd87plScSNXSbm0/RxMvObpI17sv/EDTGrGZkA==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.60.1.tgz", + "integrity": "sha512-gvI5OQoptnxQnchOirukCuQ55svJSTuD/4k5+pC267xyBtYry748R9/c3tYUzb/iE6RZfllRz2lVulLCHkTm4w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.61.0", - "@typescript-eslint/visitor-keys": "8.61.0" + "@typescript-eslint/types": "8.60.1", + "@typescript-eslint/visitor-keys": "8.60.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -21465,9 +21579,9 @@ } }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.61.0.tgz", - "integrity": "sha512-O5Amvdv9ztMpxpf+vmFULGG78IE6Qwdr3bCGvqwG4nwc9H2qXkOYJJnRbRHyMkQTjv1d03olqwwwzHLMqpFePQ==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.60.1.tgz", + "integrity": "sha512-nh8w4qAteiKuZu3pSSzG/yGKpw0OlkrKnzFmbVRenKaD4qc+7i1GrmZaLVkr8rk4uipiPGMOW4YsM6WmKZ5CvA==", "dev": true, "license": "MIT", "engines": { @@ -21482,15 +21596,15 @@ } }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/type-utils": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.61.0.tgz", - "integrity": "sha512-TuBiQYIkd97yBfInHCTKVYMbX4kvEmpOEuixIuzCU9p8BGT1SfyyO0d0IfDMbPIHcjn/hWnusUX5e8v5Xg+X8A==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.60.1.tgz", + "integrity": "sha512-sdwTrpjosW7ANQYJ39ZBF1ZyEMEGVB2UsikrserVM/30a/F1dTLnu9bGxEdosugyu5caigjLrR2qiD11asjI1A==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.61.0", - "@typescript-eslint/typescript-estree": "8.61.0", - "@typescript-eslint/utils": "8.61.0", + "@typescript-eslint/types": "8.60.1", + "@typescript-eslint/typescript-estree": "8.60.1", + "@typescript-eslint/utils": "8.60.1", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, @@ -21507,9 +21621,9 @@ } }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/types": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.61.0.tgz", - "integrity": "sha512-9QTQpZ5Iin4CdIodfbDQFSeiSJKidgYJYug1P9CC2xWgUTvlmixViqDZNciMjwLBZyJnG4tGmPl97rVAFb1AJg==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.60.1.tgz", + "integrity": "sha512-4h0tY8ppCkdCzcrl2YM5M3my0xsE1Tf8om3owEu5oPWmXwkKRmk0j0LGDzYBGUcAlesEbxBhazqu/K4cu3Ug7w==", "dev": true, "license": "MIT", "engines": { @@ -21521,16 +21635,16 @@ } }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.61.0.tgz", - "integrity": "sha512-42zatd5qSvvcV1JdDBCLxYRznvP4eIHpPoZXdkPFnAmanA4FuZ5dibSnCBggY8hQnqajPpoGjXFdZ7fIJKQnlA==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.60.1.tgz", + "integrity": "sha512-alpRkfG8hlVE5kdJW2GkfgDgXxold3e8e4l6EnmhRmRLbekgAPCCGDVD++sABy9FcgPFroq+uFcCSM1vR57Cew==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.61.0", - "@typescript-eslint/tsconfig-utils": "8.61.0", - "@typescript-eslint/types": "8.61.0", - "@typescript-eslint/visitor-keys": "8.61.0", + "@typescript-eslint/project-service": "8.60.1", + "@typescript-eslint/tsconfig-utils": "8.60.1", + "@typescript-eslint/types": "8.60.1", + "@typescript-eslint/visitor-keys": "8.60.1", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", @@ -21549,13 +21663,13 @@ } }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.61.0.tgz", - "integrity": "sha512-QVLZu3ZPQEE+HICQyAMZ2yLQhxf0meY/wx6Hx14YcTNj13JB3qHlX3lJ02L3fLGHgERRH71kvYDwiXIguT3AjQ==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.60.1.tgz", + "integrity": "sha512-EbGRQg4FhrmwLodl+t3JNAnXHWVr9Vp+Zl1QBZVPY4ByfkzIT8cX3K6QWODHtkIZqqJVEWvhHSx3v5PDHsaQag==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.61.0", + "@typescript-eslint/types": "8.60.1", "eslint-visitor-keys": "^5.0.0" }, "engines": { @@ -22970,14969 +23084,5 @@ "zod": "^3.25.0 || ^4.0.0" } } - }, - "dependencies": { - "@adobe/css-tools": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.5.0.tgz", - "integrity": "sha512-6OzddxPio9UiWTCemp4N8cYLV2ZN1ncRnV1cVGtve7dhPOtRkleRyx32GQCYSwDYgaHU3USMm84tNsvKzRCa1Q==", - "dev": true - }, - "@algolia/abtesting": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.14.1.tgz", - "integrity": "sha512-Dkj0BgPiLAaim9sbQ97UKDFHJE/880wgStAM18U++NaJ/2Cws34J5731ovJifr6E3Pv4T2CqvMXf8qLCC417Ew==", - "requires": { - "@algolia/client-common": "5.48.1", - "@algolia/requester-browser-xhr": "5.48.1", - "@algolia/requester-fetch": "5.48.1", - "@algolia/requester-node-http": "5.48.1" - } - }, - "@algolia/client-abtesting": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.48.1.tgz", - "integrity": "sha512-LV5qCJdj+/m9I+Aj91o+glYszrzd7CX6NgKaYdTOj4+tUYfbS62pwYgUfZprYNayhkQpVFcrW8x8ZlIHpS23Vw==", - "requires": { - "@algolia/client-common": "5.48.1", - "@algolia/requester-browser-xhr": "5.48.1", - "@algolia/requester-fetch": "5.48.1", - "@algolia/requester-node-http": "5.48.1" - } - }, - "@algolia/client-analytics": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.48.1.tgz", - "integrity": "sha512-/AVoMqHhPm14CcHq7mwB+bUJbfCv+jrxlNvRjXAuO+TQa+V37N8k1b0ijaRBPdmSjULMd8KtJbQyUyabXOu6Kg==", - "requires": { - "@algolia/client-common": "5.48.1", - "@algolia/requester-browser-xhr": "5.48.1", - "@algolia/requester-fetch": "5.48.1", - "@algolia/requester-node-http": "5.48.1" - } - }, - "@algolia/client-common": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.48.1.tgz", - "integrity": "sha512-VXO+qu2Ep6ota28ktvBm3sG53wUHS2n7bgLWmce5jTskdlCD0/JrV4tnBm1l7qpla1CeoQb8D7ShFhad+UoSOw==" - }, - "@algolia/client-insights": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.48.1.tgz", - "integrity": "sha512-zl+Qyb0nLg+Y5YvKp1Ij+u9OaPaKg2/EPzTwKNiVyOHnQJlFxmXyUZL1EInczAZsEY8hVpPCLtNfhMhfxluXKQ==", - "requires": { - "@algolia/client-common": "5.48.1", - "@algolia/requester-browser-xhr": "5.48.1", - "@algolia/requester-fetch": "5.48.1", - "@algolia/requester-node-http": "5.48.1" - } - }, - "@algolia/client-personalization": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.48.1.tgz", - "integrity": "sha512-r89Qf9Oo9mKWQXumRu/1LtvVJAmEDpn8mHZMc485pRfQUMAwSSrsnaw1tQ3sszqzEgAr1c7rw6fjBI+zrAXTOw==", - "requires": { - "@algolia/client-common": "5.48.1", - "@algolia/requester-browser-xhr": "5.48.1", - "@algolia/requester-fetch": "5.48.1", - "@algolia/requester-node-http": "5.48.1" - } - }, - "@algolia/client-query-suggestions": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.48.1.tgz", - "integrity": "sha512-TPKNPKfghKG/bMSc7mQYD9HxHRUkBZA4q1PEmHgICaSeHQscGqL4wBrKkhfPlDV1uYBKW02pbFMUhsOt7p4ZpA==", - "requires": { - "@algolia/client-common": "5.48.1", - "@algolia/requester-browser-xhr": "5.48.1", - "@algolia/requester-fetch": "5.48.1", - "@algolia/requester-node-http": "5.48.1" - } - }, - "@algolia/client-search": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.48.1.tgz", - "integrity": "sha512-4Fu7dnzQyQmMFknYwTiN/HxPbH4DyxvQ1m+IxpPp5oslOgz8m6PG5qhiGbqJzH4HiT1I58ecDiCAC716UyVA8Q==", - "requires": { - "@algolia/client-common": "5.48.1", - "@algolia/requester-browser-xhr": "5.48.1", - "@algolia/requester-fetch": "5.48.1", - "@algolia/requester-node-http": "5.48.1" - } - }, - "@algolia/ingestion": { - "version": "1.48.1", - "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.48.1.tgz", - "integrity": "sha512-/RFq3TqtXDUUawwic/A9xylA2P3LDMO8dNhphHAUOU51b1ZLHrmZ6YYJm3df1APz7xLY1aht6okCQf+/vmrV9w==", - "requires": { - "@algolia/client-common": "5.48.1", - "@algolia/requester-browser-xhr": "5.48.1", - "@algolia/requester-fetch": "5.48.1", - "@algolia/requester-node-http": "5.48.1" - } - }, - "@algolia/monitoring": { - "version": "1.48.1", - "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.48.1.tgz", - "integrity": "sha512-Of0jTeAZRyRhC7XzDSjJef0aBkgRcvRAaw0ooYRlOw57APii7lZdq+layuNdeL72BRq1snaJhoMMwkmLIpJScw==", - "requires": { - "@algolia/client-common": "5.48.1", - "@algolia/requester-browser-xhr": "5.48.1", - "@algolia/requester-fetch": "5.48.1", - "@algolia/requester-node-http": "5.48.1" - } - }, - "@algolia/recommend": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.48.1.tgz", - "integrity": "sha512-bE7JcpFXzxF5zHwj/vkl2eiCBvyR1zQ7aoUdO+GDXxGp0DGw7nI0p8Xj6u8VmRQ+RDuPcICFQcCwRIJT5tDJFw==", - "requires": { - "@algolia/client-common": "5.48.1", - "@algolia/requester-browser-xhr": "5.48.1", - "@algolia/requester-fetch": "5.48.1", - "@algolia/requester-node-http": "5.48.1" - } - }, - "@algolia/requester-browser-xhr": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.48.1.tgz", - "integrity": "sha512-MK3wZ2koLDnvH/AmqIF1EKbJlhRS5j74OZGkLpxI4rYvNi9Jn/C7vb5DytBnQ4KUWts7QsmbdwHkxY5txQHXVw==", - "requires": { - "@algolia/client-common": "5.48.1" - } - }, - "@algolia/requester-fetch": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.48.1.tgz", - "integrity": "sha512-2oDT43Y5HWRSIQMPQI4tA/W+TN/N2tjggZCUsqQV440kxzzoPGsvv9QP1GhQ4CoDa+yn6ygUsGp6Dr+a9sPPSg==", - "requires": { - "@algolia/client-common": "5.48.1" - } - }, - "@algolia/requester-node-http": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.48.1.tgz", - "integrity": "sha512-xcaCqbhupVWhuBP1nwbk1XNvwrGljozutEiLx06mvqDf3o8cHyEgQSHS4fKJM+UAggaWVnnFW+Nne5aQ8SUJXg==", - "requires": { - "@algolia/client-common": "5.48.1" - } - }, - "@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "@angular-builders/common": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@angular-builders/common/-/common-5.0.3.tgz", - "integrity": "sha512-Dro3574mu4/xqmjdA3159+TXDhgTbIJpEY/iBETSKUvHJiCgHel+R3eT105RpHN5o7NaD2rau5Zk2wuZqOk35Q==", - "dev": true, - "requires": { - "@angular-devkit/core": "^21.0.0", - "ts-node": "^10.0.0", - "tsconfig-paths": "^4.2.0" - } - }, - "@angular-builders/custom-esbuild": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@angular-builders/custom-esbuild/-/custom-esbuild-21.0.3.tgz", - "integrity": "sha512-Q56JTNVrmdm2XJEHu3HWsTcxXMREYZ2ROnuaUs7ZV02Tu8E9Y8ejk8LCsRFNe/LKciUUMzaM6B78nSkXrkkNjQ==", - "dev": true, - "requires": { - "@angular-builders/common": "5.0.3", - "@angular-devkit/architect": ">=0.2100.0 < 0.2200.0", - "@angular-devkit/core": "^21.0.0", - "@angular/build": "^21.0.0" - } - }, - "@angular-devkit/architect": { - "version": "0.2102.14", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.14.tgz", - "integrity": "sha512-0+vjVsCkMyJdVjz5XkPW+Bdf/9TI8V2voomx/+o0o+oOaqqiEhptQWFnaIlLr7HasjB0LxXK5P9L0oQ61vxj8Q==", - "requires": { - "@angular-devkit/core": "21.2.14", - "rxjs": "7.8.2" - } - }, - "@angular-devkit/build-angular": { - "version": "21.2.14", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-21.2.14.tgz", - "integrity": "sha512-EgKDd5pYctnsj3yYAZt3vivodH+r61X0ivWbZljcwT7OO4CEDyTR7Vtu4TUSr+tlplz5x2PYsWNr1nqyF0hufw==", - "dev": true, - "requires": { - "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.2102.14", - "@angular-devkit/build-webpack": "0.2102.14", - "@angular-devkit/core": "21.2.14", - "@angular/build": "21.2.14", - "@babel/core": "7.29.0", - "@babel/generator": "7.29.1", - "@babel/helper-annotate-as-pure": "7.27.3", - "@babel/helper-split-export-declaration": "7.24.7", - "@babel/plugin-transform-async-generator-functions": "7.29.0", - "@babel/plugin-transform-async-to-generator": "7.28.6", - "@babel/plugin-transform-runtime": "7.29.0", - "@babel/preset-env": "7.29.2", - "@babel/runtime": "7.29.2", - "@discoveryjs/json-ext": "0.6.3", - "@ngtools/webpack": "21.2.14", - "ansi-colors": "4.1.3", - "autoprefixer": "10.4.27", - "babel-loader": "10.0.0", - "browserslist": "^4.26.0", - "copy-webpack-plugin": "14.0.0", - "css-loader": "7.1.3", - "esbuild": "0.27.3", - "esbuild-wasm": "0.27.3", - "http-proxy-middleware": "3.0.5", - "istanbul-lib-instrument": "6.0.3", - "jsonc-parser": "3.3.1", - "karma-source-map-support": "1.4.0", - "less": "4.4.2", - "less-loader": "12.3.1", - "license-webpack-plugin": "4.0.2", - "loader-utils": "3.3.1", - "mini-css-extract-plugin": "2.10.0", - "open": "11.0.0", - "ora": "9.3.0", - "picomatch": "4.0.4", - "piscina": "5.1.4", - "postcss": "8.5.12", - "postcss-loader": "8.2.0", - "resolve-url-loader": "5.0.0", - "rxjs": "7.8.2", - "sass": "1.97.3", - "sass-loader": "16.0.7", - "semver": "7.7.4", - "source-map-loader": "5.0.0", - "source-map-support": "0.5.21", - "terser": "5.46.0", - "tinyglobby": "0.2.15", - "tree-kill": "1.2.2", - "tslib": "2.8.1", - "webpack": "5.105.2", - "webpack-dev-middleware": "7.4.5", - "webpack-dev-server": "5.2.3", - "webpack-merge": "6.0.1", - "webpack-subresource-integrity": "5.1.0" - }, - "dependencies": { - "@discoveryjs/json-ext": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz", - "integrity": "sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==", - "dev": true - }, - "autoprefixer": { - "version": "10.4.27", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.27.tgz", - "integrity": "sha512-NP9APE+tO+LuJGn7/9+cohklunJsXWiaWEfV3si4Gi/XHDwVNgkwr1J3RQYFIvPy76GmJ9/bW8vyoU1LcxwKHA==", - "dev": true, - "requires": { - "browserslist": "^4.28.1", - "caniuse-lite": "^1.0.30001774", - "fraction.js": "^5.3.4", - "picocolors": "^1.1.1", - "postcss-value-parser": "^4.2.0" - } - }, - "is-wsl": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", - "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", - "dev": true, - "requires": { - "is-inside-container": "^1.0.0" - } - }, - "istanbul-lib-instrument": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", - "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", - "dev": true, - "requires": { - "@babel/core": "^7.23.9", - "@babel/parser": "^7.23.9", - "@istanbuljs/schema": "^0.1.3", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" - } - }, - "open": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/open/-/open-11.0.0.tgz", - "integrity": "sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw==", - "dev": true, - "requires": { - "default-browser": "^5.4.0", - "define-lazy-prop": "^3.0.0", - "is-in-ssh": "^1.0.0", - "is-inside-container": "^1.0.0", - "powershell-utils": "^0.1.0", - "wsl-utils": "^0.3.0" - } - }, - "picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", - "dev": true - }, - "wsl-utils": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.3.1.tgz", - "integrity": "sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg==", - "dev": true, - "requires": { - "is-wsl": "^3.1.0", - "powershell-utils": "^0.1.0" - } - } - } - }, - "@angular-devkit/build-webpack": { - "version": "0.2102.14", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.2102.14.tgz", - "integrity": "sha512-UjZzypzYLYaWMVplu9CYpx0gxKYu9+V3GiOrtlshInuGMZe9uQy7wRgiFUUKClRSMf8CCT1jfCof9gFwqYCRuQ==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.2102.14", - "rxjs": "7.8.2" - } - }, - "@angular-devkit/core": { - "version": "21.2.14", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.14.tgz", - "integrity": "sha512-RSOWXB9bFc2nwRWMxbIT0RbSNFUrwfBo4N5MNxbyQ69Ndc0gVm3h+3ArHv0qotH4d+pJYbm5ttXu8YqR2kc0CA==", - "requires": { - "ajv": "8.18.0", - "ajv-formats": "3.0.1", - "jsonc-parser": "3.3.1", - "picomatch": "4.0.4", - "rxjs": "7.8.2", - "source-map": "0.7.6" - }, - "dependencies": { - "ajv": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", - "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", - "requires": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - } - }, - "ajv-formats": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", - "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", - "requires": { - "ajv": "^8.0.0" - } - }, - "picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==" - } - } - }, - "@angular-devkit/schematics": { - "version": "21.2.14", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.14.tgz", - "integrity": "sha512-KMJlQSBEzI4+Cy1Zh72gmGQNN2I1vY+nj9CoRcZPBIi1si+0ZAc49XT85eYl+eQumNTVQviUG7LQqgLDAHml+g==", - "requires": { - "@angular-devkit/core": "21.2.14", - "jsonc-parser": "3.3.1", - "magic-string": "0.30.21", - "ora": "9.3.0", - "rxjs": "7.8.2" - } - }, - "@angular-eslint/builder": { - "version": "21.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-21.4.0.tgz", - "integrity": "sha512-3kgGmrVaCYbLtDjC8g4BmMBbdz4thsOB8/NYly8JtXM8EuDZEk5Pz6VTRpJR02ARprwayraTTmhyvq6OGBlQ9w==", - "dev": true, - "requires": { - "@angular-devkit/architect": ">= 0.2100.0 < 0.2200.0", - "@angular-devkit/core": ">= 21.0.0 < 22.0.0" - } - }, - "@angular-eslint/bundled-angular-compiler": { - "version": "21.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-21.4.0.tgz", - "integrity": "sha512-/3H4BPbQ1BHJkkrUsfusZtmHc+qiFWBBZ9UDPWah4xZMjflexOK9U4GYeH7nMjcuyqFnIlMMeJJNwNLGt/hmdg==", - "dev": true - }, - "@angular-eslint/eslint-plugin": { - "version": "21.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-21.4.0.tgz", - "integrity": "sha512-mow2DMj+xBvGl5t7jzC34R8YfbHbaGNyCNFzpovtl9qc0JbuqLyg6htmt8xb05f8ZjATOr4nz0ESt6HV4c51hw==", - "dev": true, - "requires": { - "@angular-eslint/bundled-angular-compiler": "21.4.0", - "@angular-eslint/utils": "21.4.0", - "ts-api-utils": "^2.1.0" - } - }, - "@angular-eslint/eslint-plugin-template": { - "version": "21.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-21.4.0.tgz", - "integrity": "sha512-sJEHx2WYnvOgPpzP1eHnUdRS06zgKmRxbiIR0JiCcaSen5iv1HlsMieXy//FS9TtNW+abHOy4UtDuGuSPflPFA==", - "dev": true, - "requires": { - "@angular-eslint/bundled-angular-compiler": "21.4.0", - "@angular-eslint/utils": "21.4.0", - "aria-query": "5.3.2", - "axobject-query": "4.1.0" - } - }, - "@angular-eslint/schematics": { - "version": "21.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-21.4.0.tgz", - "integrity": "sha512-crD6Hfxs7x5bN9FCqTZI7uVSiGvprfCS3MCPOpyIQl87bRr/9aNhnicJ3ROUHv+2A713BgPHIgiCII/bxzrfPw==", - "dev": true, - "requires": { - "@angular-devkit/core": ">= 21.0.0 < 22.0.0", - "@angular-devkit/schematics": ">= 21.0.0 < 22.0.0", - "@angular-eslint/eslint-plugin": "21.4.0", - "@angular-eslint/eslint-plugin-template": "21.4.0", - "ignore": "7.0.5", - "semver": "7.7.4", - "strip-json-comments": "3.1.1" - }, - "dependencies": { - "ignore": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", - "dev": true - } - } - }, - "@angular-eslint/template-parser": { - "version": "21.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-21.4.0.tgz", - "integrity": "sha512-BaUSLSyS+43fzDoJkTMkGqNdCXq3fGnUZsfXTmrlZPJf5AYFbgAlAPGZXDJyoNWw43fux+DafdlrlKcYUSgSIw==", - "dev": true, - "requires": { - "@angular-eslint/bundled-angular-compiler": "21.4.0", - "eslint-scope": "9.1.2" - } - }, - "@angular-eslint/utils": { - "version": "21.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-21.4.0.tgz", - "integrity": "sha512-7pi+Ga7QmdH5Ig/diau6fR5L4yubgKr9TOjdCg7OeuE/zo0O3osTCNT6JOodzS/iQM1kSCJFDoIBKFeUOttiNw==", - "dev": true, - "requires": { - "@angular-eslint/bundled-angular-compiler": "21.4.0" - } - }, - "@angular/animations": { - "version": "21.2.16", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-21.2.16.tgz", - "integrity": "sha512-YPhph/OC1A0vkT95XZW6lXMNmi5ly91JeXi+5yeG8CCxfqscVfRNPsYbRWjSueO0cQT2HJ8U1CLteQ5a1OaoHA==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/build": { - "version": "21.2.14", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.2.14.tgz", - "integrity": "sha512-l8JB326iIwum2WmbopUUFdiuYsbHchix6MH8o6F6FA7LJr8QLTvipwwbw+Jx31/RE50WkGmzsZ1fBDw/cMbmUw==", - "dev": true, - "requires": { - "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.2102.14", - "@babel/core": "7.29.0", - "@babel/helper-annotate-as-pure": "7.27.3", - "@babel/helper-split-export-declaration": "7.24.7", - "@inquirer/confirm": "5.1.21", - "@vitejs/plugin-basic-ssl": "2.1.4", - "beasties": "0.4.1", - "browserslist": "^4.26.0", - "esbuild": "0.27.3", - "https-proxy-agent": "7.0.6", - "istanbul-lib-instrument": "6.0.3", - "jsonc-parser": "3.3.1", - "listr2": "9.0.5", - "lmdb": "3.5.1", - "magic-string": "0.30.21", - "mrmime": "2.0.1", - "parse5-html-rewriting-stream": "8.0.0", - "picomatch": "4.0.4", - "piscina": "5.1.4", - "rolldown": "1.0.0-rc.4", - "sass": "1.97.3", - "semver": "7.7.4", - "source-map-support": "0.5.21", - "tinyglobby": "0.2.15", - "undici": "7.24.4", - "vite": "7.3.2", - "watchpack": "2.5.1" - }, - "dependencies": { - "istanbul-lib-instrument": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", - "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", - "dev": true, - "requires": { - "@babel/core": "^7.23.9", - "@babel/parser": "^7.23.9", - "@istanbuljs/schema": "^0.1.3", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" - } - }, - "picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", - "dev": true - } - } - }, - "@angular/cdk": { - "version": "21.2.14", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-21.2.14.tgz", - "integrity": "sha512-806REq/CLf37nEhmmd8Q+ILN8z/RVG2vk2n8YZ/4TdHpcBCi5ux4AxLbpMmduLwGPOzPagJ6ggRzE5fnX0rmcQ==", - "requires": { - "parse5": "^8.0.0", - "tslib": "^2.3.0" - }, - "dependencies": { - "entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==" - }, - "parse5": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz", - "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==", - "requires": { - "entities": "^6.0.0" - } - } - } - }, - "@angular/cli": { - "version": "21.2.14", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.2.14.tgz", - "integrity": "sha512-S8jExTjxPJILwpg2lu3DohSASVZ8DLhSNCmOe7z0qF9VskRSjC7SIQv1rq36tsJkenxuA72gjVOHZv+uSRT8HA==", - "requires": { - "@angular-devkit/architect": "0.2102.14", - "@angular-devkit/core": "21.2.14", - "@angular-devkit/schematics": "21.2.14", - "@inquirer/prompts": "7.10.1", - "@listr2/prompt-adapter-inquirer": "3.0.5", - "@modelcontextprotocol/sdk": "1.26.0", - "@schematics/angular": "21.2.14", - "@yarnpkg/lockfile": "1.1.0", - "algoliasearch": "5.48.1", - "ini": "6.0.0", - "jsonc-parser": "3.3.1", - "listr2": "9.0.5", - "npm-package-arg": "13.0.2", - "pacote": "21.3.1", - "parse5-html-rewriting-stream": "8.0.0", - "semver": "7.7.4", - "yargs": "18.0.0", - "zod": "4.3.6" - }, - "dependencies": { - "ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==" - }, - "ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" - }, - "cliui": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", - "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", - "requires": { - "string-width": "^7.2.0", - "strip-ansi": "^7.1.0", - "wrap-ansi": "^9.0.0" - } - }, - "emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==" - }, - "string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", - "requires": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - } - }, - "strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", - "requires": { - "ansi-regex": "^6.0.1" - } - }, - "wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", - "requires": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - } - }, - "yargs": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz", - "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==", - "requires": { - "cliui": "^9.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "string-width": "^7.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^22.0.0" - } - }, - "yargs-parser": { - "version": "22.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", - "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==" - } - } - }, - "@angular/common": { - "version": "21.2.16", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.2.16.tgz", - "integrity": "sha512-htHNepKzjIjkc5BQ7MKDN0bVDOfQpFr/fGUxa6irC0kFLfWt7idUTdNcxypRvjCCTuBYHkjr74fH4QKu+qvPXg==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/compiler": { - "version": "21.2.16", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.2.16.tgz", - "integrity": "sha512-hVjp93gYgNj5aRbCQUK7L+pOfdqk96lCtmSL2hOL725Pmib9NyNIrA3ISfAQHN+Qo70763WUZahOiqBBOzfAcg==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/compiler-cli": { - "version": "21.2.16", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.2.16.tgz", - "integrity": "sha512-w2ck3o+uw29AZEGK3HvOsF/ZRiPcfoq2TaDtiNjdH+svhwawt9PfMXrDbbIKF30prWzKLpT3UsCqTz1awv7Ubw==", - "requires": { - "@babel/core": "7.29.0", - "@jridgewell/sourcemap-codec": "^1.4.14", - "chokidar": "^5.0.0", - "convert-source-map": "^1.5.1", - "reflect-metadata": "^0.2.0", - "semver": "^7.0.0", - "tslib": "^2.3.0", - "yargs": "^18.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==" - }, - "ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" - }, - "chokidar": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", - "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", - "requires": { - "readdirp": "^5.0.0" - } - }, - "cliui": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", - "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", - "requires": { - "string-width": "^7.2.0", - "strip-ansi": "^7.1.0", - "wrap-ansi": "^9.0.0" - } - }, - "emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==" - }, - "readdirp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", - "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==" - }, - "string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", - "requires": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - } - }, - "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "requires": { - "ansi-regex": "^6.0.1" - } - }, - "wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", - "requires": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - } - }, - "yargs": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz", - "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==", - "requires": { - "cliui": "^9.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "string-width": "^7.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^22.0.0" - } - }, - "yargs-parser": { - "version": "22.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", - "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==" - } - } - }, - "@angular/core": { - "version": "21.2.16", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.16.tgz", - "integrity": "sha512-uufKORlB0jeYdqOvjAfMYgqIqmJentOj8XvTUxsFP5k85xxzXsDarSpP199YQz6jhJJQYNOWIloDkUTQJi5rNA==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/elements": { - "version": "21.2.16", - "resolved": "https://registry.npmjs.org/@angular/elements/-/elements-21.2.16.tgz", - "integrity": "sha512-p9Y8KyMZQ37Tn7zjkaiQJUog+TtDlypqwD4ABzUNKKkgjLTRMVbS+xJ7rPuF5HSCsGS2tO+fsbxWcIGHIACL+Q==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/forms": { - "version": "21.2.16", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.2.16.tgz", - "integrity": "sha512-2djTJmTpg/MkQ2kdCI9k0LT4RL9/Hg03fDUNN2eN5c04FIk99D3yHXUJYLwiaErLuLQNkU8HaijluKHdH93cWQ==", - "requires": { - "@standard-schema/spec": "^1.0.0", - "tslib": "^2.3.0" - } - }, - "@angular/language-service": { - "version": "21.2.15", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-21.2.15.tgz", - "integrity": "sha512-xR2dH1xpd3zojdVztFFTS87f6SOp2SAC6ri09eIpxbHpLXl0ruuDgYFs/ug2JOWC2rIfc7UnoQjdSMs1u0XEbw==", - "dev": true - }, - "@angular/platform-browser": { - "version": "21.2.16", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.2.16.tgz", - "integrity": "sha512-59ToWYDb+O3fS0+Y4ubQqV0zY6sf2esLZ19AT7JKXN7Akqbz7aQ2/3k3PKmfhwKWek5o3lkuNz8YhxKQruNh8Q==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/platform-browser-dynamic": { - "version": "21.2.16", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-21.2.16.tgz", - "integrity": "sha512-WtTnkJOmKiGccHRQfBdkwODAkpTB4zbPN3IKhcqCjlezKaPqZB5tjrIu72Z5pmi5VIgJz1LmfO1LSVCMC5h7dA==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/router": { - "version": "21.2.16", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-21.2.16.tgz", - "integrity": "sha512-0+Pyh0uT4vCLabKoGCARYWlwpz4DgZI9AE01n8s9u/nKAZuEMnJtLLnaUtHEMI8nJSqpgnS/5AthuJZdDEfkYw==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@apidevtools/json-schema-ref-parser": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.1.2.tgz", - "integrity": "sha512-r1w81DpR+KyRWd3f+rk6TNqMgedmAxZP5v5KWlXQWlgMUUtyEJch0DKEci1SorPMiSeM8XPl7MZ3miJ60JIpQg==", - "requires": { - "@jsdevtools/ono": "^7.1.3", - "@types/json-schema": "^7.0.6", - "call-me-maybe": "^1.0.1", - "js-yaml": "^4.1.0" - } - }, - "@appsignal/javascript": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@appsignal/javascript/-/javascript-1.6.1.tgz", - "integrity": "sha512-jRVkTYsLC7tM5no6V2Fw2Vc325KRKductkEEHzXTS+upZdBgzkxeTQ1MjuPcfN73vUEplaaP6tMkqv7Ids6frg==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@appsignal/plugin-breadcrumbs-console": { - "version": "1.1.37", - "resolved": "https://registry.npmjs.org/@appsignal/plugin-breadcrumbs-console/-/plugin-breadcrumbs-console-1.1.37.tgz", - "integrity": "sha512-l8TKLJd6GScUWrlLaBysdT8Q3PyaO1RQjkmCMolN3aCNxTx4C9zw3f+CIlRITaW2sTd8LRN1NV6ee3VEMaT6nQ==", - "requires": { - "@appsignal/javascript": "=1.6.1" - } - }, - "@appsignal/plugin-breadcrumbs-network": { - "version": "1.1.24", - "resolved": "https://registry.npmjs.org/@appsignal/plugin-breadcrumbs-network/-/plugin-breadcrumbs-network-1.1.24.tgz", - "integrity": "sha512-7RYADVRYHKNuunma3cN38xP40k3BpB5pkkDc3IIePpVe8QDxlTErzgSa9SRDp69ItNr8rU9VUJWqBZb0jnF1Cg==", - "requires": { - "@appsignal/javascript": "=1.6.1" - } - }, - "@asamuzakjp/css-color": { - "version": "5.1.11", - "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-5.1.11.tgz", - "integrity": "sha512-KVw6qIiCTUQhByfTd78h2yD1/00waTmm9uy/R7Ck/ctUyAPj+AEDLkQIdJW0T8+qGgj3j5bpNKK7Q3G+LedJWg==", - "dev": true, - "requires": { - "@asamuzakjp/generational-cache": "^1.0.1", - "@csstools/css-calc": "^3.2.0", - "@csstools/css-color-parser": "^4.1.0", - "@csstools/css-parser-algorithms": "^4.0.0", - "@csstools/css-tokenizer": "^4.0.0" - } - }, - "@asamuzakjp/dom-selector": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-7.1.1.tgz", - "integrity": "sha512-67RZDnYRc8H/8MLDgQCDE//zoqVFwajkepHZgmXrbwybzXOEwOWGPYGmALYl9J2DOLfFPPs6kKCqmbzV895hTQ==", - "dev": true, - "requires": { - "@asamuzakjp/generational-cache": "^1.0.1", - "@asamuzakjp/nwsapi": "^2.3.9", - "bidi-js": "^1.0.3", - "css-tree": "^3.2.1", - "is-potential-custom-element-name": "^1.0.1" - } - }, - "@asamuzakjp/generational-cache": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@asamuzakjp/generational-cache/-/generational-cache-1.0.1.tgz", - "integrity": "sha512-wajfB8KqzMCN2KGNFdLkReeHncd0AslUSrvHVvvYWuU8ghncRJoA50kT3zP9MVL0+9g4/67H+cdvBskj9THPzg==", - "dev": true - }, - "@asamuzakjp/nwsapi": { - "version": "2.3.9", - "resolved": "https://registry.npmjs.org/@asamuzakjp/nwsapi/-/nwsapi-2.3.9.tgz", - "integrity": "sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==", - "dev": true - }, - "@authress/login": { - "version": "2.6.417", - "resolved": "https://registry.npmjs.org/@authress/login/-/login-2.6.417.tgz", - "integrity": "sha512-3iMjpwnU3iWTpVjS5nc1/7QrIresFS+TKN43R9UtV/khW2liyq9CPyX5ZCjZ74TWEXOckhTwqy9s7VpHlZ8TWw==", - "requires": { - "cookie": "<1", - "lodash.take": "^4.1.1" - } - }, - "@babel/code-frame": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", - "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", - "requires": { - "@babel/helper-validator-identifier": "^7.28.5", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - } - }, - "@babel/compat-data": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", - "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==" - }, - "@babel/core": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", - "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", - "requires": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-module-transforms": "^7.28.6", - "@babel/helpers": "^7.28.6", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/traverse": "^7.29.0", - "@babel/types": "^7.29.0", - "@jridgewell/remapping": "^2.3.5", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "dependencies": { - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } - } - }, - "@babel/generator": { - "version": "7.29.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", - "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", - "requires": { - "@babel/parser": "^7.29.0", - "@babel/types": "^7.29.0", - "@jridgewell/gen-mapping": "^0.3.12", - "@jridgewell/trace-mapping": "^0.3.28", - "jsesc": "^3.0.2" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.27.3", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", - "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", - "dev": true, - "requires": { - "@babel/types": "^7.27.3" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", - "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", - "requires": { - "@babel/compat-data": "^7.28.6", - "@babel/helper-validator-option": "^7.27.1", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.6.tgz", - "integrity": "sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.27.3", - "@babel/helper-member-expression-to-functions": "^7.28.5", - "@babel/helper-optimise-call-expression": "^7.27.1", - "@babel/helper-replace-supers": "^7.28.6", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", - "@babel/traverse": "^7.28.6", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.28.5.tgz", - "integrity": "sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.27.3", - "regexpu-core": "^6.3.1", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.8.tgz", - "integrity": "sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6", - "debug": "^4.4.3", - "lodash.debounce": "^4.0.8", - "resolve": "^1.22.11" - } - }, - "@babel/helper-globals": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==" - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", - "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", - "dev": true, - "requires": { - "@babel/traverse": "^7.28.5", - "@babel/types": "^7.28.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", - "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", - "requires": { - "@babel/traverse": "^7.28.6", - "@babel/types": "^7.28.6" - } - }, - "@babel/helper-module-transforms": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", - "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", - "requires": { - "@babel/helper-module-imports": "^7.28.6", - "@babel/helper-validator-identifier": "^7.28.5", - "@babel/traverse": "^7.28.6" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", - "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", - "dev": true, - "requires": { - "@babel/types": "^7.27.1" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", - "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", - "dev": true - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", - "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-wrap-function": "^7.27.1", - "@babel/traverse": "^7.27.1" - } - }, - "@babel/helper-replace-supers": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.28.6.tgz", - "integrity": "sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.28.5", - "@babel/helper-optimise-call-expression": "^7.27.1", - "@babel/traverse": "^7.28.6" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", - "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", - "dev": true, - "requires": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", - "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", - "dev": true, - "requires": { - "@babel/types": "^7.24.7" - } - }, - "@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==" - }, - "@babel/helper-validator-identifier": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==" - }, - "@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==" - }, - "@babel/helper-wrap-function": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.6.tgz", - "integrity": "sha512-z+PwLziMNBeSQJonizz2AGnndLsP2DeGHIxDAn+wdHOGuo4Fo1x1HBPPXeE9TAOPHNNWQKCSlA2VZyYyyibDnQ==", - "dev": true, - "requires": { - "@babel/template": "^7.28.6", - "@babel/traverse": "^7.28.6", - "@babel/types": "^7.28.6" - } - }, - "@babel/helpers": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", - "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", - "requires": { - "@babel/template": "^7.28.6", - "@babel/types": "^7.28.6" - } - }, - "@babel/parser": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", - "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", - "requires": { - "@babel/types": "^7.29.0" - } - }, - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.28.5.tgz", - "integrity": "sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.28.5" - } - }, - "@babel/plugin-bugfix-safari-class-field-initializer-scope": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", - "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.27.1", - "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.27.1.tgz", - "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", - "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", - "@babel/plugin-transform-optional-chaining": "^7.27.1" - } - }, - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.6.tgz", - "integrity": "sha512-a0aBScVTlNaiUe35UtfxAN7A/tehvvG4/ByO6+46VPKTRSlfnAFsgKy0FUh+qAkQrDTmhDkT+IBOKlOoMUxQ0g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/traverse": "^7.28.6" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "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==", - "dev": true - }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.28.6.tgz", - "integrity": "sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.28.6" - } - }, - "@babel/plugin-syntax-import-attributes": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz", - "integrity": "sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.28.6" - } - }, - "@babel/plugin-syntax-unicode-sets-regex": { - "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==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", - "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-async-generator-functions": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.29.0.tgz", - "integrity": "sha512-va0VdWro4zlBr2JsXC+ofCPB2iG12wPtVGTWFx2WLDOM3nYQZZIGP82qku2eW/JR83sD+k2k+CsNtyEbUqhU6w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/helper-remap-async-to-generator": "^7.27.1", - "@babel/traverse": "^7.29.0" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.28.6.tgz", - "integrity": "sha512-ilTRcmbuXjsMmcZ3HASTe4caH5Tpo93PkTxF9oG2VZsSWsahydmcEHhix9Ik122RcTnZnUzPbmux4wh1swfv7g==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/helper-remap-async-to-generator": "^7.27.1" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", - "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.6.tgz", - "integrity": "sha512-tt/7wOtBmwHPNMPu7ax4pdPz6shjFrmHDghvNC+FG9Qvj7D6mJcoRQIF5dy4njmxR941l6rgtvfSB2zX3VlUIw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.28.6" - } - }, - "@babel/plugin-transform-class-properties": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.28.6.tgz", - "integrity": "sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6" - } - }, - "@babel/plugin-transform-class-static-block": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.6.tgz", - "integrity": "sha512-rfQ++ghVwTWTqQ7w8qyDxL1XGihjBss4CmTgGRCTAC9RIbhVpyp4fOeZtta0Lbf+dTNIVJer6ych2ibHwkZqsQ==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.6.tgz", - "integrity": "sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.27.3", - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-globals": "^7.28.0", - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/helper-replace-supers": "^7.28.6", - "@babel/traverse": "^7.28.6" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.28.6.tgz", - "integrity": "sha512-bcc3k0ijhHbc2lEfpFHgx7eYw9KNXqOerKWfzbxEHUGKnS3sz9C4CNL9OiFN1297bDNfUiSO7DaLzbvHQQQ1BQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/template": "^7.28.6" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz", - "integrity": "sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.28.5" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.28.6.tgz", - "integrity": "sha512-SljjowuNKB7q5Oayv4FoPzeB74g3QgLt8IVJw9ADvWy3QnUb/01aw8I4AVv8wYnPvQz2GDDZ/g3GhcNyDBI4Bg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.28.5", - "@babel/helper-plugin-utils": "^7.28.6" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", - "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.29.0.tgz", - "integrity": "sha512-zBPcW2lFGxdiD8PUnPwJjag2J9otbcLQzvbiOzDxpYXyCuYX9agOwMPGn1prVH0a4qzhCKu24rlH4c1f7yA8rw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.28.5", - "@babel/helper-plugin-utils": "^7.28.6" - } - }, - "@babel/plugin-transform-dynamic-import": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", - "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-explicit-resource-management": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.6.tgz", - "integrity": "sha512-Iao5Konzx2b6g7EPqTy40UZbcdXE126tTxVFr/nAIj+WItNxjKSYTEw3RC+A2/ZetmdJsgueL1KhaMCQHkLPIg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/plugin-transform-destructuring": "^7.28.5" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.6.tgz", - "integrity": "sha512-WitabqiGjV/vJ0aPOLSFfNY1u9U3R7W36B03r5I2KoNix+a3sOhJ3pKFB3R5It9/UiK78NiO0KE9P21cMhlPkw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.28.6" - } - }, - "@babel/plugin-transform-export-namespace-from": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", - "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", - "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", - "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.27.1" - } - }, - "@babel/plugin-transform-json-strings": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.28.6.tgz", - "integrity": "sha512-Nr+hEN+0geQkzhbdgQVPoqr47lZbm+5fCUmO70722xJZd0Mvb59+33QLImGj6F+DkK3xgDi1YVysP8whD6FQAw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.28.6" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", - "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-logical-assignment-operators": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.6.tgz", - "integrity": "sha512-+anKKair6gpi8VsM/95kmomGNMD0eLz1NQ8+Pfw5sAwWH9fGYXT50E55ZpV0pHUHWf6IUTWPM+f/7AAff+wr9A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.28.6" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", - "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", - "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.28.6.tgz", - "integrity": "sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.29.0.tgz", - "integrity": "sha512-PrujnVFbOdUpw4UHiVwKvKRLMMic8+eC0CuNlxjsyZUiBjhFdPsewdXCkveh2KqBA9/waD0W1b4hXSOBQJezpQ==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/helper-validator-identifier": "^7.28.5", - "@babel/traverse": "^7.29.0" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", - "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.29.0.tgz", - "integrity": "sha512-1CZQA5KNAD6ZYQLPw7oi5ewtDNxH/2vuCh+6SmvgDfhumForvs8a1o9n0UrEoBD8HU4djO2yWngTQlXl1NDVEQ==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.28.5", - "@babel/helper-plugin-utils": "^7.28.6" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", - "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.28.6.tgz", - "integrity": "sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.28.6" - } - }, - "@babel/plugin-transform-numeric-separator": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.28.6.tgz", - "integrity": "sha512-SJR8hPynj8outz+SlStQSwvziMN4+Bq99it4tMIf5/Caq+3iOc0JtKyse8puvyXkk3eFRIA5ID/XfunGgO5i6w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.28.6" - } - }, - "@babel/plugin-transform-object-rest-spread": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.6.tgz", - "integrity": "sha512-5rh+JR4JBC4pGkXLAcYdLHZjXudVxWMXbB6u6+E9lRL5TrGVbHt1TjxGbZ8CkmYw9zjkB7jutzOROArsqtncEA==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/plugin-transform-destructuring": "^7.28.5", - "@babel/plugin-transform-parameters": "^7.27.7", - "@babel/traverse": "^7.28.6" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", - "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-replace-supers": "^7.27.1" - } - }, - "@babel/plugin-transform-optional-catch-binding": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.28.6.tgz", - "integrity": "sha512-R8ja/Pyrv0OGAvAXQhSTmWyPJPml+0TMqXlO5w+AsMEiwb2fg3WkOvob7UxFSL3OIttFSGSRFKQsOhJ/X6HQdQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.28.6" - } - }, - "@babel/plugin-transform-optional-chaining": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.6.tgz", - "integrity": "sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.27.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", - "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-private-methods": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.28.6.tgz", - "integrity": "sha512-piiuapX9CRv7+0st8lmuUlRSmX6mBcVeNQ1b4AYzJxfCMuBfB0vBXDiGSmm03pKJw1v6cZ8KSeM+oUnM6yAExg==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6" - } - }, - "@babel/plugin-transform-private-property-in-object": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.28.6.tgz", - "integrity": "sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.27.3", - "@babel/helper-create-class-features-plugin": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", - "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.29.0.tgz", - "integrity": "sha512-FijqlqMA7DmRdg/aINBSs04y8XNTYw/lr1gJ2WsmBnnaNw1iS43EPkJW+zK7z65auG3AWRFXWj+NcTQwYptUog==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.28.6" - } - }, - "@babel/plugin-transform-regexp-modifiers": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.28.6.tgz", - "integrity": "sha512-QGWAepm9qxpaIs7UM9FvUSnCGlb8Ua1RhyM4/veAxLwt3gMat/LSGrZixyuj4I6+Kn9iwvqCyPTtbdxanYoWYg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.28.5", - "@babel/helper-plugin-utils": "^7.28.6" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", - "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.29.0.tgz", - "integrity": "sha512-jlaRT5dJtMaMCV6fAuLbsQMSwz/QkvaHOHOSXRitGGwSpR1blCY4KUKoyP2tYO8vJcqYe8cEj96cqSztv3uF9w==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6", - "babel-plugin-polyfill-corejs2": "^0.4.14", - "babel-plugin-polyfill-corejs3": "^0.13.0", - "babel-plugin-polyfill-regenerator": "^0.6.5", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", - "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.28.6.tgz", - "integrity": "sha512-9U4QObUC0FtJl05AsUcodau/RWDytrU6uKgkxu09mLR9HLDAtUMoPuuskm5huQsoktmsYpI+bGmq+iapDcriKA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", - "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", - "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", - "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", - "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-unicode-property-regex": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.28.6.tgz", - "integrity": "sha512-4Wlbdl/sIZjzi/8St0evF0gEZrgOswVO6aOzqxh1kDZOl9WmLrHq2HtGhnOJZmHZYKP8WZ1MDLCt5DAWwRo57A==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.28.5", - "@babel/helper-plugin-utils": "^7.28.6" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", - "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-unicode-sets-regex": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.28.6.tgz", - "integrity": "sha512-/wHc/paTUmsDYN7SZkpWxogTOBNnlx7nBQYfy6JJlCT7G3mVhltk3e++N7zV0XfgGsrqBxd4rJQt9H16I21Y1Q==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.28.5", - "@babel/helper-plugin-utils": "^7.28.6" - } - }, - "@babel/preset-env": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.29.2.tgz", - "integrity": "sha512-DYD23veRYGvBFhcTY1iUvJnDNpuqNd/BzBwCvzOTKUnJjKg5kpUBh3/u9585Agdkgj+QuygG7jLfOPWMa2KVNw==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.29.0", - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6", - "@babel/helper-validator-option": "^7.27.1", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.28.5", - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.6", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-import-assertions": "^7.28.6", - "@babel/plugin-syntax-import-attributes": "^7.28.6", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.27.1", - "@babel/plugin-transform-async-generator-functions": "^7.29.0", - "@babel/plugin-transform-async-to-generator": "^7.28.6", - "@babel/plugin-transform-block-scoped-functions": "^7.27.1", - "@babel/plugin-transform-block-scoping": "^7.28.6", - "@babel/plugin-transform-class-properties": "^7.28.6", - "@babel/plugin-transform-class-static-block": "^7.28.6", - "@babel/plugin-transform-classes": "^7.28.6", - "@babel/plugin-transform-computed-properties": "^7.28.6", - "@babel/plugin-transform-destructuring": "^7.28.5", - "@babel/plugin-transform-dotall-regex": "^7.28.6", - "@babel/plugin-transform-duplicate-keys": "^7.27.1", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.29.0", - "@babel/plugin-transform-dynamic-import": "^7.27.1", - "@babel/plugin-transform-explicit-resource-management": "^7.28.6", - "@babel/plugin-transform-exponentiation-operator": "^7.28.6", - "@babel/plugin-transform-export-namespace-from": "^7.27.1", - "@babel/plugin-transform-for-of": "^7.27.1", - "@babel/plugin-transform-function-name": "^7.27.1", - "@babel/plugin-transform-json-strings": "^7.28.6", - "@babel/plugin-transform-literals": "^7.27.1", - "@babel/plugin-transform-logical-assignment-operators": "^7.28.6", - "@babel/plugin-transform-member-expression-literals": "^7.27.1", - "@babel/plugin-transform-modules-amd": "^7.27.1", - "@babel/plugin-transform-modules-commonjs": "^7.28.6", - "@babel/plugin-transform-modules-systemjs": "^7.29.0", - "@babel/plugin-transform-modules-umd": "^7.27.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.29.0", - "@babel/plugin-transform-new-target": "^7.27.1", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.28.6", - "@babel/plugin-transform-numeric-separator": "^7.28.6", - "@babel/plugin-transform-object-rest-spread": "^7.28.6", - "@babel/plugin-transform-object-super": "^7.27.1", - "@babel/plugin-transform-optional-catch-binding": "^7.28.6", - "@babel/plugin-transform-optional-chaining": "^7.28.6", - "@babel/plugin-transform-parameters": "^7.27.7", - "@babel/plugin-transform-private-methods": "^7.28.6", - "@babel/plugin-transform-private-property-in-object": "^7.28.6", - "@babel/plugin-transform-property-literals": "^7.27.1", - "@babel/plugin-transform-regenerator": "^7.29.0", - "@babel/plugin-transform-regexp-modifiers": "^7.28.6", - "@babel/plugin-transform-reserved-words": "^7.27.1", - "@babel/plugin-transform-shorthand-properties": "^7.27.1", - "@babel/plugin-transform-spread": "^7.28.6", - "@babel/plugin-transform-sticky-regex": "^7.27.1", - "@babel/plugin-transform-template-literals": "^7.27.1", - "@babel/plugin-transform-typeof-symbol": "^7.27.1", - "@babel/plugin-transform-unicode-escapes": "^7.27.1", - "@babel/plugin-transform-unicode-property-regex": "^7.28.6", - "@babel/plugin-transform-unicode-regex": "^7.27.1", - "@babel/plugin-transform-unicode-sets-regex": "^7.28.6", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.15", - "babel-plugin-polyfill-corejs3": "^0.14.0", - "babel-plugin-polyfill-regenerator": "^0.6.6", - "core-js-compat": "^3.48.0", - "semver": "^6.3.1" - }, - "dependencies": { - "babel-plugin-polyfill-corejs3": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.14.2.tgz", - "integrity": "sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.6.8", - "core-js-compat": "^3.48.0" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/preset-modules": { - "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==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/runtime": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", - "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==" - }, - "@babel/runtime-corejs3": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.28.4.tgz", - "integrity": "sha512-h7iEYiW4HebClDEhtvFObtPmIvrd1SSfpI9EhOeKk4CtIK/ngBWFpuhCzhdmRKtg71ylcue+9I6dv54XYO1epQ==", - "requires": { - "core-js-pure": "^3.43.0" - } - }, - "@babel/template": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", - "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", - "requires": { - "@babel/code-frame": "^7.28.6", - "@babel/parser": "^7.28.6", - "@babel/types": "^7.28.6" - } - }, - "@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "requires": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - } - }, - "@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "requires": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - } - }, - "@bcoe/v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz", - "integrity": "sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==", - "dev": true - }, - "@blazediff/core": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@blazediff/core/-/core-1.9.1.tgz", - "integrity": "sha512-ehg3jIkYKulZh+8om/O25vkvSsXXwC+skXmyA87FFx6A/45eqOkZsBltMw/TVteb0mloiGT8oGRTcjRAz66zaA==", - "dev": true - }, - "@blocknote/core": { - "version": "0.51.4", - "resolved": "https://registry.npmjs.org/@blocknote/core/-/core-0.51.4.tgz", - "integrity": "sha512-uR7/BlW6VVlCx/JzfGbkaLGz7O5uI3bu2tbNIdzGTfSloiEp8Qc14if36Dy7DDs+dVWfZgwds0jWiGfE3AzJiw==", - "requires": { - "@emoji-mart/data": "^1.2.1", - "@handlewithcare/prosemirror-inputrules": "^0.1.4", - "@shikijs/types": "^4", - "@tanstack/store": "^0.7.7", - "@tiptap/core": "^3.13.0", - "@tiptap/extension-bold": "^3.13.0", - "@tiptap/extension-code": "^3.13.0", - "@tiptap/extension-horizontal-rule": "^3.13.0", - "@tiptap/extension-italic": "^3.13.0", - "@tiptap/extension-paragraph": "^3.13.0", - "@tiptap/extension-strike": "^3.13.0", - "@tiptap/extension-text": "^3.13.0", - "@tiptap/extension-underline": "^3.13.0", - "@tiptap/extensions": "^3.13.0", - "@tiptap/pm": "^3.13.0", - "emoji-mart": "^5.6.0", - "fast-deep-equal": "^3.1.3", - "lib0": "^0.2.99", - "prosemirror-highlight": "^0.15.1", - "prosemirror-model": "^1.25.4", - "prosemirror-state": "^1.4.4", - "prosemirror-tables": "^1.8.3", - "prosemirror-transform": "^1.11.0", - "prosemirror-view": "^1.41.4", - "y-prosemirror": "^1.3.7", - "y-protocols": "^1.0.6", - "yjs": "^13.6.27" - } - }, - "@blocknote/mantine": { - "version": "0.51.4", - "resolved": "https://registry.npmjs.org/@blocknote/mantine/-/mantine-0.51.4.tgz", - "integrity": "sha512-Ka7QjzhgB/T2ekwtXgwa9zIiiixAm4dob3FklJIedu+9j/eO4auokmRnWAhZQmNJsOdE7mQTUmnv6X4k/lHyCQ==", - "requires": { - "@blocknote/core": "0.51.4", - "@blocknote/react": "0.51.4", - "react-icons": "^5.5.0" - } - }, - "@blocknote/react": { - "version": "0.51.4", - "resolved": "https://registry.npmjs.org/@blocknote/react/-/react-0.51.4.tgz", - "integrity": "sha512-tWe039t/Gkj9YDoEXruclXQvI+toI0ctcyikbHa8dm3Q6zTgy24+T/P1t1fYSNPBkSnhq+ILz2fLLnCK994qkA==", - "requires": { - "@blocknote/core": "0.51.4", - "@emoji-mart/data": "^1.2.1", - "@floating-ui/react": "^0.27.18", - "@floating-ui/utils": "^0.2.10", - "@tanstack/react-store": "0.7.7", - "@tiptap/core": "^3.13.0", - "@tiptap/pm": "^3.13.0", - "@tiptap/react": "^3.13.0", - "@types/use-sync-external-store": "1.5.0", - "emoji-mart": "^5.6.0", - "fast-deep-equal": "^3.1.3", - "lodash.merge": "^4.6.2", - "react-icons": "^5.5.0", - "use-sync-external-store": "1.6.0" - }, - "dependencies": { - "@types/use-sync-external-store": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz", - "integrity": "sha512-5dyB8nLC/qogMrlCizZnYWQTA4lnb/v+It+sqNl5YnSRAPMlIqY/X0Xn+gZw8vOL+TgTTr28VEbn3uf8fUtAkw==" - } - } - }, - "@braintree/sanitize-url": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-7.1.2.tgz", - "integrity": "sha512-jigsZK+sMF/cuiB7sERuo9V7N9jx+dhmHHnQyDSVdpZwVutaBu7WvNYqMDLSgFgfB30n452TP3vjDAvFC973mA==" - }, - "@bramus/specificity": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@bramus/specificity/-/specificity-2.4.2.tgz", - "integrity": "sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==", - "dev": true, - "requires": { - "css-tree": "^3.0.0" - } - }, - "@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==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "dependencies": { - "@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - } - } - }, - "@csstools/color-helpers": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-6.0.2.tgz", - "integrity": "sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==", - "dev": true - }, - "@csstools/css-calc": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.2.0.tgz", - "integrity": "sha512-bR9e6o2BDB12jzN/gIbjHa5wLJ4UjD1CB9pM7ehlc0ddk6EBz+yYS1EV2MF55/HUxrHcB/hehAyt5vhsA3hx7w==", - "dev": true - }, - "@csstools/css-color-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.1.0.tgz", - "integrity": "sha512-U0KhLYmy2GVj6q4T3WaAe6NPuFYCPQoE3b0dRGxejWDgcPp8TP7S5rVdM5ZrFaqu4N67X8YaPBw14dQSYx3IyQ==", - "dev": true, - "requires": { - "@csstools/color-helpers": "^6.0.2", - "@csstools/css-calc": "^3.2.0" - } - }, - "@csstools/css-parser-algorithms": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.0.tgz", - "integrity": "sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==", - "dev": true - }, - "@csstools/css-syntax-patches-for-csstree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.3.tgz", - "integrity": "sha512-SH60bMfrRCJF3morcdk57WklujF4Jr/EsQUzqkarfHXEFcAR1gg7fS/chAE922Sehgzc1/+Tz5H3Ypa1HiEKrg==", - "dev": true - }, - "@csstools/css-tokenizer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-4.0.0.tgz", - "integrity": "sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==", - "dev": true - }, - "@datorama/akita": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@datorama/akita/-/akita-8.0.1.tgz", - "integrity": "sha512-0VnPWd+Sy3ColhzjDSBNcEnzAQtbezk6bYmJHvPaLMK5Ysl90KcNls2bE4sj5vaLeGLjhMtqtfp/RgrigPXDxA==" - }, - "@emoji-mart/data": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emoji-mart/data/-/data-1.2.1.tgz", - "integrity": "sha512-no2pQMWiBy6gpBEiqGeU77/bFejDqUTRY7KX+0+iur13op3bqUsXdnwoZs6Xb1zbv0gAj5VvS1PWoUUckSr5Dw==" - }, - "@emotion/is-prop-valid": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz", - "integrity": "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==", - "requires": { - "@emotion/memoize": "^0.8.1" - } - }, - "@emotion/memoize": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", - "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" - }, - "@emotion/unitless": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", - "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" - }, - "@esbuild/aix-ppc64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", - "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", - "dev": true, - "optional": true - }, - "@esbuild/android-arm": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", - "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", - "dev": true, - "optional": true - }, - "@esbuild/android-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", - "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", - "dev": true, - "optional": true - }, - "@esbuild/android-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", - "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", - "dev": true, - "optional": true - }, - "@esbuild/darwin-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", - "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", - "dev": true, - "optional": true - }, - "@esbuild/darwin-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", - "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", - "dev": true, - "optional": true - }, - "@esbuild/freebsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", - "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", - "dev": true, - "optional": true - }, - "@esbuild/freebsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", - "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", - "dev": true, - "optional": true - }, - "@esbuild/linux-arm": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", - "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", - "dev": true, - "optional": true - }, - "@esbuild/linux-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", - "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", - "dev": true, - "optional": true - }, - "@esbuild/linux-ia32": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", - "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", - "dev": true, - "optional": true - }, - "@esbuild/linux-loong64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", - "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", - "dev": true, - "optional": true - }, - "@esbuild/linux-mips64el": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", - "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", - "dev": true, - "optional": true - }, - "@esbuild/linux-ppc64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", - "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", - "dev": true, - "optional": true - }, - "@esbuild/linux-riscv64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", - "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", - "dev": true, - "optional": true - }, - "@esbuild/linux-s390x": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", - "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", - "dev": true, - "optional": true - }, - "@esbuild/linux-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", - "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", - "dev": true, - "optional": true - }, - "@esbuild/netbsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", - "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", - "dev": true, - "optional": true - }, - "@esbuild/netbsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", - "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", - "dev": true, - "optional": true - }, - "@esbuild/openbsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", - "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", - "dev": true, - "optional": true - }, - "@esbuild/openbsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", - "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", - "dev": true, - "optional": true - }, - "@esbuild/openharmony-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", - "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", - "dev": true, - "optional": true - }, - "@esbuild/sunos-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", - "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", - "dev": true, - "optional": true - }, - "@esbuild/win32-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", - "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", - "dev": true, - "optional": true - }, - "@esbuild/win32-ia32": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", - "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", - "dev": true, - "optional": true - }, - "@esbuild/win32-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", - "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", - "dev": true, - "optional": true - }, - "@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^3.4.3" - } - }, - "@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true - }, - "@eslint/config-array": { - "version": "0.23.5", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.5.tgz", - "integrity": "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==", - "dev": true, - "requires": { - "@eslint/object-schema": "^3.0.5", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "dependencies": { - "balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true - }, - "brace-expansion": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", - "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", - "dev": true, - "requires": { - "balanced-match": "^4.0.2" - } - }, - "minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "requires": { - "brace-expansion": "^5.0.5" - } - } - } - }, - "@eslint/config-helpers": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.6.0.tgz", - "integrity": "sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==", - "dev": true, - "requires": { - "@eslint/core": "^1.2.1" - }, - "dependencies": { - "@eslint/core": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.1.tgz", - "integrity": "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.15" - } - } - } - }, - "@eslint/core": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", - "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.15" - } - }, - "@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true - }, - "@eslint/object-schema": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.5.tgz", - "integrity": "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==", - "dev": true - }, - "@eslint/plugin-kit": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", - "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", - "dev": true, - "requires": { - "@eslint/core": "^0.17.0", - "levn": "^0.4.1" - } - }, - "@exodus/bytes": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.15.0.tgz", - "integrity": "sha512-UY0nlA+feH81UGSHv92sLEPLCeZFjXOuHhrIo0HQydScuQc8s0A7kL/UdgwgDq8g8ilksmuoF35YVTNphV2aBQ==", - "dev": true - }, - "@floating-ui/core": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.5.tgz", - "integrity": "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==", - "requires": { - "@floating-ui/utils": "^0.2.11" - } - }, - "@floating-ui/dom": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.6.tgz", - "integrity": "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==", - "requires": { - "@floating-ui/core": "^1.7.5", - "@floating-ui/utils": "^0.2.11" - } - }, - "@floating-ui/react": { - "version": "0.27.19", - "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.27.19.tgz", - "integrity": "sha512-31B8h5mm8YxotlE7/AU/PhNAl8eWxAmjL/v2QOxroDNkTFLk3Uu82u63N3b6TXa4EGJeeZLVcd/9AlNlVqzeog==", - "requires": { - "@floating-ui/react-dom": "^2.1.8", - "@floating-ui/utils": "^0.2.11", - "tabbable": "^6.0.0" - } - }, - "@floating-ui/react-dom": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", - "integrity": "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==", - "requires": { - "@floating-ui/dom": "^1.7.6" - } - }, - "@floating-ui/utils": { - "version": "0.2.11", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.11.tgz", - "integrity": "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==" - }, - "@fortawesome/fontawesome-free": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.7.2.tgz", - "integrity": "sha512-JUOtgFW6k9u4Y+xeIaEiLr3+cjoUPiAuLXoyKOJSia6Duzb7pq+A76P9ZdPDoAoxHdHzq6gE9/jKBGXlZT8FbA==" - }, - "@fullcalendar/angular": { - "version": "6.1.20", - "resolved": "https://registry.npmjs.org/@fullcalendar/angular/-/angular-6.1.20.tgz", - "integrity": "sha512-/V5wZuZSzWZxD3dnVteqY844Onv6we5ah0RU9ZJdRIeNbBFknHLeVYpIjYKsAPwkGigYX7UGOJR6NNpyarBLlQ==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@fullcalendar/common": { - "version": "5.11.5", - "resolved": "https://registry.npmjs.org/@fullcalendar/common/-/common-5.11.5.tgz", - "integrity": "sha512-3iAYiUbHXhjSVXnYWz27Od2cslztUPsOwiwKlfGvQxBixv2Kl6a8IPwaijKFYJHXdwYmfPoEgK7rvqAGVoIYwA==", - "requires": { - "tslib": "^2.1.0" - } - }, - "@fullcalendar/core": { - "version": "6.1.20", - "resolved": "https://registry.npmjs.org/@fullcalendar/core/-/core-6.1.20.tgz", - "integrity": "sha512-1cukXLlePFiJ8YKXn/4tMKsy0etxYLCkXk8nUCFi11nRONF2Ba2CD5b21/ovtOO2tL6afTJfwmc1ed3HG7eB1g==", - "requires": { - "preact": "~10.12.1" - } - }, - "@fullcalendar/daygrid": { - "version": "6.1.20", - "resolved": "https://registry.npmjs.org/@fullcalendar/daygrid/-/daygrid-6.1.20.tgz", - "integrity": "sha512-AO9vqhkLP77EesmJzuU+IGXgxNulsA8mgQHynclJ8U70vSwAVnbcLG9qftiTAFSlZjiY/NvhE7sflve6cJelyQ==" - }, - "@fullcalendar/interaction": { - "version": "6.1.20", - "resolved": "https://registry.npmjs.org/@fullcalendar/interaction/-/interaction-6.1.20.tgz", - "integrity": "sha512-p6txmc5txL0bMiPaJxe2ip6o0T384TyoD2KGdsU6UjZ5yoBlaY+dg7kxfnYKpYMzEJLG58n+URrHr2PgNL2fyA==" - }, - "@fullcalendar/list": { - "version": "6.1.20", - "resolved": "https://registry.npmjs.org/@fullcalendar/list/-/list-6.1.20.tgz", - "integrity": "sha512-7Hzkbb7uuSqrXwTyD0Ld/7SwWNxPD6SlU548vtkIpH55rZ4qquwtwYdMPgorHos5OynHA4OUrZNcH51CjrCf2g==" - }, - "@fullcalendar/moment": { - "version": "6.1.20", - "resolved": "https://registry.npmjs.org/@fullcalendar/moment/-/moment-6.1.20.tgz", - "integrity": "sha512-GS6gY/LKu/65TiRSW6qUJFW9SPYGkPERyOOJMrCHeoOP4sE8Ewl7g0N1H4S6HHFHDrI40T0x2bYAiPEhYZpIJA==" - }, - "@fullcalendar/moment-timezone": { - "version": "6.1.20", - "resolved": "https://registry.npmjs.org/@fullcalendar/moment-timezone/-/moment-timezone-6.1.20.tgz", - "integrity": "sha512-fGk3bQU4hf0rgw3Zd/PH6Ok0Db+s9/nsuALj3IG8GYFqInwLsHZI0Qc+ljN8jv9LrLS5sOBBOZHWDg2ncx1inw==" - }, - "@fullcalendar/multimonth": { - "version": "6.1.20", - "resolved": "https://registry.npmjs.org/@fullcalendar/multimonth/-/multimonth-6.1.20.tgz", - "integrity": "sha512-rMMiPBA71lUJ1DV/0ckPtN4/G4LozkkDKoG7/CbmTYqFJiMRskM/1WpilhtRn4iUdNe03V5K7ofFQRs0wo4ZtQ==", - "requires": { - "@fullcalendar/daygrid": "~6.1.20" - } - }, - "@fullcalendar/premium-common": { - "version": "6.1.20", - "resolved": "https://registry.npmjs.org/@fullcalendar/premium-common/-/premium-common-6.1.20.tgz", - "integrity": "sha512-rT+AitNnRyZuFEtYvsB1OJ2g1Bq2jmTR6qdn/dEU6LwkIj/4L499goLtMOena/JyJ31VBztdHrccX//36QrY3w==" - }, - "@fullcalendar/resource": { - "version": "6.1.20", - "resolved": "https://registry.npmjs.org/@fullcalendar/resource/-/resource-6.1.20.tgz", - "integrity": "sha512-vpQs1eYJbc1zGOzF3obVVr+XsHTMTG7STKVQBEGy3AeFgfosRkUz+3DUawmy98vSjJUYOAQHO+pWW0ek0n5g0w==", - "requires": { - "@fullcalendar/premium-common": "~6.1.20" - } - }, - "@fullcalendar/resource-common": { - "version": "5.11.5", - "resolved": "https://registry.npmjs.org/@fullcalendar/resource-common/-/resource-common-5.11.5.tgz", - "integrity": "sha512-r7Jsd9ge65m9AShyWAOUUdRulyOKI3p0a7lOcilQ1KXDy0d1O2KpPa27sqRzpofLoDoSrteVP7dirU8Lg20sTA==", - "requires": { - "@fullcalendar/common": "~5.11.5", - "@fullcalendar/premium-common": "~5.11.5", - "tslib": "^2.1.0" - }, - "dependencies": { - "@fullcalendar/premium-common": { - "version": "5.11.5", - "resolved": "https://registry.npmjs.org/@fullcalendar/premium-common/-/premium-common-5.11.5.tgz", - "integrity": "sha512-QMLOm+MKxvsbji4wt7YGqB73IqwHD+y2JD1DZ3t0LCq2Ul6QtQjNxRP7/7DklXPI8atXoJRRXzwqRq+8O9FFHw==", - "requires": { - "@fullcalendar/common": "~5.11.5", - "tslib": "^2.1.0" - } - } - } - }, - "@fullcalendar/resource-timeline": { - "version": "6.1.20", - "resolved": "https://registry.npmjs.org/@fullcalendar/resource-timeline/-/resource-timeline-6.1.20.tgz", - "integrity": "sha512-HAlM/I+9xJPzZx3Wry7l5oibc8n5Pv/iL8tp2dxUu/0zqS0UqADbHItJucuANfDDeL7PEbCbh/uFx9VvzRUIkQ==", - "requires": { - "@fullcalendar/premium-common": "~6.1.20", - "@fullcalendar/scrollgrid": "~6.1.20", - "@fullcalendar/timeline": "~6.1.20" - } - }, - "@fullcalendar/scrollgrid": { - "version": "6.1.20", - "resolved": "https://registry.npmjs.org/@fullcalendar/scrollgrid/-/scrollgrid-6.1.20.tgz", - "integrity": "sha512-M55m0hxpou4IPObto5f0nVcXvIj3rkSTba0ypclSFDwBz3JxuCPS6l8kaUznqlZCr2Ld/HFJr+jwyvY070AafQ==", - "requires": { - "@fullcalendar/premium-common": "~6.1.20" - } - }, - "@fullcalendar/timegrid": { - "version": "6.1.20", - "resolved": "https://registry.npmjs.org/@fullcalendar/timegrid/-/timegrid-6.1.20.tgz", - "integrity": "sha512-4H+/MWbz3ntA50lrPif+7TsvMeX3R1GSYjiLULz0+zEJ7/Yfd9pupZmAwUs/PBpA6aAcFmeRr0laWfcz1a9V1A==", - "requires": { - "@fullcalendar/daygrid": "~6.1.20" - } - }, - "@fullcalendar/timeline": { - "version": "6.1.20", - "resolved": "https://registry.npmjs.org/@fullcalendar/timeline/-/timeline-6.1.20.tgz", - "integrity": "sha512-yhTgMNDWfB+XqEUTLWrpPjM4fcvGYLOA9DvTp1ysdeqhRGoZnRK9Iv2WW5BaKT+VXhXoAPrj2Ud/lXt6youWAQ==", - "requires": { - "@fullcalendar/premium-common": "~6.1.20", - "@fullcalendar/scrollgrid": "~6.1.20" - } - }, - "@gar/promise-retry": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@gar/promise-retry/-/promise-retry-1.0.3.tgz", - "integrity": "sha512-GmzA9ckNokPypTg10pgpeHNQe7ph+iIKKmhKu3Ob9ANkswreCx7R3cKmY781K8QK3AqVL3xVh9A42JvIAbkkSA==" - }, - "@github/auto-check-element": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@github/auto-check-element/-/auto-check-element-6.0.0.tgz", - "integrity": "sha512-87mHEywJEtlG/37zFrx4PUgDqczgtv9jrauW3IojNy9y+nALIAm6e2jnWpfgcqeMWSevzph2M6reJoHpuSjyWw==", - "requires": { - "@github/mini-throttle": "^2.1.0" - } - }, - "@github/auto-complete-element": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/@github/auto-complete-element/-/auto-complete-element-3.8.0.tgz", - "integrity": "sha512-rS2Uj38V1BsenLvrIswV5IXfiYH2/KUhz6inot+JXho/fFOO+01tsW1HxqSdIXqh5EDuoY0f/GQsztZcH22AXQ==", - "requires": { - "@github/combobox-nav": "^2.1.7" - } - }, - "@github/catalyst": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@github/catalyst/-/catalyst-1.8.0.tgz", - "integrity": "sha512-uLpi/D/mKfylYaFLfzNuloXNENi0AlcM0Z7hwYLH8Z030jBCr+ueMdX2xLxCzpMH/keYXKh0uPrHSMfcbxU6KA==" - }, - "@github/clipboard-copy-element": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@github/clipboard-copy-element/-/clipboard-copy-element-1.3.0.tgz", - "integrity": "sha512-wyntkQkwoLbLo+Hqg2LIVMXDIzcvUb9bSDz+clX6nVJItwzh103rHxdXFRZD+DmxVbuEW5xSznYQXkz1jZT+xg==" - }, - "@github/combobox-nav": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@github/combobox-nav/-/combobox-nav-2.3.1.tgz", - "integrity": "sha512-gwxPzLw8XKecy1nP63i9lOBritS3bWmxl02UX6G0TwMQZbMem1BCS1tEZgYd3mkrkiDrUMWaX+DbFCuDFo3K+A==" - }, - "@github/details-menu-element": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/@github/details-menu-element/-/details-menu-element-1.0.13.tgz", - "integrity": "sha512-gMkii86w/oUP5dq8yOWZn1sgbgtFj3AYETxxtpsqRggZktgd8te4+npAn4Hm+936c/lxmEzXqfjARL/CzGR4+w==" - }, - "@github/image-crop-element": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@github/image-crop-element/-/image-crop-element-5.0.0.tgz", - "integrity": "sha512-Vgm2OwWAs1ESoib/t5sjxsAYo6YTOxxAjWDRxswX7qrqoyCejTZ3hshdo4Ep5e+Mz/GVTZC3rdMtg06dk/eT4g==" - }, - "@github/include-fragment-element": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/@github/include-fragment-element/-/include-fragment-element-6.3.0.tgz", - "integrity": "sha512-BJTt8ZE/arsbC9lQtTH8c1hZS0ZigiN+kzH54ffQ6MhHLT83h0OpSdS9NEVocPl2uuO6w3qxnEKTDzUGMQ5rdQ==" - }, - "@github/mini-throttle": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@github/mini-throttle/-/mini-throttle-2.1.1.tgz", - "integrity": "sha512-KtOPaB+FiKJ6jcKm9UKyaM5fPURHGf+xcp+b4Mzoi81hOc6M1sIGpMZMAVbNzfa2lW5+RPGKq888Px0j76OZ/A==" - }, - "@github/relative-time-element": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@github/relative-time-element/-/relative-time-element-5.0.0.tgz", - "integrity": "sha512-L/2r0DNR/rMbmHWcsdmhtOiy2gESoGOhItNFD4zJ3nZfHl79Dx3N18Vfx/pYr2lruMOdk1cJZb4wEumm+Dxm1w==" - }, - "@github/remote-input-element": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@github/remote-input-element/-/remote-input-element-0.4.0.tgz", - "integrity": "sha512-apsMwsFW24F+w2wzT8oKoBi9lpm6GeFOmtuL+1YwDVmIiwixfHOD3MnEsEOv0RwmHsMdWmIjP9mxWyTWPKZHGg==" - }, - "@github/tab-container-element": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@github/tab-container-element/-/tab-container-element-3.4.0.tgz", - "integrity": "sha512-Yx70pO8A0p7Stnm9knKkUNX8i4bjuwDYZarRkM8JH0Z+ffhpe++oNAPbzGI9GEcGugRHvKuSC6p4YOdoHtTniQ==" - }, - "@github/webauthn-json": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@github/webauthn-json/-/webauthn-json-2.1.1.tgz", - "integrity": "sha512-XrftRn4z75SnaJOmZQbt7Mk+IIjqVHw+glDGOxuHwXkZBZh/MBoRS7MHjSZMDaLhT4RjN2VqiEU7EOYleuJWSQ==" - }, - "@handlewithcare/prosemirror-inputrules": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@handlewithcare/prosemirror-inputrules/-/prosemirror-inputrules-0.1.4.tgz", - "integrity": "sha512-GMqlBeG2MKM+tXEFd2N+wIv5z4VvJTg8JtfJUrdjvFq2W6v+AW8oTgiWyFw8L3iEQwvtQcVJxU873iB0LXUNNw==", - "requires": { - "prosemirror-history": "^1.4.1", - "prosemirror-transform": "^1.0.0" - } - }, - "@harperfast/extended-iterable": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@harperfast/extended-iterable/-/extended-iterable-1.0.3.tgz", - "integrity": "sha512-sSAYhQca3rDWtQUHSAPeO7axFIUJOI6hn1gjRC5APVE1a90tuyT8f5WIgRsFhhWA7htNkju2veB9eWL6YHi/Lw==", - "dev": true, - "optional": true - }, - "@hocuspocus/common": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@hocuspocus/common/-/common-3.4.4.tgz", - "integrity": "sha512-RykIJ0tsHHMP4Xk+4UCbc7SO5LgGxGUSTdbh6anJEsaALAyqinf1Nn5HYuMjLPolAmsar1v++m9zufR09NLpXA==", - "requires": { - "lib0": "^0.2.87" - } - }, - "@hocuspocus/provider": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@hocuspocus/provider/-/provider-3.4.4.tgz", - "integrity": "sha512-KbsMAfdYcIJD8eMU/5QnpXcSOvIWAcCNI33FSRSaKCIpYBFtAwkYIwWnZJmPZ8a1BMAtqQc+uvy9+UQf7GHnGQ==", - "requires": { - "@hocuspocus/common": "^3.4.4", - "@lifeomic/attempt": "^3.0.2", - "lib0": "^0.2.87", - "ws": "^8.17.1" - } - }, - "@hono/node-server": { - "version": "1.19.13", - "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.13.tgz", - "integrity": "sha512-TsQLe4i2gvoTtrHje625ngThGBySOgSK3Xo2XRYOdqGN1teR8+I7vchQC46uLJi8OF62YTYA3AhSpumtkhsaKQ==" - }, - "@hotwired/stimulus": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@hotwired/stimulus/-/stimulus-3.2.2.tgz", - "integrity": "sha512-eGeIqNOQpXoPAIP7tC1+1Yc1yl1xnwYqg+3mzqxyrbE5pg5YFBZcA6YoTiByJB6DKAEsiWtl6tjTJS4IYtbB7A==" - }, - "@hotwired/turbo": { - "version": "8.0.23", - "resolved": "https://registry.npmjs.org/@hotwired/turbo/-/turbo-8.0.23.tgz", - "integrity": "sha512-GZ7cijxEZ6Ig71u7rD6LHaRv/wcE/hNsc+nEfiWOkLNqUgLOwo5MNGWOy5ZV9ZUDSiQx1no7YxjTNnT4O6//cQ==" - }, - "@hotwired/turbo-rails": { - "version": "8.0.23", - "resolved": "https://registry.npmjs.org/@hotwired/turbo-rails/-/turbo-rails-8.0.23.tgz", - "integrity": "sha512-iBILwda3qmQC7FYM70+4s6kEQ7Fx9dJ6+yGxjPyrz9a5JDx1+y7OAA5TA7GGVOZJoicMLrKGdFDNorl40X35lw==", - "requires": { - "@hotwired/turbo": "^8.0.23", - "@rails/actioncable": ">=7.0" - } - }, - "@html-eslint/core": { - "version": "0.61.0", - "resolved": "https://registry.npmjs.org/@html-eslint/core/-/core-0.61.0.tgz", - "integrity": "sha512-/dcMywhcO7+CvyV5oUGUkh4641ZyeJyncQas+Ulq7z9fXorTstMrApIzIUdV9TNgkwZZ97Rd8/8XbXkxgoJo6A==", - "dev": true, - "requires": { - "@html-eslint/types": "^0.61.0", - "html-standard": "^0.0.13" - } - }, - "@html-eslint/eslint-plugin": { - "version": "0.61.0", - "resolved": "https://registry.npmjs.org/@html-eslint/eslint-plugin/-/eslint-plugin-0.61.0.tgz", - "integrity": "sha512-iIuyw42ssr3hoBs0dn+ivD4ZPyrMgq1v4Hqx8N3qVEyTcli/XYQ5C20CWPE8msYLU/TmBnvkl0VgzymiIsrRcw==", - "dev": true, - "requires": { - "@eslint/plugin-kit": "^0.4.1", - "@html-eslint/core": "^0.61.0", - "@html-eslint/parser": "^0.61.0", - "@html-eslint/template-parser": "^0.61.0", - "@html-eslint/template-syntax-parser": "^0.61.0", - "@html-eslint/types": "^0.61.0", - "@rviscomi/capo.js": "^2.1.0", - "html-standard": "^0.0.13" - } - }, - "@html-eslint/parser": { - "version": "0.61.0", - "resolved": "https://registry.npmjs.org/@html-eslint/parser/-/parser-0.61.0.tgz", - "integrity": "sha512-D+4TqU3tiAJ1QuP1IjVkOTYc9Q26FfDbBx3ZqaADzEd1Jgsb+ZdV2UGTBSOzKNHw6ojQCyGnaF3hPg4HSV9TKQ==", - "dev": true, - "requires": { - "@html-eslint/template-syntax-parser": "^0.61.0", - "@html-eslint/types": "^0.61.0", - "css-tree": "^3.1.0", - "es-html-parser": "0.3.1" - } - }, - "@html-eslint/template-parser": { - "version": "0.61.0", - "resolved": "https://registry.npmjs.org/@html-eslint/template-parser/-/template-parser-0.61.0.tgz", - "integrity": "sha512-mPN9UsW02m+WtDQb48FLzTCVDCBuXboRzDO37yPipp6ai98IDJBslrFjmHHh8dwBIs9QlQXWpTdlRiV3NvTwtA==", - "dev": true, - "requires": { - "@html-eslint/types": "^0.61.0", - "es-html-parser": "0.3.1" - } - }, - "@html-eslint/template-syntax-parser": { - "version": "0.61.0", - "resolved": "https://registry.npmjs.org/@html-eslint/template-syntax-parser/-/template-syntax-parser-0.61.0.tgz", - "integrity": "sha512-m5XAYPRyX/uRNkcPaBBrM+k2SfWHhjkTLFPMz+T7CiH3nbPm7wolcudMqDfW9QoexcxCQke+xJ/ZZz/PDOykKg==", - "dev": true, - "requires": { - "@html-eslint/types": "^0.61.0" - } - }, - "@html-eslint/types": { - "version": "0.61.0", - "resolved": "https://registry.npmjs.org/@html-eslint/types/-/types-0.61.0.tgz", - "integrity": "sha512-1cVh4dHkHwJqKrd/8t5U3wkzm0osTax+TLrmmtCaotYXQAJlZ2Cp31GQHY+lF17p71iHp3NoNYisUblV/lGzBg==", - "dev": true, - "requires": { - "@types/css-tree": "^2.3.11", - "@types/estree": "^1.0.6", - "es-html-parser": "0.3.1" - } - }, - "@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true - }, - "@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "requires": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true - }, - "@inquirer/ansi": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-1.0.2.tgz", - "integrity": "sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==" - }, - "@inquirer/checkbox": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.3.2.tgz", - "integrity": "sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA==", - "requires": { - "@inquirer/ansi": "^1.0.2", - "@inquirer/core": "^10.3.2", - "@inquirer/figures": "^1.0.15", - "@inquirer/type": "^3.0.10", - "yoctocolors-cjs": "^2.1.3" - } - }, - "@inquirer/confirm": { - "version": "5.1.21", - "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.21.tgz", - "integrity": "sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ==", - "requires": { - "@inquirer/core": "^10.3.2", - "@inquirer/type": "^3.0.10" - } - }, - "@inquirer/core": { - "version": "10.3.2", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.3.2.tgz", - "integrity": "sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A==", - "requires": { - "@inquirer/ansi": "^1.0.2", - "@inquirer/figures": "^1.0.15", - "@inquirer/type": "^3.0.10", - "cli-width": "^4.1.0", - "mute-stream": "^2.0.0", - "signal-exit": "^4.1.0", - "wrap-ansi": "^6.2.0", - "yoctocolors-cjs": "^2.1.3" - }, - "dependencies": { - "signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "@inquirer/editor": { - "version": "4.2.23", - "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.23.tgz", - "integrity": "sha512-aLSROkEwirotxZ1pBaP8tugXRFCxW94gwrQLxXfrZsKkfjOYC1aRvAZuhpJOb5cu4IBTJdsCigUlf2iCOu4ZDQ==", - "requires": { - "@inquirer/core": "^10.3.2", - "@inquirer/external-editor": "^1.0.3", - "@inquirer/type": "^3.0.10" - } - }, - "@inquirer/expand": { - "version": "4.0.23", - "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.23.tgz", - "integrity": "sha512-nRzdOyFYnpeYTTR2qFwEVmIWypzdAx/sIkCMeTNTcflFOovfqUk+HcFhQQVBftAh9gmGrpFj6QcGEqrDMDOiew==", - "requires": { - "@inquirer/core": "^10.3.2", - "@inquirer/type": "^3.0.10", - "yoctocolors-cjs": "^2.1.3" - } - }, - "@inquirer/external-editor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.3.tgz", - "integrity": "sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==", - "requires": { - "chardet": "^2.1.1", - "iconv-lite": "^0.7.0" - }, - "dependencies": { - "iconv-lite": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", - "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, - "@inquirer/figures": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.15.tgz", - "integrity": "sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==" - }, - "@inquirer/input": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.3.1.tgz", - "integrity": "sha512-kN0pAM4yPrLjJ1XJBjDxyfDduXOuQHrBB8aLDMueuwUGn+vNpF7Gq7TvyVxx8u4SHlFFj4trmj+a2cbpG4Jn1g==", - "requires": { - "@inquirer/core": "^10.3.2", - "@inquirer/type": "^3.0.10" - } - }, - "@inquirer/number": { - "version": "3.0.23", - "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.23.tgz", - "integrity": "sha512-5Smv0OK7K0KUzUfYUXDXQc9jrf8OHo4ktlEayFlelCjwMXz0299Y8OrI+lj7i4gCBY15UObk76q0QtxjzFcFcg==", - "requires": { - "@inquirer/core": "^10.3.2", - "@inquirer/type": "^3.0.10" - } - }, - "@inquirer/password": { - "version": "4.0.23", - "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.23.tgz", - "integrity": "sha512-zREJHjhT5vJBMZX/IUbyI9zVtVfOLiTO66MrF/3GFZYZ7T4YILW5MSkEYHceSii/KtRk+4i3RE7E1CUXA2jHcA==", - "requires": { - "@inquirer/ansi": "^1.0.2", - "@inquirer/core": "^10.3.2", - "@inquirer/type": "^3.0.10" - } - }, - "@inquirer/prompts": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.10.1.tgz", - "integrity": "sha512-Dx/y9bCQcXLI5ooQ5KyvA4FTgeo2jYj/7plWfV5Ak5wDPKQZgudKez2ixyfz7tKXzcJciTxqLeK7R9HItwiByg==", - "requires": { - "@inquirer/checkbox": "^4.3.2", - "@inquirer/confirm": "^5.1.21", - "@inquirer/editor": "^4.2.23", - "@inquirer/expand": "^4.0.23", - "@inquirer/input": "^4.3.1", - "@inquirer/number": "^3.0.23", - "@inquirer/password": "^4.0.23", - "@inquirer/rawlist": "^4.1.11", - "@inquirer/search": "^3.2.2", - "@inquirer/select": "^4.4.2" - } - }, - "@inquirer/rawlist": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.11.tgz", - "integrity": "sha512-+LLQB8XGr3I5LZN/GuAHo+GpDJegQwuPARLChlMICNdwW7OwV2izlCSCxN6cqpL0sMXmbKbFcItJgdQq5EBXTw==", - "requires": { - "@inquirer/core": "^10.3.2", - "@inquirer/type": "^3.0.10", - "yoctocolors-cjs": "^2.1.3" - } - }, - "@inquirer/search": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.2.2.tgz", - "integrity": "sha512-p2bvRfENXCZdWF/U2BXvnSI9h+tuA8iNqtUKb9UWbmLYCRQxd8WkvwWvYn+3NgYaNwdUkHytJMGG4MMLucI1kA==", - "requires": { - "@inquirer/core": "^10.3.2", - "@inquirer/figures": "^1.0.15", - "@inquirer/type": "^3.0.10", - "yoctocolors-cjs": "^2.1.3" - } - }, - "@inquirer/select": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.4.2.tgz", - "integrity": "sha512-l4xMuJo55MAe+N7Qr4rX90vypFwCajSakx59qe/tMaC1aEHWLyw68wF4o0A4SLAY4E0nd+Vt+EyskeDIqu1M6w==", - "requires": { - "@inquirer/ansi": "^1.0.2", - "@inquirer/core": "^10.3.2", - "@inquirer/figures": "^1.0.15", - "@inquirer/type": "^3.0.10", - "yoctocolors-cjs": "^2.1.3" - } - }, - "@inquirer/type": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.10.tgz", - "integrity": "sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==" - }, - "@isaacs/fs-minipass": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", - "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", - "requires": { - "minipass": "^7.0.4" - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true - }, - "@jridgewell/gen-mapping": { - "version": "0.3.12", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz", - "integrity": "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==", - "requires": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "@jridgewell/remapping": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - "requires": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==" - }, - "@jridgewell/source-map": { - "version": "0.3.11", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", - "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "@jsdevtools/ono": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", - "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==" - }, - "@jsonjoy.com/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", - "dev": true - }, - "@jsonjoy.com/buffers": { - "version": "17.67.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-17.67.0.tgz", - "integrity": "sha512-tfExRpYxBvi32vPs9ZHaTjSP4fHAfzSmcahOfNxtvGHcyJel+aibkPlGeBB+7AoC6hL7lXIE++8okecBxx7lcw==", - "dev": true - }, - "@jsonjoy.com/codegen": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/codegen/-/codegen-1.0.0.tgz", - "integrity": "sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g==", - "dev": true - }, - "@jsonjoy.com/fs-core": { - "version": "4.57.2", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-core/-/fs-core-4.57.2.tgz", - "integrity": "sha512-SVjwklkpIV5wrynpYtuYnfYH1QF4/nDuLBX7VXdb+3miglcAgBVZb/5y0cOsehRV/9Vb+3UqhkMq3/NR3ztdkQ==", - "dev": true, - "requires": { - "@jsonjoy.com/fs-node-builtins": "4.57.2", - "@jsonjoy.com/fs-node-utils": "4.57.2", - "thingies": "^2.5.0" - } - }, - "@jsonjoy.com/fs-fsa": { - "version": "4.57.2", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-fsa/-/fs-fsa-4.57.2.tgz", - "integrity": "sha512-fhO8+iR2I+OCw668ISDJdn1aArc9zx033sWejIyzQ8RBeXa9bDSaUeA3ix0poYOfrj1KdOzytmYNv2/uLDfV6g==", - "dev": true, - "requires": { - "@jsonjoy.com/fs-core": "4.57.2", - "@jsonjoy.com/fs-node-builtins": "4.57.2", - "@jsonjoy.com/fs-node-utils": "4.57.2", - "thingies": "^2.5.0" - } - }, - "@jsonjoy.com/fs-node": { - "version": "4.57.2", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node/-/fs-node-4.57.2.tgz", - "integrity": "sha512-nX2AdL6cOFwLdju9G4/nbRnYevmCJbh7N7hvR3gGm97Cs60uEjyd0rpR+YBS7cTg175zzl22pGKXR5USaQMvKg==", - "dev": true, - "requires": { - "@jsonjoy.com/fs-core": "4.57.2", - "@jsonjoy.com/fs-node-builtins": "4.57.2", - "@jsonjoy.com/fs-node-utils": "4.57.2", - "@jsonjoy.com/fs-print": "4.57.2", - "@jsonjoy.com/fs-snapshot": "4.57.2", - "glob-to-regex.js": "^1.0.0", - "thingies": "^2.5.0" - } - }, - "@jsonjoy.com/fs-node-builtins": { - "version": "4.57.2", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-builtins/-/fs-node-builtins-4.57.2.tgz", - "integrity": "sha512-xhiegylRmhw43Ki2HO1ZBL7DQ5ja/qpRsL29VtQ2xuUHiuDGbgf2uD4p9Qd8hJI5P6RCtGYD50IXHXVq/Ocjcg==", - "dev": true - }, - "@jsonjoy.com/fs-node-to-fsa": { - "version": "4.57.2", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-to-fsa/-/fs-node-to-fsa-4.57.2.tgz", - "integrity": "sha512-18LmWTSONhoAPW+IWRuf8w/+zRolPFGPeGwMxlAhhfY11EKzX+5XHDBPAw67dBF5dxDErHJbl40U+3IXSDRXSQ==", - "dev": true, - "requires": { - "@jsonjoy.com/fs-fsa": "4.57.2", - "@jsonjoy.com/fs-node-builtins": "4.57.2", - "@jsonjoy.com/fs-node-utils": "4.57.2" - } - }, - "@jsonjoy.com/fs-node-utils": { - "version": "4.57.2", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-utils/-/fs-node-utils-4.57.2.tgz", - "integrity": "sha512-rsPSJgekz43IlNbLyAM/Ab+ouYLWGp5DDBfYBNNEqDaSpsbXfthBn29Q4muFA9L0F+Z3mKo+CWlgSCXrf+mOyQ==", - "dev": true, - "requires": { - "@jsonjoy.com/fs-node-builtins": "4.57.2" - } - }, - "@jsonjoy.com/fs-print": { - "version": "4.57.2", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-print/-/fs-print-4.57.2.tgz", - "integrity": "sha512-wK9NSow48i4DbDl9F1CQE5TqnyZOJ04elU3WFG5aJ76p+YxO/ulyBBQvKsessPxdo381Bc2pcEoyPujMOhcRqQ==", - "dev": true, - "requires": { - "@jsonjoy.com/fs-node-utils": "4.57.2", - "tree-dump": "^1.1.0" - } - }, - "@jsonjoy.com/fs-snapshot": { - "version": "4.57.2", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-snapshot/-/fs-snapshot-4.57.2.tgz", - "integrity": "sha512-GdduDZuoP5V/QCgJkx9+BZ6SC0EZ/smXAdTS7PfMqgMTGXLlt/bH/FqMYaqB9JmLf05sJPtO0XRbAwwkEEPbVw==", - "dev": true, - "requires": { - "@jsonjoy.com/buffers": "^17.65.0", - "@jsonjoy.com/fs-node-utils": "4.57.2", - "@jsonjoy.com/json-pack": "^17.65.0", - "@jsonjoy.com/util": "^17.65.0" - }, - "dependencies": { - "@jsonjoy.com/base64": { - "version": "17.67.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-17.67.0.tgz", - "integrity": "sha512-5SEsJGsm15aP8TQGkDfJvz9axgPwAEm98S5DxOuYe8e1EbfajcDmgeXXzccEjh+mLnjqEKrkBdjHWS5vFNwDdw==", - "dev": true - }, - "@jsonjoy.com/codegen": { - "version": "17.67.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/codegen/-/codegen-17.67.0.tgz", - "integrity": "sha512-idnkUplROpdBOV0HMcwhsCUS5TRUi9poagdGs70A6S4ux9+/aPuKbh8+UYRTLYQHtXvAdNfQWXDqZEx5k4Dj2Q==", - "dev": true - }, - "@jsonjoy.com/json-pack": { - "version": "17.67.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-17.67.0.tgz", - "integrity": "sha512-t0ejURcGaZsn1ClbJ/3kFqSOjlryd92eQY465IYrezsXmPcfHPE/av4twRSxf6WE+TkZgLY+71vCZbiIiFKA/w==", - "dev": true, - "requires": { - "@jsonjoy.com/base64": "17.67.0", - "@jsonjoy.com/buffers": "17.67.0", - "@jsonjoy.com/codegen": "17.67.0", - "@jsonjoy.com/json-pointer": "17.67.0", - "@jsonjoy.com/util": "17.67.0", - "hyperdyperid": "^1.2.0", - "thingies": "^2.5.0", - "tree-dump": "^1.1.0" - } - }, - "@jsonjoy.com/json-pointer": { - "version": "17.67.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pointer/-/json-pointer-17.67.0.tgz", - "integrity": "sha512-+iqOFInH+QZGmSuaybBUNdh7yvNrXvqR+h3wjXm0N/3JK1EyyFAeGJvqnmQL61d1ARLlk/wJdFKSL+LHJ1eaUA==", - "dev": true, - "requires": { - "@jsonjoy.com/util": "17.67.0" - } - }, - "@jsonjoy.com/util": { - "version": "17.67.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-17.67.0.tgz", - "integrity": "sha512-6+8xBaz1rLSohlGh68D1pdw3AwDi9xydm8QNlAFkvnavCJYSze+pxoW2VKP8p308jtlMRLs5NTHfPlZLd4w7ew==", - "dev": true, - "requires": { - "@jsonjoy.com/buffers": "17.67.0", - "@jsonjoy.com/codegen": "17.67.0" - } - } - } - }, - "@jsonjoy.com/json-pack": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.21.0.tgz", - "integrity": "sha512-+AKG+R2cfZMShzrF2uQw34v3zbeDYUqnQ+jg7ORic3BGtfw9p/+N6RJbq/kkV8JmYZaINknaEQ2m0/f693ZPpg==", - "dev": true, - "requires": { - "@jsonjoy.com/base64": "^1.1.2", - "@jsonjoy.com/buffers": "^1.2.0", - "@jsonjoy.com/codegen": "^1.0.0", - "@jsonjoy.com/json-pointer": "^1.0.2", - "@jsonjoy.com/util": "^1.9.0", - "hyperdyperid": "^1.2.0", - "thingies": "^2.5.0", - "tree-dump": "^1.1.0" - }, - "dependencies": { - "@jsonjoy.com/buffers": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz", - "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==", - "dev": true - } - } - }, - "@jsonjoy.com/json-pointer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pointer/-/json-pointer-1.0.2.tgz", - "integrity": "sha512-Fsn6wM2zlDzY1U+v4Nc8bo3bVqgfNTGcn6dMgs6FjrEnt4ZCe60o6ByKRjOGlI2gow0aE/Q41QOigdTqkyK5fg==", - "dev": true, - "requires": { - "@jsonjoy.com/codegen": "^1.0.0", - "@jsonjoy.com/util": "^1.9.0" - } - }, - "@jsonjoy.com/util": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.9.0.tgz", - "integrity": "sha512-pLuQo+VPRnN8hfPqUTLTHk126wuYdXVxE6aDmjSeV4NCAgyxWbiOIeNJVtID3h1Vzpoi9m4jXezf73I6LgabgQ==", - "dev": true, - "requires": { - "@jsonjoy.com/buffers": "^1.0.0", - "@jsonjoy.com/codegen": "^1.0.0" - }, - "dependencies": { - "@jsonjoy.com/buffers": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz", - "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==", - "dev": true - } - } - }, - "@knowledgecode/delegate": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/@knowledgecode/delegate/-/delegate-0.10.3.tgz", - "integrity": "sha512-iuee+vI4XhtiSHv+UpjTU4mDl2Og9FS+Rgvk645At92P3U+GJ3YJfYgC/Gi+fNdAzXCXK2yPHSyc4fF4x93crw==" - }, - "@kolkov/ngx-gallery": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@kolkov/ngx-gallery/-/ngx-gallery-2.0.1.tgz", - "integrity": "sha512-mTigRy9Ha7bqCF/+GNKeW2Oe8ZILuM5GGMw+ZbvTQWq3X5hngeFFgv8GFG49Py3biX67kb0NhqCP+msLe4wbXQ==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@kurkle/color": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.2.tgz", - "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==" - }, - "@leichtgewicht/ip-codec": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", - "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", - "dev": true - }, - "@lifeomic/attempt": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@lifeomic/attempt/-/attempt-3.1.0.tgz", - "integrity": "sha512-QZqem4QuAnAyzfz+Gj5/+SLxqwCAw2qmt7732ZXodr6VDWGeYLG6w1i/vYLa55JQM9wRuBKLmXmiZ2P0LtE5rw==" - }, - "@listr2/prompt-adapter-inquirer": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-3.0.5.tgz", - "integrity": "sha512-WELs+hj6xcilkloBXYf9XXK8tYEnKsgLj01Xl5ONUJpKjmT5hGVUzNUS5tooUxs7pGMrw+jFD/41WpqW4V3LDA==", - "requires": { - "@inquirer/type": "^3.0.8" - } - }, - "@lit-labs/ssr-dom-shim": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.3.0.tgz", - "integrity": "sha512-nQIWonJ6eFAvUUrSlwyHDm/aE8PBDu5kRpL0vHMg6K8fK3Diq1xdPjTnsJSwxABhaZ+5eBi1btQB5ShUTKo4nQ==" - }, - "@lit/reactive-element": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", - "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", - "requires": { - "@lit-labs/ssr-dom-shim": "^1.0.0" - } - }, - "@lmdb/lmdb-darwin-arm64": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.5.1.tgz", - "integrity": "sha512-tpfN4kKrrMpQ+If1l8bhmoNkECJi0iOu6AEdrTJvWVC+32sLxTARX5Rsu579mPImRP9YFWfWgeRQ5oav7zApQQ==", - "dev": true, - "optional": true - }, - "@lmdb/lmdb-darwin-x64": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.5.1.tgz", - "integrity": "sha512-+a2tTfc3rmWhLAolFUWRgJtpSuu+Fw/yjn4rF406NMxhfjbMuiOUTDRvRlMFV+DzyjkwnokisskHbCWkS3Ly5w==", - "dev": true, - "optional": true - }, - "@lmdb/lmdb-linux-arm": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.5.1.tgz", - "integrity": "sha512-0EgcE6reYr8InjD7V37EgXcYrloqpxVPINy3ig1MwDSbl6LF/vXTYRH9OE1Ti1D8YZnB35ZH9aTcdfSb5lql2A==", - "dev": true, - "optional": true - }, - "@lmdb/lmdb-linux-arm64": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.5.1.tgz", - "integrity": "sha512-aoERa5B6ywXdyFeYGQ1gbQpkMkDbEo45qVoXE5QpIRavqjnyPwjOulMkmkypkmsbJ5z4Wi0TBztON8agCTG0Vg==", - "dev": true, - "optional": true - }, - "@lmdb/lmdb-linux-x64": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.5.1.tgz", - "integrity": "sha512-SqNDY1+vpji7bh0sFH5wlWyFTOzjbDOl0/kB5RLLYDAFyd/uw3n7wyrmas3rYPpAW7z18lMOi1yKlTPv967E3g==", - "dev": true, - "optional": true - }, - "@lmdb/lmdb-win32-arm64": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-arm64/-/lmdb-win32-arm64-3.5.1.tgz", - "integrity": "sha512-50v0O1Lt37cwrmR9vWZK5hRW0Aw+KEmxJJ75fge/zIYdvNKB/0bSMSVR5Uc2OV9JhosIUyklOmrEvavwNJ8D6w==", - "dev": true, - "optional": true - }, - "@lmdb/lmdb-win32-x64": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.5.1.tgz", - "integrity": "sha512-qwosvPyl+zpUlp3gRb7UcJ3H8S28XHCzkv0Y0EgQToXjQP91ZD67EHSCDmaLjtKhe+GVIW5om1KUpzVLA0l6pg==", - "dev": true, - "optional": true - }, - "@loaders.gl/core": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/@loaders.gl/core/-/core-4.3.4.tgz", - "integrity": "sha512-cG0C5fMZ1jyW6WCsf4LoHGvaIAJCEVA/ioqKoYRwoSfXkOf+17KupK1OUQyUCw5XoRn+oWA1FulJQOYlXnb9Gw==", - "requires": { - "@loaders.gl/loader-utils": "4.3.4", - "@loaders.gl/schema": "4.3.4", - "@loaders.gl/worker-utils": "4.3.4", - "@probe.gl/log": "^4.0.2" - } - }, - "@loaders.gl/draco": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/@loaders.gl/draco/-/draco-4.3.4.tgz", - "integrity": "sha512-4Lx0rKmYENGspvcgV5XDpFD9o+NamXoazSSl9Oa3pjVVjo+HJuzCgrxTQYD/3JvRrolW/QRehZeWD/L/cEC6mw==", - "requires": { - "@loaders.gl/loader-utils": "4.3.4", - "@loaders.gl/schema": "4.3.4", - "@loaders.gl/worker-utils": "4.3.4", - "draco3d": "1.5.7" - } - }, - "@loaders.gl/gltf": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/@loaders.gl/gltf/-/gltf-4.3.4.tgz", - "integrity": "sha512-EiUTiLGMfukLd9W98wMpKmw+hVRhQ0dJ37wdlXK98XPeGGB+zTQxCcQY+/BaMhsSpYt/OOJleHhTfwNr8RgzRg==", - "requires": { - "@loaders.gl/draco": "4.3.4", - "@loaders.gl/images": "4.3.4", - "@loaders.gl/loader-utils": "4.3.4", - "@loaders.gl/schema": "4.3.4", - "@loaders.gl/textures": "4.3.4", - "@math.gl/core": "^4.1.0" - } - }, - "@loaders.gl/images": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/@loaders.gl/images/-/images-4.3.4.tgz", - "integrity": "sha512-qgc33BaNsqN9cWa/xvcGvQ50wGDONgQQdzHCKDDKhV2w/uptZoR5iofJfuG8UUV2vUMMd82Uk9zbopRx2rS4Ag==", - "requires": { - "@loaders.gl/loader-utils": "4.3.4" - } - }, - "@loaders.gl/las": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/@loaders.gl/las/-/las-4.3.4.tgz", - "integrity": "sha512-KGyVuSQwpnVO/RCHYF8ITkDd7DpXnhAPDpgGMCBrpWvBubAbIY38oP0uGecNO/HVfRVAovDEobZICN3uQx2Weg==", - "requires": { - "@loaders.gl/loader-utils": "4.3.4", - "@loaders.gl/schema": "4.3.4", - "laz-perf": "^0.0.6" - } - }, - "@loaders.gl/loader-utils": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/@loaders.gl/loader-utils/-/loader-utils-4.3.4.tgz", - "integrity": "sha512-tjMZvlKQSaMl2qmYTAxg+ySR6zd6hQn5n3XaU8+Ehp90TD3WzxvDKOMNDqOa72fFmIV+KgPhcmIJTpq4lAdC4Q==", - "requires": { - "@loaders.gl/schema": "4.3.4", - "@loaders.gl/worker-utils": "4.3.4", - "@probe.gl/log": "^4.0.2", - "@probe.gl/stats": "^4.0.2" - } - }, - "@loaders.gl/schema": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/@loaders.gl/schema/-/schema-4.3.4.tgz", - "integrity": "sha512-1YTYoatgzr/6JTxqBLwDiD3AVGwQZheYiQwAimWdRBVB0JAzych7s1yBuE0CVEzj4JDPKOzVAz8KnU1TiBvJGw==", - "requires": { - "@types/geojson": "^7946.0.7" - } - }, - "@loaders.gl/textures": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/@loaders.gl/textures/-/textures-4.3.4.tgz", - "integrity": "sha512-arWIDjlE7JaDS6v9by7juLfxPGGnjT9JjleaXx3wq/PTp+psLOpGUywHXm38BNECos3MFEQK3/GFShWI+/dWPw==", - "requires": { - "@loaders.gl/images": "4.3.4", - "@loaders.gl/loader-utils": "4.3.4", - "@loaders.gl/schema": "4.3.4", - "@loaders.gl/worker-utils": "4.3.4", - "@math.gl/types": "^4.1.0", - "ktx-parse": "^0.7.0", - "texture-compressor": "^1.0.2" - } - }, - "@loaders.gl/worker-utils": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/@loaders.gl/worker-utils/-/worker-utils-4.3.4.tgz", - "integrity": "sha512-EbsszrASgT85GH3B7jkx7YXfQyIYo/rlobwMx6V3ewETapPUwdSAInv+89flnk5n2eu2Lpdeh+2zS6PvqbL2RA==" - }, - "@mantine/core": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/@mantine/core/-/core-9.3.1.tgz", - "integrity": "sha512-4rBoHpggSohayE+Os7lKdbsHTw7m/uZRKYjk9DN6cKBhQIjdiULdcG+b4b5CMVZSqZDHPgT70uWGI7yqkn8Ufw==", - "requires": { - "@floating-ui/react": "^0.27.19", - "clsx": "^2.1.1", - "react-number-format": "^5.4.5", - "react-remove-scroll": "^2.7.2", - "type-fest": "^5.6.0" - } - }, - "@mantine/hooks": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/@mantine/hooks/-/hooks-9.3.1.tgz", - "integrity": "sha512-zAOlxV59j5CDgAnExN+ypaR6dVW1vwMKDvKUxIlUVd/e52qxYnPyYRD+shJmyOLaZRuQmVF0R/7mJAjt2jw9cA==" - }, - "@mantine/utils": { - "version": "6.0.22", - "resolved": "https://registry.npmjs.org/@mantine/utils/-/utils-6.0.22.tgz", - "integrity": "sha512-RSKlNZvxhMCkOFZ6slbYvZYbWjHUM+PxDQnupIOxIdsTZQQjx/BFfrfJ7kQFOP+g7MtpOds8weAetEs5obwMOQ==" - }, - "@math.gl/core": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@math.gl/core/-/core-4.1.0.tgz", - "integrity": "sha512-FrdHBCVG3QdrworwrUSzXIaK+/9OCRLscxI2OUy6sLOHyHgBMyfnEGs99/m3KNvs+95BsnQLWklVfpKfQzfwKA==", - "requires": { - "@math.gl/types": "4.1.0" - } - }, - "@math.gl/types": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@math.gl/types/-/types-4.1.0.tgz", - "integrity": "sha512-clYZdHcmRvMzVK5fjeDkQlHUzXQSNdZ7s4xOqC3nJPgz4C/TZkUecTo9YS4PruZqtDda/ag4erndP0MIn40dGA==" - }, - "@modelcontextprotocol/sdk": { - "version": "1.26.0", - "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.26.0.tgz", - "integrity": "sha512-Y5RmPncpiDtTXDbLKswIJzTqu2hyBKxTNsgKqKclDbhIgg1wgtf1fRuvxgTnRfcnxtvvgbIEcqUOzZrJ6iSReg==", - "requires": { - "@hono/node-server": "^1.19.9", - "ajv": "^8.17.1", - "ajv-formats": "^3.0.1", - "content-type": "^1.0.5", - "cors": "^2.8.5", - "cross-spawn": "^7.0.5", - "eventsource": "^3.0.2", - "eventsource-parser": "^3.0.0", - "express": "^5.2.1", - "express-rate-limit": "^8.2.1", - "hono": "^4.11.4", - "jose": "^6.1.3", - "json-schema-typed": "^8.0.2", - "pkce-challenge": "^5.0.0", - "raw-body": "^3.0.0", - "zod": "^3.25 || ^4.0", - "zod-to-json-schema": "^3.25.1" - }, - "dependencies": { - "accepts": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", - "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", - "requires": { - "mime-types": "^3.0.0", - "negotiator": "^1.0.0" - } - }, - "ajv-formats": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", - "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", - "requires": { - "ajv": "^8.0.0" - } - }, - "body-parser": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.2.tgz", - "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==", - "requires": { - "bytes": "^3.1.2", - "content-type": "^1.0.5", - "debug": "^4.4.3", - "http-errors": "^2.0.0", - "iconv-lite": "^0.7.0", - "on-finished": "^2.4.1", - "qs": "^6.14.1", - "raw-body": "^3.0.1", - "type-is": "^2.0.1" - } - }, - "content-disposition": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.1.tgz", - "integrity": "sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==" - }, - "cookie-signature": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", - "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==" - }, - "encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==" - }, - "express": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", - "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", - "requires": { - "accepts": "^2.0.0", - "body-parser": "^2.2.1", - "content-disposition": "^1.0.0", - "content-type": "^1.0.5", - "cookie": "^0.7.1", - "cookie-signature": "^1.2.1", - "debug": "^4.4.0", - "depd": "^2.0.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "finalhandler": "^2.1.0", - "fresh": "^2.0.0", - "http-errors": "^2.0.0", - "merge-descriptors": "^2.0.0", - "mime-types": "^3.0.0", - "on-finished": "^2.4.1", - "once": "^1.4.0", - "parseurl": "^1.3.3", - "proxy-addr": "^2.0.7", - "qs": "^6.14.0", - "range-parser": "^1.2.1", - "router": "^2.2.0", - "send": "^1.1.0", - "serve-static": "^2.2.0", - "statuses": "^2.0.1", - "type-is": "^2.0.1", - "vary": "^1.1.2" - } - }, - "finalhandler": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", - "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", - "requires": { - "debug": "^4.4.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "on-finished": "^2.4.1", - "parseurl": "^1.3.3", - "statuses": "^2.0.1" - } - }, - "fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", - "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==" - }, - "iconv-lite": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", - "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - }, - "media-typer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", - "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==" - }, - "merge-descriptors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", - "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==" - }, - "mime-db": { - "version": "1.54.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", - "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==" - }, - "mime-types": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", - "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", - "requires": { - "mime-db": "^1.54.0" - } - }, - "negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==" - }, - "raw-body": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", - "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", - "requires": { - "bytes": "~3.1.2", - "http-errors": "~2.0.1", - "iconv-lite": "~0.7.0", - "unpipe": "~1.0.0" - } - }, - "send": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", - "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", - "requires": { - "debug": "^4.4.3", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "fresh": "^2.0.0", - "http-errors": "^2.0.1", - "mime-types": "^3.0.2", - "ms": "^2.1.3", - "on-finished": "^2.4.1", - "range-parser": "^1.2.1", - "statuses": "^2.0.2" - } - }, - "serve-static": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz", - "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", - "requires": { - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "parseurl": "^1.3.3", - "send": "^1.2.0" - } - }, - "type-is": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", - "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", - "requires": { - "content-type": "^1.0.5", - "media-typer": "^1.1.0", - "mime-types": "^3.0.0" - } - } - } - }, - "@msgpackr-extract/msgpackr-extract-darwin-arm64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz", - "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==", - "dev": true, - "optional": true - }, - "@msgpackr-extract/msgpackr-extract-darwin-x64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz", - "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==", - "dev": true, - "optional": true - }, - "@msgpackr-extract/msgpackr-extract-linux-arm": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz", - "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==", - "dev": true, - "optional": true - }, - "@msgpackr-extract/msgpackr-extract-linux-arm64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz", - "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==", - "dev": true, - "optional": true - }, - "@msgpackr-extract/msgpackr-extract-linux-x64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz", - "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==", - "dev": true, - "optional": true - }, - "@msgpackr-extract/msgpackr-extract-win32-x64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz", - "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==", - "dev": true, - "optional": true - }, - "@napi-rs/nice": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice/-/nice-1.1.1.tgz", - "integrity": "sha512-xJIPs+bYuc9ASBl+cvGsKbGrJmS6fAKaSZCnT0lhahT5rhA2VVy9/EcIgd2JhtEuFOJNx7UHNn/qiTPTY4nrQw==", - "dev": true, - "optional": true, - "requires": { - "@napi-rs/nice-android-arm-eabi": "1.1.1", - "@napi-rs/nice-android-arm64": "1.1.1", - "@napi-rs/nice-darwin-arm64": "1.1.1", - "@napi-rs/nice-darwin-x64": "1.1.1", - "@napi-rs/nice-freebsd-x64": "1.1.1", - "@napi-rs/nice-linux-arm-gnueabihf": "1.1.1", - "@napi-rs/nice-linux-arm64-gnu": "1.1.1", - "@napi-rs/nice-linux-arm64-musl": "1.1.1", - "@napi-rs/nice-linux-ppc64-gnu": "1.1.1", - "@napi-rs/nice-linux-riscv64-gnu": "1.1.1", - "@napi-rs/nice-linux-s390x-gnu": "1.1.1", - "@napi-rs/nice-linux-x64-gnu": "1.1.1", - "@napi-rs/nice-linux-x64-musl": "1.1.1", - "@napi-rs/nice-openharmony-arm64": "1.1.1", - "@napi-rs/nice-win32-arm64-msvc": "1.1.1", - "@napi-rs/nice-win32-ia32-msvc": "1.1.1", - "@napi-rs/nice-win32-x64-msvc": "1.1.1" - } - }, - "@napi-rs/nice-android-arm-eabi": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm-eabi/-/nice-android-arm-eabi-1.1.1.tgz", - "integrity": "sha512-kjirL3N6TnRPv5iuHw36wnucNqXAO46dzK9oPb0wj076R5Xm8PfUVA9nAFB5ZNMmfJQJVKACAPd/Z2KYMppthw==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-android-arm64": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm64/-/nice-android-arm64-1.1.1.tgz", - "integrity": "sha512-blG0i7dXgbInN5urONoUCNf+DUEAavRffrO7fZSeoRMJc5qD+BJeNcpr54msPF6qfDD6kzs9AQJogZvT2KD5nw==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-darwin-arm64": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-arm64/-/nice-darwin-arm64-1.1.1.tgz", - "integrity": "sha512-s/E7w45NaLqTGuOjC2p96pct4jRfo61xb9bU1unM/MJ/RFkKlJyJDx7OJI/O0ll/hrfpqKopuAFDV8yo0hfT7A==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-darwin-x64": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-x64/-/nice-darwin-x64-1.1.1.tgz", - "integrity": "sha512-dGoEBnVpsdcC+oHHmW1LRK5eiyzLwdgNQq3BmZIav+9/5WTZwBYX7r5ZkQC07Nxd3KHOCkgbHSh4wPkH1N1LiQ==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-freebsd-x64": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-freebsd-x64/-/nice-freebsd-x64-1.1.1.tgz", - "integrity": "sha512-kHv4kEHAylMYmlNwcQcDtXjklYp4FCf0b05E+0h6nDHsZ+F0bDe04U/tXNOqrx5CmIAth4vwfkjjUmp4c4JktQ==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-linux-arm-gnueabihf": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm-gnueabihf/-/nice-linux-arm-gnueabihf-1.1.1.tgz", - "integrity": "sha512-E1t7K0efyKXZDoZg1LzCOLxgolxV58HCkaEkEvIYQx12ht2pa8hoBo+4OB3qh7e+QiBlp1SRf+voWUZFxyhyqg==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-linux-arm64-gnu": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-gnu/-/nice-linux-arm64-gnu-1.1.1.tgz", - "integrity": "sha512-CIKLA12DTIZlmTaaKhQP88R3Xao+gyJxNWEn04wZwC2wmRapNnxCUZkVwggInMJvtVElA+D4ZzOU5sX4jV+SmQ==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-linux-arm64-musl": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-musl/-/nice-linux-arm64-musl-1.1.1.tgz", - "integrity": "sha512-+2Rzdb3nTIYZ0YJF43qf2twhqOCkiSrHx2Pg6DJaCPYhhaxbLcdlV8hCRMHghQ+EtZQWGNcS2xF4KxBhSGeutg==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-linux-ppc64-gnu": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-ppc64-gnu/-/nice-linux-ppc64-gnu-1.1.1.tgz", - "integrity": "sha512-4FS8oc0GeHpwvv4tKciKkw3Y4jKsL7FRhaOeiPei0X9T4Jd619wHNe4xCLmN2EMgZoeGg+Q7GY7BsvwKpL22Tg==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-linux-riscv64-gnu": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-riscv64-gnu/-/nice-linux-riscv64-gnu-1.1.1.tgz", - "integrity": "sha512-HU0nw9uD4FO/oGCCk409tCi5IzIZpH2agE6nN4fqpwVlCn5BOq0MS1dXGjXaG17JaAvrlpV5ZeyZwSon10XOXw==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-linux-s390x-gnu": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-s390x-gnu/-/nice-linux-s390x-gnu-1.1.1.tgz", - "integrity": "sha512-2YqKJWWl24EwrX0DzCQgPLKQBxYDdBxOHot1KWEq7aY2uYeX+Uvtv4I8xFVVygJDgf6/92h9N3Y43WPx8+PAgQ==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-linux-x64-gnu": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-gnu/-/nice-linux-x64-gnu-1.1.1.tgz", - "integrity": "sha512-/gaNz3R92t+dcrfCw/96pDopcmec7oCcAQ3l/M+Zxr82KT4DljD37CpgrnXV+pJC263JkW572pdbP3hP+KjcIg==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-linux-x64-musl": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-musl/-/nice-linux-x64-musl-1.1.1.tgz", - "integrity": "sha512-xScCGnyj/oppsNPMnevsBe3pvNaoK7FGvMjT35riz9YdhB2WtTG47ZlbxtOLpjeO9SqqQ2J2igCmz6IJOD5JYw==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-openharmony-arm64": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-openharmony-arm64/-/nice-openharmony-arm64-1.1.1.tgz", - "integrity": "sha512-6uJPRVwVCLDeoOaNyeiW0gp2kFIM4r7PL2MczdZQHkFi9gVlgm+Vn+V6nTWRcu856mJ2WjYJiumEajfSm7arPQ==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-win32-arm64-msvc": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-arm64-msvc/-/nice-win32-arm64-msvc-1.1.1.tgz", - "integrity": "sha512-uoTb4eAvM5B2aj/z8j+Nv8OttPf2m+HVx3UjA5jcFxASvNhQriyCQF1OB1lHL43ZhW+VwZlgvjmP5qF3+59atA==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-win32-ia32-msvc": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-ia32-msvc/-/nice-win32-ia32-msvc-1.1.1.tgz", - "integrity": "sha512-CNQqlQT9MwuCsg1Vd/oKXiuH+TcsSPJmlAFc5frFyX/KkOh0UpBLEj7aoY656d5UKZQMQFP7vJNa1DNUNORvug==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-win32-x64-msvc": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-x64-msvc/-/nice-win32-x64-msvc-1.1.1.tgz", - "integrity": "sha512-vB+4G/jBQCAh0jelMTY3+kgFy00Hlx2f2/1zjMoH821IbplbWZOkLiTYXQkygNTzQJTq5cvwBDgn2ppHD+bglQ==", - "dev": true, - "optional": true - }, - "@napi-rs/wasm-runtime": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", - "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", - "dev": true, - "optional": true, - "requires": { - "@tybys/wasm-util": "^0.10.1" - } - }, - "@ng-select/ng-option-highlight": { - "version": "21.8.2", - "resolved": "https://registry.npmjs.org/@ng-select/ng-option-highlight/-/ng-option-highlight-21.8.2.tgz", - "integrity": "sha512-x9fH607cr6BgFWADMkzPK5wrZCpkBJkNzAXfEiD+gX+MWzgyE74WdY7H5ismrMkT2bMJJ1xysc/ypMzt0E7z7Q==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@ng-select/ng-select": { - "version": "21.8.0", - "resolved": "https://registry.npmjs.org/@ng-select/ng-select/-/ng-select-21.8.0.tgz", - "integrity": "sha512-PXJFfitM7VO/ynqjJ3wKGoRETU6y0ARjcz5bA5V420fX0H6WyU3O91Ex5uFDNx08DzT4fU1GHPs0KXxI+LYOVg==", - "requires": { - "tslib": "^2.8.1" - } - }, - "@ngneat/content-loader": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@ngneat/content-loader/-/content-loader-7.0.0.tgz", - "integrity": "sha512-CfwsDxh2hsQfUwca3SWnyjQD5jcG6Vb6Ew0JIztj/spr3YIC9Obz7AqEVMDYPKch4QzPJiJ6OVRuLRM2DKiG9g==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@ngtools/webpack": { - "version": "21.2.14", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-21.2.14.tgz", - "integrity": "sha512-HXt4pYLlWCJphO6TZoTsi2Z9Lyq/PqYpiKlqUmNoo/oIiSuXtoT/8+84Z/SfBdzeZpiVrAFz+/QGTVFoD8RSGg==", - "dev": true - }, - "@noble/hashes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", - "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", - "dev": true - }, - "@npmcli/agent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-4.0.0.tgz", - "integrity": "sha512-kAQTcEN9E8ERLVg5AsGwLNoFb+oEG6engbqAU2P43gD4JEIkNGMHdVQ096FsOAAYpZPB0RSt0zgInKIAS1l5QA==", - "requires": { - "agent-base": "^7.1.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.1", - "lru-cache": "^11.2.1", - "socks-proxy-agent": "^8.0.3" - }, - "dependencies": { - "lru-cache": { - "version": "11.3.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", - "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==" - } - } - }, - "@npmcli/fs": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-5.0.0.tgz", - "integrity": "sha512-7OsC1gNORBEawOa5+j2pXN9vsicaIOH5cPXxoR6fJOmH6/EXpJB2CajXOu1fPRFun2m1lktEFX11+P89hqO/og==", - "requires": { - "semver": "^7.3.5" - } - }, - "@npmcli/git": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-7.0.2.tgz", - "integrity": "sha512-oeolHDjExNAJAnlYP2qzNjMX/Xi9bmu78C9dIGr4xjobrSKbuMYCph8lTzn4vnW3NjIqVmw/f8BCfouqyJXlRg==", - "requires": { - "@gar/promise-retry": "^1.0.0", - "@npmcli/promise-spawn": "^9.0.0", - "ini": "^6.0.0", - "lru-cache": "^11.2.1", - "npm-pick-manifest": "^11.0.1", - "proc-log": "^6.0.0", - "semver": "^7.3.5", - "which": "^6.0.0" - }, - "dependencies": { - "isexe": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", - "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==" - }, - "lru-cache": { - "version": "11.3.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", - "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==" - }, - "which": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", - "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", - "requires": { - "isexe": "^4.0.0" - } - } - } - }, - "@npmcli/installed-package-contents": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-4.0.0.tgz", - "integrity": "sha512-yNyAdkBxB72gtZ4GrwXCM0ZUedo9nIbOMKfGjt6Cu6DXf0p8y1PViZAKDC8q8kv/fufx0WTjRBdSlyrvnP7hmA==", - "requires": { - "npm-bundled": "^5.0.0", - "npm-normalize-package-bin": "^5.0.0" - } - }, - "@npmcli/node-gyp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-5.0.0.tgz", - "integrity": "sha512-uuG5HZFXLfyFKqg8QypsmgLQW7smiRjVc45bqD/ofZZcR/uxEjgQU8qDPv0s9TEeMUiAAU/GC5bR6++UdTirIQ==" - }, - "@npmcli/package-json": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-7.0.5.tgz", - "integrity": "sha512-iVuTlG3ORq2iaVa1IWUxAO/jIp77tUKBhoMjuzYW2kL4MLN1bi/ofqkZ7D7OOwh8coAx1/S2ge0rMdGv8sLSOQ==", - "requires": { - "@npmcli/git": "^7.0.0", - "glob": "^13.0.0", - "hosted-git-info": "^9.0.0", - "json-parse-even-better-errors": "^5.0.0", - "proc-log": "^6.0.0", - "semver": "^7.5.3", - "spdx-expression-parse": "^4.0.0" - } - }, - "@npmcli/promise-spawn": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-9.0.1.tgz", - "integrity": "sha512-OLUaoqBuyxeTqUvjA3FZFiXUfYC1alp3Sa99gW3EUDz3tZ3CbXDdcZ7qWKBzicrJleIgucoWamWH1saAmH/l2Q==", - "requires": { - "which": "^6.0.0" - }, - "dependencies": { - "isexe": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", - "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==" - }, - "which": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", - "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", - "requires": { - "isexe": "^4.0.0" - } - } - } - }, - "@npmcli/redact": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-4.0.0.tgz", - "integrity": "sha512-gOBg5YHMfZy+TfHArfVogwgfBeQnKbbGo3pSUyK/gSI0AVu+pEiDVcKlQb0D8Mg1LNRZILZ6XG8I5dJ4KuAd9Q==" - }, - "@npmcli/run-script": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.4.tgz", - "integrity": "sha512-mGUWr1uMnf0le2TwfOZY4SFxZGXGfm4Jtay/nwAa2FLNAKXUoUwaGwBMNH36UHPtinWfTSJ3nqFQr0091CxVGg==", - "requires": { - "@npmcli/node-gyp": "^5.0.0", - "@npmcli/package-json": "^7.0.0", - "@npmcli/promise-spawn": "^9.0.0", - "node-gyp": "^12.1.0", - "proc-log": "^6.0.0" - } - }, - "@oddbird/popover-polyfill": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@oddbird/popover-polyfill/-/popover-polyfill-0.5.2.tgz", - "integrity": "sha512-iFrvar5SOMtKFOSjYvs4z9UlLqDdJbMx0mgISLcPedv+g0ac5sgeETLGtipHCVIae6HJPclNEH5aCyD1RZaEHw==" - }, - "@openproject/octicons-angular": { - "version": "19.35.0", - "resolved": "https://registry.npmjs.org/@openproject/octicons-angular/-/octicons-angular-19.35.0.tgz", - "integrity": "sha512-oN6bkZeOcrWUAJtfuXsMHmHWpuJMxIt1gvToJpsDgOXFY9Wj1DVO2Di/hMYgG/8k+xv2UZ3kAgks43ENImgLmw==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@openproject/primer-view-components": { - "version": "0.86.2", - "resolved": "https://registry.npmjs.org/@openproject/primer-view-components/-/primer-view-components-0.86.2.tgz", - "integrity": "sha512-xNkNQm0fkDuBjksGr8UaINdOn1/mjs1FEaJCAXhNWkcZrxaEXgx76mxijt7y4T7I4QNXYgNlaQj/tYlmVJjHsw==", - "requires": { - "@github/auto-check-element": "^6.0.0", - "@github/auto-complete-element": "^3.8.0", - "@github/catalyst": "^1.8.0", - "@github/clipboard-copy-element": "^1.3.0", - "@github/details-menu-element": "^1.0.12", - "@github/image-crop-element": "^5.0.0", - "@github/include-fragment-element": "^6.3.0", - "@github/relative-time-element": "^5.0.0", - "@github/remote-input-element": "^0.4.0", - "@github/tab-container-element": "^3.1.2", - "@oddbird/popover-polyfill": "^0.5.2", - "@primer/behaviors": "^1.3.4", - "@primer/live-region-element": "^0.8.0" - } - }, - "@openproject/reactivestates": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@openproject/reactivestates/-/reactivestates-3.0.1.tgz", - "integrity": "sha512-Ov9TyxGCDSPU6Uv83bUN7dEn8ntAZsFAioPtZ0F6ZBJ+OU7NS7raDz/5gGjbmk8ESRcmcZvWSmncRHG2rj74Fw==", - "requires": { - "rxjs": "^7.8.0" - } - }, - "@oxc-project/types": { - "version": "0.113.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.113.0.tgz", - "integrity": "sha512-Tp3XmgxwNQ9pEN9vxgJBAqdRamHibi76iowQ38O2I4PMpcvNRQNVsU2n1x1nv9yh0XoTrGFzf7cZSGxmixxrhA==", - "dev": true - }, - "@parcel/watcher": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", - "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", - "dev": true, - "optional": true, - "requires": { - "@parcel/watcher-android-arm64": "2.5.6", - "@parcel/watcher-darwin-arm64": "2.5.6", - "@parcel/watcher-darwin-x64": "2.5.6", - "@parcel/watcher-freebsd-x64": "2.5.6", - "@parcel/watcher-linux-arm-glibc": "2.5.6", - "@parcel/watcher-linux-arm-musl": "2.5.6", - "@parcel/watcher-linux-arm64-glibc": "2.5.6", - "@parcel/watcher-linux-arm64-musl": "2.5.6", - "@parcel/watcher-linux-x64-glibc": "2.5.6", - "@parcel/watcher-linux-x64-musl": "2.5.6", - "@parcel/watcher-win32-arm64": "2.5.6", - "@parcel/watcher-win32-ia32": "2.5.6", - "@parcel/watcher-win32-x64": "2.5.6", - "detect-libc": "^2.0.3", - "is-glob": "^4.0.3", - "node-addon-api": "^7.0.0", - "picomatch": "^4.0.3" - }, - "dependencies": { - "node-addon-api": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "dev": true, - "optional": true - }, - "picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", - "dev": true, - "optional": true - } - } - }, - "@parcel/watcher-android-arm64": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", - "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==", - "dev": true, - "optional": true - }, - "@parcel/watcher-darwin-arm64": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", - "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==", - "dev": true, - "optional": true - }, - "@parcel/watcher-darwin-x64": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", - "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==", - "dev": true, - "optional": true - }, - "@parcel/watcher-freebsd-x64": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz", - "integrity": "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==", - "dev": true, - "optional": true - }, - "@parcel/watcher-linux-arm-glibc": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz", - "integrity": "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==", - "dev": true, - "optional": true - }, - "@parcel/watcher-linux-arm-musl": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz", - "integrity": "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==", - "dev": true, - "optional": true - }, - "@parcel/watcher-linux-arm64-glibc": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz", - "integrity": "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==", - "dev": true, - "optional": true - }, - "@parcel/watcher-linux-arm64-musl": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz", - "integrity": "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==", - "dev": true, - "optional": true - }, - "@parcel/watcher-linux-x64-glibc": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz", - "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==", - "dev": true, - "optional": true - }, - "@parcel/watcher-linux-x64-musl": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz", - "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==", - "dev": true, - "optional": true - }, - "@parcel/watcher-win32-arm64": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz", - "integrity": "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==", - "dev": true, - "optional": true - }, - "@parcel/watcher-win32-ia32": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz", - "integrity": "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==", - "dev": true, - "optional": true - }, - "@parcel/watcher-win32-x64": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz", - "integrity": "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==", - "dev": true, - "optional": true - }, - "@peculiar/asn1-cms": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-cms/-/asn1-cms-2.6.1.tgz", - "integrity": "sha512-vdG4fBF6Lkirkcl53q6eOdn3XYKt+kJTG59edgRZORlg/3atWWEReRCx5rYE1ZzTTX6vLK5zDMjHh7vbrcXGtw==", - "dev": true, - "requires": { - "@peculiar/asn1-schema": "^2.6.0", - "@peculiar/asn1-x509": "^2.6.1", - "@peculiar/asn1-x509-attr": "^2.6.1", - "asn1js": "^3.0.6", - "tslib": "^2.8.1" - } - }, - "@peculiar/asn1-csr": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-csr/-/asn1-csr-2.6.1.tgz", - "integrity": "sha512-WRWnKfIocHyzFYQTka8O/tXCiBquAPSrRjXbOkHbO4qdmS6loffCEGs+rby6WxxGdJCuunnhS2duHURhjyio6w==", - "dev": true, - "requires": { - "@peculiar/asn1-schema": "^2.6.0", - "@peculiar/asn1-x509": "^2.6.1", - "asn1js": "^3.0.6", - "tslib": "^2.8.1" - } - }, - "@peculiar/asn1-ecc": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-ecc/-/asn1-ecc-2.6.1.tgz", - "integrity": "sha512-+Vqw8WFxrtDIN5ehUdvlN2m73exS2JVG0UAyfVB31gIfor3zWEAQPD+K9ydCxaj3MLen9k0JhKpu9LqviuCE1g==", - "dev": true, - "requires": { - "@peculiar/asn1-schema": "^2.6.0", - "@peculiar/asn1-x509": "^2.6.1", - "asn1js": "^3.0.6", - "tslib": "^2.8.1" - } - }, - "@peculiar/asn1-pfx": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-pfx/-/asn1-pfx-2.6.1.tgz", - "integrity": "sha512-nB5jVQy3MAAWvq0KY0R2JUZG8bO/bTLpnwyOzXyEh/e54ynGTatAR+csOnXkkVD9AFZ2uL8Z7EV918+qB1qDvw==", - "dev": true, - "requires": { - "@peculiar/asn1-cms": "^2.6.1", - "@peculiar/asn1-pkcs8": "^2.6.1", - "@peculiar/asn1-rsa": "^2.6.1", - "@peculiar/asn1-schema": "^2.6.0", - "asn1js": "^3.0.6", - "tslib": "^2.8.1" - } - }, - "@peculiar/asn1-pkcs8": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs8/-/asn1-pkcs8-2.6.1.tgz", - "integrity": "sha512-JB5iQ9Izn5yGMw3ZG4Nw3Xn/hb/G38GYF3lf7WmJb8JZUydhVGEjK/ZlFSWhnlB7K/4oqEs8HnfFIKklhR58Tw==", - "dev": true, - "requires": { - "@peculiar/asn1-schema": "^2.6.0", - "@peculiar/asn1-x509": "^2.6.1", - "asn1js": "^3.0.6", - "tslib": "^2.8.1" - } - }, - "@peculiar/asn1-pkcs9": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs9/-/asn1-pkcs9-2.6.1.tgz", - "integrity": "sha512-5EV8nZoMSxeWmcxWmmcolg22ojZRgJg+Y9MX2fnE2bGRo5KQLqV5IL9kdSQDZxlHz95tHvIq9F//bvL1OeNILw==", - "dev": true, - "requires": { - "@peculiar/asn1-cms": "^2.6.1", - "@peculiar/asn1-pfx": "^2.6.1", - "@peculiar/asn1-pkcs8": "^2.6.1", - "@peculiar/asn1-schema": "^2.6.0", - "@peculiar/asn1-x509": "^2.6.1", - "@peculiar/asn1-x509-attr": "^2.6.1", - "asn1js": "^3.0.6", - "tslib": "^2.8.1" - } - }, - "@peculiar/asn1-rsa": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-rsa/-/asn1-rsa-2.6.1.tgz", - "integrity": "sha512-1nVMEh46SElUt5CB3RUTV4EG/z7iYc7EoaDY5ECwganibQPkZ/Y2eMsTKB/LeyrUJ+W/tKoD9WUqIy8vB+CEdA==", - "dev": true, - "requires": { - "@peculiar/asn1-schema": "^2.6.0", - "@peculiar/asn1-x509": "^2.6.1", - "asn1js": "^3.0.6", - "tslib": "^2.8.1" - } - }, - "@peculiar/asn1-schema": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.6.0.tgz", - "integrity": "sha512-xNLYLBFTBKkCzEZIw842BxytQQATQv+lDTCEMZ8C196iJcJJMBUZxrhSTxLaohMyKK8QlzRNTRkUmanucnDSqg==", - "dev": true, - "requires": { - "asn1js": "^3.0.6", - "pvtsutils": "^1.3.6", - "tslib": "^2.8.1" - } - }, - "@peculiar/asn1-x509": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.6.1.tgz", - "integrity": "sha512-O9jT5F1A2+t3r7C4VT7LYGXqkGLK7Kj1xFpz7U0isPrubwU5PbDoyYtx6MiGst29yq7pXN5vZbQFKRCP+lLZlA==", - "dev": true, - "requires": { - "@peculiar/asn1-schema": "^2.6.0", - "asn1js": "^3.0.6", - "pvtsutils": "^1.3.6", - "tslib": "^2.8.1" - } - }, - "@peculiar/asn1-x509-attr": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509-attr/-/asn1-x509-attr-2.6.1.tgz", - "integrity": "sha512-tlW6cxoHwgcQghnJwv3YS+9OO1737zgPogZ+CgWRUK4roEwIPzRH4JEiG770xe5HX2ATfCpmX60gurfWIF9dcQ==", - "dev": true, - "requires": { - "@peculiar/asn1-schema": "^2.6.0", - "@peculiar/asn1-x509": "^2.6.1", - "asn1js": "^3.0.6", - "tslib": "^2.8.1" - } - }, - "@peculiar/x509": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/@peculiar/x509/-/x509-1.14.3.tgz", - "integrity": "sha512-C2Xj8FZ0uHWeCXXqX5B4/gVFQmtSkiuOolzAgutjTfseNOHT3pUjljDZsTSxXFGgio54bCzVFqmEOUrIVk8RDA==", - "dev": true, - "requires": { - "@peculiar/asn1-cms": "^2.6.0", - "@peculiar/asn1-csr": "^2.6.0", - "@peculiar/asn1-ecc": "^2.6.0", - "@peculiar/asn1-pkcs9": "^2.6.0", - "@peculiar/asn1-rsa": "^2.6.0", - "@peculiar/asn1-schema": "^2.6.0", - "@peculiar/asn1-x509": "^2.6.0", - "pvtsutils": "^1.3.6", - "reflect-metadata": "^0.2.2", - "tslib": "^2.8.1", - "tsyringe": "^4.10.0" - } - }, - "@polka/url": { - "version": "1.0.0-next.29", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", - "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", - "dev": true - }, - "@primer/behaviors": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@primer/behaviors/-/behaviors-1.3.5.tgz", - "integrity": "sha512-HWwz+6MrfK5NTWcg9GdKFpMBW/yrAV937oXiw2eDtsd88P3SRwoCt6ZO6QmKp9RP3nDU9cbqmuGZ0xBh0eIFeg==" - }, - "@primer/css": { - "version": "22.1.0", - "resolved": "https://registry.npmjs.org/@primer/css/-/css-22.1.0.tgz", - "integrity": "sha512-Nwg9QaRiBeu0BU6h+Su0X07daihX1obiuqGRG8y+SexOnvWhN2J5n4OFAvGfQsit07Y7Q6gGoK+yVU5tb8CtDA==" - }, - "@primer/live-region-element": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@primer/live-region-element/-/live-region-element-0.8.0.tgz", - "integrity": "sha512-DIp04IeZvZ+gwCUcBchIvRwJA2PikP/6hnFhcLKgwttcg5OYjBH9t0cZjLnv10Aq1jN0rAFFG+WPMd3bw4hXcA==", - "requires": { - "@lit-labs/ssr-dom-shim": "^1.2.1" - } - }, - "@primer/octicons-react": { - "version": "19.21.0", - "resolved": "https://registry.npmjs.org/@primer/octicons-react/-/octicons-react-19.21.0.tgz", - "integrity": "sha512-KMWYYEIDKNIY0N3fMmNGPWJGHgoJF5NHkJllpOM3upDXuLtAe26Riogp1cfYdhp+sVjGZMt32DxcUhTX7ZhLOQ==" - }, - "@primer/primitives": { - "version": "11.5.1", - "resolved": "https://registry.npmjs.org/@primer/primitives/-/primitives-11.5.1.tgz", - "integrity": "sha512-NB9uYfJ01FVY6zp+33EoUbJ0paS3JrWY+PqdHPebTvyRtQgL3sX8//3jWqjt3/jL81UMEulJRM2A0hPj0/vFpQ==" - }, - "@primer/view-components": { - "version": "npm:@openproject/primer-view-components@0.86.2", - "resolved": "https://registry.npmjs.org/@openproject/primer-view-components/-/primer-view-components-0.86.2.tgz", - "integrity": "sha512-xNkNQm0fkDuBjksGr8UaINdOn1/mjs1FEaJCAXhNWkcZrxaEXgx76mxijt7y4T7I4QNXYgNlaQj/tYlmVJjHsw==", - "requires": { - "@github/auto-check-element": "^6.0.0", - "@github/auto-complete-element": "^3.8.0", - "@github/catalyst": "^1.8.0", - "@github/clipboard-copy-element": "^1.3.0", - "@github/details-menu-element": "^1.0.12", - "@github/image-crop-element": "^5.0.0", - "@github/include-fragment-element": "^6.3.0", - "@github/relative-time-element": "^5.0.0", - "@github/remote-input-element": "^0.4.0", - "@github/tab-container-element": "^3.1.2", - "@oddbird/popover-polyfill": "^0.5.2", - "@primer/behaviors": "^1.3.4", - "@primer/live-region-element": "^0.8.0" - } - }, - "@probe.gl/env": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@probe.gl/env/-/env-4.1.0.tgz", - "integrity": "sha512-5ac2Jm2K72VCs4eSMsM7ykVRrV47w32xOGMvcgqn8vQdEMF9PRXyBGYEV9YbqRKWNKpNKmQJVi4AHM/fkCxs9w==" - }, - "@probe.gl/log": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@probe.gl/log/-/log-4.1.0.tgz", - "integrity": "sha512-r4gRReNY6f+OZEMgfWEXrAE2qJEt8rX0HsDJQXUBMoc+5H47bdB7f/5HBHAmapK8UydwPKL9wCDoS22rJ0yq7Q==", - "requires": { - "@probe.gl/env": "4.1.0" - } - }, - "@probe.gl/stats": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@probe.gl/stats/-/stats-4.1.0.tgz", - "integrity": "sha512-EI413MkWKBDVNIfLdqbeNSJTs7ToBz/KVGkwi3D+dQrSIkRI2IYbWGAU3xX+D6+CI4ls8ehxMhNpUVMaZggDvQ==" - }, - "@rails/actioncable": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@rails/actioncable/-/actioncable-7.0.6.tgz", - "integrity": "sha512-ybBsUrIsu5geM8BtqnpM7ZA9D8uzSz+e1B4JR57NaCmasHKWap6AX5DT7NHIbp21opVet1qqoVSdsoLDqXeB2A==" - }, - "@rails/request.js": { - "version": "0.0.13", - "resolved": "https://registry.npmjs.org/@rails/request.js/-/request.js-0.0.13.tgz", - "integrity": "sha512-7MXmjFOPuaxpjG8brqKJG0EfIe9ak6R0wRnjCBtRuADNFbdlRxETdKx1T5NVU4Ato3iZOkEpeSUEuLboL3tCGA==" - }, - "@rolldown/binding-android-arm64": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.4.tgz", - "integrity": "sha512-vRq9f4NzvbdZavhQbjkJBx7rRebDKYR9zHfO/Wg486+I7bSecdUapzCm5cyXoK+LHokTxgSq7A5baAXUZkIz0w==", - "dev": true, - "optional": true - }, - "@rolldown/binding-darwin-arm64": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.4.tgz", - "integrity": "sha512-kFgEvkWLqt3YCgKB5re9RlIrx9bRsvyVUnaTakEpOPuLGzLpLapYxE9BufJNvPg8GjT6mB1alN4yN1NjzoeM8Q==", - "dev": true, - "optional": true - }, - "@rolldown/binding-darwin-x64": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.4.tgz", - "integrity": "sha512-JXmaOJGsL/+rsmMfutcDjxWM2fTaVgCHGoXS7nE8Z3c9NAYjGqHvXrAhMUZvMpHS/k7Mg+X7n/MVKb7NYWKKww==", - "dev": true, - "optional": true - }, - "@rolldown/binding-freebsd-x64": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.4.tgz", - "integrity": "sha512-ep3Catd6sPnHTM0P4hNEvIv5arnDvk01PfyJIJ+J3wVCG1eEaPo09tvFqdtcaTrkwQy0VWR24uz+cb4IsK53Qw==", - "dev": true, - "optional": true - }, - "@rolldown/binding-linux-arm-gnueabihf": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.4.tgz", - "integrity": "sha512-LwA5ayKIpnsgXJEwWc3h8wPiS33NMIHd9BhsV92T8VetVAbGe2qXlJwNVDGHN5cOQ22R9uYvbrQir2AB+ntT2w==", - "dev": true, - "optional": true - }, - "@rolldown/binding-linux-arm64-gnu": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.4.tgz", - "integrity": "sha512-AC1WsGdlV1MtGay/OQ4J9T7GRadVnpYRzTcygV1hKnypbYN20Yh4t6O1Sa2qRBMqv1etulUknqXjc3CTIsBu6A==", - "dev": true, - "optional": true - }, - "@rolldown/binding-linux-arm64-musl": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.4.tgz", - "integrity": "sha512-lU+6rgXXViO61B4EudxtVMXSOfiZONR29Sys5VGSetUY7X8mg9FCKIIjcPPj8xNDeYzKl+H8F/qSKOBVFJChCQ==", - "dev": true, - "optional": true - }, - "@rolldown/binding-linux-x64-gnu": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.4.tgz", - "integrity": "sha512-DZaN1f0PGp/bSvKhtw50pPsnln4T13ycDq1FrDWRiHmWt1JeW+UtYg9touPFf8yt993p8tS2QjybpzKNTxYEwg==", - "dev": true, - "optional": true - }, - "@rolldown/binding-linux-x64-musl": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.4.tgz", - "integrity": "sha512-RnGxwZLN7fhMMAItnD6dZ7lvy+TI7ba+2V54UF4dhaWa/p8I/ys1E73KO6HmPmgz92ZkfD8TXS1IMV8+uhbR9g==", - "dev": true, - "optional": true - }, - "@rolldown/binding-openharmony-arm64": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.4.tgz", - "integrity": "sha512-6lcI79+X8klGiGd8yHuTgQRjuuJYNggmEml+RsyN596P23l/zf9FVmJ7K0KVKkFAeYEdg0iMUKyIxiV5vebDNQ==", - "dev": true, - "optional": true - }, - "@rolldown/binding-wasm32-wasi": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.4.tgz", - "integrity": "sha512-wz7ohsKCAIWy91blZ/1FlpPdqrsm1xpcEOQVveWoL6+aSPKL4VUcoYmmzuLTssyZxRpEwzuIxL/GDsvpjaBtOw==", - "dev": true, - "optional": true, - "requires": { - "@napi-rs/wasm-runtime": "^1.1.1" - } - }, - "@rolldown/binding-win32-arm64-msvc": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.4.tgz", - "integrity": "sha512-cfiMrfuWCIgsFmcVG0IPuO6qTRHvF7NuG3wngX1RZzc6dU8FuBFb+J3MIR5WrdTNozlumfgL4cvz+R4ozBCvsQ==", - "dev": true, - "optional": true - }, - "@rolldown/binding-win32-x64-msvc": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.4.tgz", - "integrity": "sha512-p6UeR9y7ht82AH57qwGuFYn69S6CZ7LLKdCKy/8T3zS9VTrJei2/CGsTUV45Da4Z9Rbhc7G4gyWQ/Ioamqn09g==", - "dev": true, - "optional": true - }, - "@rolldown/pluginutils": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.4.tgz", - "integrity": "sha512-1BrrmTu0TWfOP1riA8uakjFc9bpIUGzVKETsOtzY39pPga8zELGDl8eu1Dx7/gjM5CAz14UknsUMpBO8L+YntQ==", - "dev": true - }, - "@rollup/rollup-android-arm-eabi": { - "version": "4.60.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.2.tgz", - "integrity": "sha512-dnlp69efPPg6Uaw2dVqzWRfAWRnYVb1XJ8CyyhIbZeaq4CA5/mLeZ1IEt9QqQxmbdvagjLIm2ZL8BxXv5lH4Yw==", - "dev": true, - "optional": true - }, - "@rollup/rollup-android-arm64": { - "version": "4.60.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.2.tgz", - "integrity": "sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==", - "dev": true, - "optional": true - }, - "@rollup/rollup-darwin-arm64": { - "version": "4.60.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.2.tgz", - "integrity": "sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==", - "dev": true, - "optional": true - }, - "@rollup/rollup-darwin-x64": { - "version": "4.60.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.2.tgz", - "integrity": "sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==", - "dev": true, - "optional": true - }, - "@rollup/rollup-freebsd-arm64": { - "version": "4.60.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.2.tgz", - "integrity": "sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==", - "dev": true, - "optional": true - }, - "@rollup/rollup-freebsd-x64": { - "version": "4.60.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.2.tgz", - "integrity": "sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.60.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.2.tgz", - "integrity": "sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-arm-musleabihf": { - "version": "4.60.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.2.tgz", - "integrity": "sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-arm64-gnu": { - "version": "4.60.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.2.tgz", - "integrity": "sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-arm64-musl": { - "version": "4.60.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.2.tgz", - "integrity": "sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-loong64-gnu": { - "version": "4.60.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.2.tgz", - "integrity": "sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-loong64-musl": { - "version": "4.60.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.2.tgz", - "integrity": "sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-ppc64-gnu": { - "version": "4.60.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.2.tgz", - "integrity": "sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-ppc64-musl": { - "version": "4.60.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.2.tgz", - "integrity": "sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-riscv64-gnu": { - "version": "4.60.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.2.tgz", - "integrity": "sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-riscv64-musl": { - "version": "4.60.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.2.tgz", - "integrity": "sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-s390x-gnu": { - "version": "4.60.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.2.tgz", - "integrity": "sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-x64-gnu": { - "version": "4.60.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.2.tgz", - "integrity": "sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-x64-musl": { - "version": "4.60.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.2.tgz", - "integrity": "sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==", - "dev": true, - "optional": true - }, - "@rollup/rollup-openbsd-x64": { - "version": "4.60.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.2.tgz", - "integrity": "sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==", - "dev": true, - "optional": true - }, - "@rollup/rollup-openharmony-arm64": { - "version": "4.60.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.2.tgz", - "integrity": "sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==", - "dev": true, - "optional": true - }, - "@rollup/rollup-win32-arm64-msvc": { - "version": "4.60.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.2.tgz", - "integrity": "sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==", - "dev": true, - "optional": true - }, - "@rollup/rollup-win32-ia32-msvc": { - "version": "4.60.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.2.tgz", - "integrity": "sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==", - "dev": true, - "optional": true - }, - "@rollup/rollup-win32-x64-gnu": { - "version": "4.60.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.2.tgz", - "integrity": "sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==", - "dev": true, - "optional": true - }, - "@rollup/rollup-win32-x64-msvc": { - "version": "4.60.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.2.tgz", - "integrity": "sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==", - "dev": true, - "optional": true - }, - "@rtsao/scc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", - "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", - "dev": true - }, - "@rviscomi/capo.js": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@rviscomi/capo.js/-/capo.js-2.1.0.tgz", - "integrity": "sha512-y6J+KJqsrY8AcDswLKkvd8KdpFindjS4Q9rSuK8CIpsQOepEjgRaMR4S8OtuLOQoVYLCROT3ffMQqRWrUMQdQA==", - "dev": true - }, - "@schematics/angular": { - "version": "21.2.14", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.2.14.tgz", - "integrity": "sha512-rIEdtNTdCCTwuo7B4tMoq5qmbLXdBgmW6Ays1hyno//4OE+HFtvlWZd+hl6KceEyN00IcZ2HRaPnfd71E1JnoA==", - "requires": { - "@angular-devkit/core": "21.2.14", - "@angular-devkit/schematics": "21.2.14", - "jsonc-parser": "3.3.1" - } - }, - "@shikijs/types": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-4.1.0.tgz", - "integrity": "sha512-3EQWX54fMpniOrDblzAhiwiJwpiTMW6+B9DWyUd9ska483tbayFYuw47UxwuPknI31bKnySfVQ/QW+jFL4rFdA==", - "requires": { - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.4" - } - }, - "@shikijs/vscode-textmate": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", - "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==" - }, - "@sigstore/bundle": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-4.0.0.tgz", - "integrity": "sha512-NwCl5Y0V6Di0NexvkTqdoVfmjTaQwoLM236r89KEojGmq/jMls8S+zb7yOwAPdXvbwfKDlP+lmXgAL4vKSQT+A==", - "requires": { - "@sigstore/protobuf-specs": "^0.5.0" - } - }, - "@sigstore/core": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-3.2.0.tgz", - "integrity": "sha512-kxHrDQ9YgfrWUSXU0cjsQGv8JykOFZQ9ErNKbFPWzk3Hgpwu8x2hHrQ9IdA8yl+j9RTLTC3sAF3Tdq1IQCP4oA==" - }, - "@sigstore/protobuf-specs": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.5.1.tgz", - "integrity": "sha512-/ScWUhhoFasJsSRGTVBwId1loQjjnjAfE4djL6ZhrXRpNCmPTnUKF5Jokd58ILseOMjzET3UrMOtJPS9sYeI0g==" - }, - "@sigstore/sign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-4.1.1.tgz", - "integrity": "sha512-Hf4xglukg0XXQ2RiD5vSoLjdPe8OBUPA8XeVjUObheuDcWdYWrnH/BNmxZCzkAy68MzmNCxXLeurJvs6hcP2OQ==", - "requires": { - "@gar/promise-retry": "^1.0.2", - "@sigstore/bundle": "^4.0.0", - "@sigstore/core": "^3.2.0", - "@sigstore/protobuf-specs": "^0.5.0", - "make-fetch-happen": "^15.0.4", - "proc-log": "^6.1.0" - } - }, - "@sigstore/tuf": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-4.0.2.tgz", - "integrity": "sha512-TCAzTy0xzdP79EnxSjq9KQ3eaR7+FmudLC6eRKknVKZbV7ZNlGLClAAQb/HMNJ5n2OBNk2GT1tEmU0xuPr+SLQ==", - "requires": { - "@sigstore/protobuf-specs": "^0.5.0", - "tuf-js": "^4.1.0" - } - }, - "@sigstore/verify": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-3.1.0.tgz", - "integrity": "sha512-mNe0Iigql08YupSOGv197YdHpPPr+EzDZmfCgMc7RPNaZTw5aLN01nBl6CHJOh3BGtnMIj83EeN4butBchc8Ag==", - "requires": { - "@sigstore/bundle": "^4.0.0", - "@sigstore/core": "^3.1.0", - "@sigstore/protobuf-specs": "^0.5.0" - } - }, - "@standard-schema/spec": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", - "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==" - }, - "@stimulus-components/auto-submit": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@stimulus-components/auto-submit/-/auto-submit-6.0.0.tgz", - "integrity": "sha512-GBwjjnNuDZey9kdJinTGyrkIMCNVnPrTQvqihC0pBiwieIMfZIp+TT7Giee0Z0DS+pX6WdJweIeo8xEYD/VZJg==" - }, - "@stimulus-components/reveal": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@stimulus-components/reveal/-/reveal-5.0.0.tgz", - "integrity": "sha512-0ShvvDiG4qNLyFUTDrjGiR9MWR6D9EiAJRUSKxTPHA5Cc2Ci/A4Qj7cHDCoK2ZGHhpESfK0LsR9xtySCN6FTQw==" - }, - "@stylistic/eslint-plugin": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-5.10.0.tgz", - "integrity": "sha512-nPK52ZHvot8Ju/0A4ucSX1dcPV2/1clx0kLcH5wDmrE4naKso7TUC/voUyU1O9OTKTrR6MYip6LP0ogEMQ9jPQ==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/types": "^8.56.0", - "eslint-visitor-keys": "^4.2.1", - "espree": "^10.4.0", - "estraverse": "^5.3.0", - "picomatch": "^4.0.3" - }, - "dependencies": { - "@typescript-eslint/types": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.61.0.tgz", - "integrity": "sha512-9QTQpZ5Iin4CdIodfbDQFSeiSJKidgYJYug1P9CC2xWgUTvlmixViqDZNciMjwLBZyJnG4tGmPl97rVAFb1AJg==", - "dev": true - }, - "eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", - "dev": true - }, - "picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true - } - } - }, - "@tanstack/react-store": { - "version": "0.7.7", - "resolved": "https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.7.7.tgz", - "integrity": "sha512-qqT0ufegFRDGSof9D/VqaZgjNgp4tRPHZIJq2+QIHkMUtHjaJ0lYrrXjeIUJvjnTbgPfSD1XgOMEt0lmANn6Zg==", - "requires": { - "@tanstack/store": "0.7.7", - "use-sync-external-store": "^1.5.0" - } - }, - "@tanstack/store": { - "version": "0.7.7", - "resolved": "https://registry.npmjs.org/@tanstack/store/-/store-0.7.7.tgz", - "integrity": "sha512-xa6pTan1bcaqYDS9BDpSiS63qa6EoDkPN9RsRaxHuDdVDNntzq3xNwR5YKTU/V3SkSyC9T4YVOPh2zRQN0nhIQ==" - }, - "@testing-library/dom": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz", - "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.3.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "picocolors": "1.1.1", - "pretty-format": "^27.0.2" - }, - "dependencies": { - "aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dev": true, - "requires": { - "dequal": "^2.0.3" - } - } - } - }, - "@testing-library/jest-dom": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.9.1.tgz", - "integrity": "sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==", - "dev": true, - "requires": { - "@adobe/css-tools": "^4.4.0", - "aria-query": "^5.0.0", - "css.escape": "^1.5.1", - "dom-accessibility-api": "^0.6.3", - "picocolors": "^1.1.1", - "redent": "^3.0.0" - }, - "dependencies": { - "dom-accessibility-api": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", - "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", - "dev": true - } - } - }, - "@testing-library/react": { - "version": "16.3.2", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.3.2.tgz", - "integrity": "sha512-XU5/SytQM+ykqMnAnvB2umaJNIOsLF3PVv//1Ew4CTcpz0/BRyy/af40qqrt7SjKpDdT1saBMc42CUok5gaw+g==", - "dev": true, - "requires": { - "@babel/runtime": "^7.12.5" - } - }, - "@tiptap/core": { - "version": "3.24.0", - "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-3.24.0.tgz", - "integrity": "sha512-GTAsXAI32p4hEZgPzvUv2RPrObxamy9AFhmhG10fXSvN/cDUs8naEYVIqDV3Sh99jMwQEbTFKW1E1mcspsY6ow==" - }, - "@tiptap/extension-bold": { - "version": "3.24.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-3.24.0.tgz", - "integrity": "sha512-CujogYaynasklFKHADUseuvj8X2FnWktTCCo3Hl+nlyRvBTmm5TK2aqiamg3v2P4dBh3O6a70mo8BfRJPuiR1g==" - }, - "@tiptap/extension-bubble-menu": { - "version": "3.24.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-bubble-menu/-/extension-bubble-menu-3.24.0.tgz", - "integrity": "sha512-jRXD+JPu9ayvq78g8hsCxx4q/qUFtrdfIYirRSf5YUseuuUbtfrq83AsGabcygpUTefjJkMQoXNITkh6294Ggw==", - "optional": true, - "requires": { - "@floating-ui/dom": "^1.0.0" - } - }, - "@tiptap/extension-code": { - "version": "3.24.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-code/-/extension-code-3.24.0.tgz", - "integrity": "sha512-MAQtrPRQ+HRmcGotWbksdIGeH1gqayFAdvi4lNGeFT7taHXP1o1XD7CQp7iYIKmg8IU4/MQ+RdetSfuC1A9edQ==" - }, - "@tiptap/extension-floating-menu": { - "version": "3.24.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-floating-menu/-/extension-floating-menu-3.24.0.tgz", - "integrity": "sha512-7QEbf3mUzFAkejjQGX9f0L507oMtnOBRwHt2skUTR+9yXgudsN8zaDBSSRHLeMWGk9b7L293ZMA6zCRrZaHrfA==", - "optional": true - }, - "@tiptap/extension-horizontal-rule": { - "version": "3.24.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-3.24.0.tgz", - "integrity": "sha512-DFzWJTrb23x+qssLLs85vEyho8ItUGp3RY9XUsVTIAGZn5IsoUw8wMsvIBlH1ux4Ch7gLchtcD6kpTdMdrL9kw==" - }, - "@tiptap/extension-italic": { - "version": "3.24.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-3.24.0.tgz", - "integrity": "sha512-mf3cbNlbMPUNj3IyUkIke+o3ZpOUrtVeY5Yqs5IM/VhkUUh/PdIzqw74VuqEAJ0Z4oZ6nNDHeYLrl3Be1j99lQ==" - }, - "@tiptap/extension-paragraph": { - "version": "3.24.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-3.24.0.tgz", - "integrity": "sha512-wD06aB6hO7LgcrlhGiw7I64k2tus9kNoICX5R+UecBSB1DVJdzKvXoXL2kPNv4DqYvljHdkIeK/OpuOTQd6MJA==" - }, - "@tiptap/extension-strike": { - "version": "3.24.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-3.24.0.tgz", - "integrity": "sha512-sfN1iQs6Fdlorrfe8wipDkTPwu/Egx3s2fkY7TAWusTGFHwlovuRUGFKqCL9dI4N3u6uqUMpEuWmQNgv+aQGjQ==" - }, - "@tiptap/extension-text": { - "version": "3.24.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-3.24.0.tgz", - "integrity": "sha512-Im7keLPEihxm3+LyF+drYCoaOY5hlq35lvHAp/el6M8pJ/scts88HrYpdR1Yc4BtpZBIhfHSyWgPaupI4qwdeg==" - }, - "@tiptap/extension-underline": { - "version": "3.24.0", - "resolved": "https://registry.npmjs.org/@tiptap/extension-underline/-/extension-underline-3.24.0.tgz", - "integrity": "sha512-D4W4X3UMq9dLVIOfPB9+UodQ4eAJ8yDcm8qFWAwq0a15YWH6bnwulCuIdV+U5dEG+yaRxN8haB9GrrID9jmrSA==" - }, - "@tiptap/extensions": { - "version": "3.26.0", - "resolved": "https://registry.npmjs.org/@tiptap/extensions/-/extensions-3.26.0.tgz", - "integrity": "sha512-4wajuqnO2X0+LVvsBjW/xk3/tmdb16bNL939QhicAay4YYqXITeV2v3XJsryzmG4L5GkK1yLxvRGk4aLoxWrnA==" - }, - "@tiptap/pm": { - "version": "3.24.0", - "resolved": "https://registry.npmjs.org/@tiptap/pm/-/pm-3.24.0.tgz", - "integrity": "sha512-QQP/78ryOZDN99gNBV7dgh69/8AYaOYQYFklq/iR+ZRFaaL3+qqHFvPVJapGkzPdymBgNJ34xjFM8n5pJ4QmMg==", - "requires": { - "prosemirror-changeset": "^2.3.0", - "prosemirror-commands": "^1.6.2", - "prosemirror-dropcursor": "^1.8.1", - "prosemirror-gapcursor": "^1.3.2", - "prosemirror-history": "^1.4.1", - "prosemirror-inputrules": "^1.4.0", - "prosemirror-keymap": "^1.2.2", - "prosemirror-model": "^1.24.1", - "prosemirror-schema-list": "^1.5.0", - "prosemirror-state": "^1.4.3", - "prosemirror-tables": "^1.6.4", - "prosemirror-transform": "^1.10.2", - "prosemirror-view": "^1.38.1" - } - }, - "@tiptap/react": { - "version": "3.24.0", - "resolved": "https://registry.npmjs.org/@tiptap/react/-/react-3.24.0.tgz", - "integrity": "sha512-KxnrlQbzOgA02EMsfuGGHtNhfkJQGqVlQttmQctI9DOl/F3gcaRqg+wNTBY1Fof8yDaZ8Z1LL1F0C05W0o3vUw==", - "requires": { - "@tiptap/extension-bubble-menu": "^3.24.0", - "@tiptap/extension-floating-menu": "^3.24.0", - "@types/use-sync-external-store": "^0.0.6", - "fast-equals": "^5.3.3", - "use-sync-external-store": "^1.4.0" - } - }, - "@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==", - "dev": true - }, - "@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true - }, - "@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true - }, - "@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 - }, - "@tufjs/canonical-json": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", - "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==" - }, - "@tufjs/models": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-4.1.0.tgz", - "integrity": "sha512-Y8cK9aggNRsqJVaKUlEYs4s7CvQ1b1ta2DVPyAimb0I2qhzjNk+A+mxvll/klL0RlfuIUei8BF7YWiua4kQqww==", - "requires": { - "@tufjs/canonical-json": "2.0.0", - "minimatch": "^10.1.1" - }, - "dependencies": { - "balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==" - }, - "brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "requires": { - "balanced-match": "^4.0.2" - } - }, - "minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "requires": { - "brace-expansion": "^5.0.5" - } - } - } - }, - "@tybys/wasm-util": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", - "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", - "dev": true, - "optional": true, - "requires": { - "tslib": "^2.4.0" - } - }, - "@types/aria-query": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", - "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", - "dev": true - }, - "@types/body-parser": { - "version": "1.19.6", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", - "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", - "dev": true, - "requires": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "@types/bonjour": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", - "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/chai": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", - "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", - "dev": true, - "requires": { - "@types/deep-eql": "*", - "assertion-error": "^2.0.1" - } - }, - "@types/codemirror": { - "version": "5.60.17", - "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-5.60.17.tgz", - "integrity": "sha512-AZq2FIsUHVMlp7VSe2hTfl5w4pcUkoFkM3zVsRKsn1ca8CXRDYvnin04+HP2REkwsxemuHqvDofdlhUWNpbwfw==", - "dev": true, - "requires": { - "@types/tern": "*" - } - }, - "@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/connect-history-api-fallback": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", - "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", - "dev": true, - "requires": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "@types/css-tree": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/@types/css-tree/-/css-tree-2.3.11.tgz", - "integrity": "sha512-aEokibJOI77uIlqoBOkVbaQGC9zII0A+JH1kcTNKW2CwyYWD8KM6qdo+4c77wD3wZOQfJuNWAr9M4hdk+YhDIg==", - "dev": true - }, - "@types/deep-eql": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", - "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", - "dev": true - }, - "@types/dom-navigation": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/dom-navigation/-/dom-navigation-1.0.7.tgz", - "integrity": "sha512-Di4W+i2faYquHUnyWUg3bBQp5pTNvjDDA7mIYfD/1WlLgan6sKkeVjGbdL78K0CuNEk5Pfc/c0rfelwkz10mnQ==", - "dev": true - }, - "@types/dragula": { - "version": "3.7.5", - "resolved": "https://registry.npmjs.org/@types/dragula/-/dragula-3.7.5.tgz", - "integrity": "sha512-jojr2JVJB8DawAKXApGnollMvVOMyiMKpchH8gLeoExx35Eq0BQ4WgAiAHoBoEn7h/9eDrIl0yz//cM6ALIJbg==", - "dev": true - }, - "@types/eslint": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", - "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", - "dev": true, - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dev": true, - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true - }, - "@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true - }, - "@types/express": { - "version": "4.17.25", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz", - "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==", - "dev": true, - "requires": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "^1" - } - }, - "@types/express-serve-static-core": { - "version": "4.19.8", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.8.tgz", - "integrity": "sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "@types/flot": { - "version": "0.0.36", - "resolved": "https://registry.npmjs.org/@types/flot/-/flot-0.0.36.tgz", - "integrity": "sha512-xRo4MUIMnRPGXJCuQXAWvo+uKRmziRGHAy9LQHsLgbKanknpe5z3EThqVuYkVCC6ZWPZ/8pllBXnzQmGzFkJ/Q==", - "dev": true, - "requires": { - "@types/jquery": "*" - } - }, - "@types/geojson": { - "version": "7946.0.16", - "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", - "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==" - }, - "@types/hammerjs": { - "version": "2.0.46", - "resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.46.tgz", - "integrity": "sha512-ynRvcq6wvqexJ9brDMS4BnBLzmr0e14d6ZJTEShTBWKymQiHwlAyGu0ZPEFI2Fh1U53F7tN9ufClWM5KvqkKOw==", - "dev": true - }, - "@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", - "requires": { - "@types/unist": "*" - } - }, - "@types/hotwired__turbo": { - "version": "8.0.10", - "resolved": "https://registry.npmjs.org/@types/hotwired__turbo/-/hotwired__turbo-8.0.10.tgz", - "integrity": "sha512-ZnNDmfE2mwvbpmq55ntbTwP82Y4U+g3lcGMTWvS+Vo5LEuO6YQrWVhCmrTae3IH19/nNcHvzbNuroNWEwRylFg==", - "dev": true - }, - "@types/http-errors": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", - "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", - "dev": true - }, - "@types/http-proxy": { - "version": "1.17.16", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.16.tgz", - "integrity": "sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/jquery": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-4.0.1.tgz", - "integrity": "sha512-9a59A/tycXgYuPABcp6/3spSShn0NT2UOM4EfHvMumjYi4lJWTsK5SZWjhx3yRm9IHGCeWXdV2YfNsrWrft/CA==", - "dev": true - }, - "@types/jquery-migrate": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/@types/jquery-migrate/-/jquery-migrate-3.3.3.tgz", - "integrity": "sha512-0CRPTHKGaK831+bxIbRerQpyLHwkNr/vSYZD5JAYpWw/TL2RUGiyWdwR8dAoGC4MpoyH5S+ato3+SyQDBmrZNQ==", - "dev": true, - "requires": { - "@types/jquery": "*" - } - }, - "@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, - "@types/lodash": { - "version": "4.17.24", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.24.tgz", - "integrity": "sha512-gIW7lQLZbue7lRSWEFql49QJJWThrTFFeIMJdp3eH4tKoxm1OvEPg02rm4wCCSHS0cL3/Fizimb35b7k8atwsQ==", - "dev": true - }, - "@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", - "dev": true - }, - "@types/mousetrap": { - "version": "1.6.15", - "resolved": "https://registry.npmjs.org/@types/mousetrap/-/mousetrap-1.6.15.tgz", - "integrity": "sha512-qL0hyIMNPow317QWW/63RvL1x5MVMV+Ru3NaY9f/CuEpCqrmb7WeuK2071ZY5hczOnm38qExWM2i2WtkXLSqFw==", - "dev": true - }, - "@types/node": { - "version": "14.18.63", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz", - "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==", - "dev": true - }, - "@types/pako": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/pako/-/pako-2.0.4.tgz", - "integrity": "sha512-VWDCbrLeVXJM9fihYodcLiIv0ku+AlOa/TQ1SvYOaBuyrSKgEcro95LJyIsJ4vSo6BXIxOKxiJAat04CmST9Fw==", - "dev": true - }, - "@types/qs": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.15.0.tgz", - "integrity": "sha512-JawvT8iBVWpzTrz3EGw9BTQFg3BQNmwERdKE22vlTxawwtbyUSlMppvZYKLZzB5zgACXdXxbD3m1bXaMqP/9ow==", - "dev": true - }, - "@types/rails__request.js": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@types/rails__request.js/-/rails__request.js-0.0.1.tgz", - "integrity": "sha512-s9KX0falKcyDO2SjER/3HSfcJ8MAm+V05hxW1jJd/Rt+X7QeSSf9g6d2EZ6/uLJiDnXAqc+WPlxT1oYswV2T9A==", - "dev": true - }, - "@types/range-parser": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", - "dev": true - }, - "@types/react": { - "version": "19.2.17", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.17.tgz", - "integrity": "sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==", - "dev": true, - "requires": { - "csstype": "^3.2.2" - }, - "dependencies": { - "csstype": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", - "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", - "dev": true - } - } - }, - "@types/react-dom": { - "version": "19.2.3", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", - "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", - "dev": true - }, - "@types/resize-observer-browser": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@types/resize-observer-browser/-/resize-observer-browser-0.1.11.tgz", - "integrity": "sha512-cNw5iH8JkMkb3QkCoe7DaZiawbDQEUX8t7iuQaRTyLOyQCR2h+ibBD4GJt7p5yhUHrlOeL7ZtbxNHeipqNsBzQ==", - "dev": true - }, - "@types/retry": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", - "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", - "dev": true - }, - "@types/send": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", - "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/serve-index": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", - "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", - "dev": true, - "requires": { - "@types/express": "*" - } - }, - "@types/serve-static": { - "version": "1.15.10", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz", - "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==", - "dev": true, - "requires": { - "@types/http-errors": "*", - "@types/node": "*", - "@types/send": "<1" - }, - "dependencies": { - "@types/send": { - "version": "0.17.6", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz", - "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==", - "dev": true, - "requires": { - "@types/mime": "^1", - "@types/node": "*" - } - } - } - }, - "@types/sockjs": { - "version": "0.3.36", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", - "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/stylis": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/@types/stylis/-/stylis-4.2.5.tgz", - "integrity": "sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==" - }, - "@types/tern": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.4.tgz", - "integrity": "sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg==", - "dev": true, - "requires": { - "@types/estree": "*" - } - }, - "@types/trusted-types": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", - "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" - }, - "@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==" - }, - "@types/urijs": { - "version": "1.19.26", - "resolved": "https://registry.npmjs.org/@types/urijs/-/urijs-1.19.26.tgz", - "integrity": "sha512-wkXrVzX5yoqLnndOwFsieJA7oKM8cNkOKJtf/3vVGSUFkWDKZvFHpIl9Pvqb/T9UsawBBFMTTD8xu7sK5MWuvg==", - "dev": true - }, - "@types/use-sync-external-store": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz", - "integrity": "sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==" - }, - "@types/uuid": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-11.0.0.tgz", - "integrity": "sha512-HVyk8nj2m+jcFRNazzqyVKiZezyhDKrGUA3jlEcg/nZ6Ms+qHwocba1Y/AaVaznJTAM9xpdFSh+ptbNrhOGvZA==", - "dev": true, - "requires": { - "uuid": "*" - } - }, - "@types/webpack-env": { - "version": "1.18.8", - "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.18.8.tgz", - "integrity": "sha512-G9eAoJRMLjcvN4I08wB5I7YofOb/kaJNd5uoCMX+LbKXTPCF+ZIHuqTnFaK9Jz1rgs035f9JUPUhNFtqgucy/A==", - "dev": true - }, - "@types/ws": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", - "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@typescript-eslint/eslint-plugin": { - "version": "8.59.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.59.4.tgz", - "integrity": "sha512-PegsU+XfyJJNjd4+u/k6f9yTyp0lEXXiPopUNobZcIAUJFGICFLN+sP0Rb3JehVmiij1Ph0dFGYqODoRo/2+6A==", - "dev": true, - "requires": { - "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.59.4", - "@typescript-eslint/type-utils": "8.59.4", - "@typescript-eslint/utils": "8.59.4", - "@typescript-eslint/visitor-keys": "8.59.4", - "ignore": "^7.0.5", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.5.0" - }, - "dependencies": { - "@typescript-eslint/utils": { - "version": "8.59.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.59.4.tgz", - "integrity": "sha512-cYXeNAUsG4lJo5dbc1FcKm+JwIWrj1/UpTORsC6tGMjEZ81DYcvIr9/ueikhMa/Y/gDQYGp+YX9/xQrXje5BJw==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.59.4", - "@typescript-eslint/types": "8.59.4", - "@typescript-eslint/typescript-estree": "8.59.4" - } - }, - "ignore": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", - "dev": true - } - } - }, - "@typescript-eslint/parser": { - "version": "8.59.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.59.4.tgz", - "integrity": "sha512-zORHqO/tuhxY1zWuTvMUqddRxpiFJ72xVfcNoWpqdLjs6lfPbuQBJuW4pk+49/uBMy7Ssr4bzgjiKmmDB1UbZQ==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "8.59.4", - "@typescript-eslint/types": "8.59.4", - "@typescript-eslint/typescript-estree": "8.59.4", - "@typescript-eslint/visitor-keys": "8.59.4", - "debug": "^4.4.3" - } - }, - "@typescript-eslint/project-service": { - "version": "8.59.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.59.4.tgz", - "integrity": "sha512-Ly00Vu4oAacfDeHp2Zg85ioNG6l8HG+tN1D7J+xTHSxu9y0awYKJ2zH1rFBn8ZSfuGK+7FxK3Cgl3uAz0aZZLg==", - "dev": true, - "requires": { - "@typescript-eslint/tsconfig-utils": "^8.59.4", - "@typescript-eslint/types": "^8.59.4", - "debug": "^4.4.3" - } - }, - "@typescript-eslint/scope-manager": { - "version": "8.59.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.59.4.tgz", - "integrity": "sha512-mUeR/3H1WrTAddJrwut8OoPjfauaztMQmRwV5fQTUyNVJCLiUXXe4lGEyYIL2oFDpP7UtgbGJXCt72wT0z2S3Q==", - "dev": true, - "requires": { - "@typescript-eslint/types": "8.59.4", - "@typescript-eslint/visitor-keys": "8.59.4" - } - }, - "@typescript-eslint/tsconfig-utils": { - "version": "8.59.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.59.4.tgz", - "integrity": "sha512-DLCpnKgD4alVxTBSKulK+gU1KCqOgUXfDRDXh2mZgzokQKa/70ax93I2uVO3m/LLvIAtWZIFoiifudmIqAxpMA==", - "dev": true - }, - "@typescript-eslint/type-utils": { - "version": "8.59.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.59.4.tgz", - "integrity": "sha512-uonTuPAAKr9XaBGqJ3LjYTh72zy5DyGesljO9gtmk/eFW0W1fRHjnwVYKB35Lm8d5Q5CluEW3gPHjTvZTmgrfA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "8.59.4", - "@typescript-eslint/typescript-estree": "8.59.4", - "@typescript-eslint/utils": "8.59.4", - "debug": "^4.4.3", - "ts-api-utils": "^2.5.0" - }, - "dependencies": { - "@typescript-eslint/utils": { - "version": "8.59.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.59.4.tgz", - "integrity": "sha512-cYXeNAUsG4lJo5dbc1FcKm+JwIWrj1/UpTORsC6tGMjEZ81DYcvIr9/ueikhMa/Y/gDQYGp+YX9/xQrXje5BJw==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.59.4", - "@typescript-eslint/types": "8.59.4", - "@typescript-eslint/typescript-estree": "8.59.4" - } - } - } - }, - "@typescript-eslint/types": { - "version": "8.59.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.59.4.tgz", - "integrity": "sha512-F1o7WJcCq+bc8dwcO/YsSEOudAH8RDtaOhM6wcAQhcUsFhnWQl81JKy48q1hoxAU0qrzM89+31GYh1515Zde3Q==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "8.59.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.59.4.tgz", - "integrity": "sha512-F+RuOmcDXo4+TPdfd/TCLS3m2nw8gE9XXyZLrA3JBfaA5tz9TtdkyD3YJFmPxulyc2cKbEok/CvFE3MgSLWnag==", - "dev": true, - "requires": { - "@typescript-eslint/project-service": "8.59.4", - "@typescript-eslint/tsconfig-utils": "8.59.4", - "@typescript-eslint/types": "8.59.4", - "@typescript-eslint/visitor-keys": "8.59.4", - "debug": "^4.4.3", - "minimatch": "^10.2.2", - "semver": "^7.7.3", - "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.5.0" - }, - "dependencies": { - "balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true - }, - "brace-expansion": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", - "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", - "dev": true, - "requires": { - "balanced-match": "^4.0.2" - } - }, - "minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "requires": { - "brace-expansion": "^5.0.5" - } - } - } - }, - "@typescript-eslint/utils": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.61.0.tgz", - "integrity": "sha512-3bzFt7ImFMW/jVYwJamDoe/dMOdFLSC6pom6rRjdh4SZJEYupyMzem8e7vKZLclLfpHjlwSAXOUxtKxGXUiLqA==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.61.0", - "@typescript-eslint/types": "8.61.0", - "@typescript-eslint/typescript-estree": "8.61.0" - }, - "dependencies": { - "@typescript-eslint/project-service": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.61.0.tgz", - "integrity": "sha512-DV42F7MLJO6Rax7SK1yg43tcnEfGUrurSpSxKuVX+a3RCTzBlH3fuxprrOJXKCJGAaw82xXocikJ0uQaqwXgGA==", - "dev": true, - "requires": { - "@typescript-eslint/tsconfig-utils": "^8.61.0", - "@typescript-eslint/types": "^8.61.0", - "debug": "^4.4.3" - } - }, - "@typescript-eslint/scope-manager": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.61.0.tgz", - "integrity": "sha512-IWdXFHFSb6mlC3HPc7QsLDm5zYEbUla6trDEHf32D3/dnuUyXd87plScSNXSbm0/RxMvObpI17sv/EDTGrGZkA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "8.61.0", - "@typescript-eslint/visitor-keys": "8.61.0" - } - }, - "@typescript-eslint/tsconfig-utils": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.61.0.tgz", - "integrity": "sha512-O5Amvdv9ztMpxpf+vmFULGG78IE6Qwdr3bCGvqwG4nwc9H2qXkOYJJnRbRHyMkQTjv1d03olqwwwzHLMqpFePQ==", - "dev": true - }, - "@typescript-eslint/types": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.61.0.tgz", - "integrity": "sha512-9QTQpZ5Iin4CdIodfbDQFSeiSJKidgYJYug1P9CC2xWgUTvlmixViqDZNciMjwLBZyJnG4tGmPl97rVAFb1AJg==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.61.0.tgz", - "integrity": "sha512-42zatd5qSvvcV1JdDBCLxYRznvP4eIHpPoZXdkPFnAmanA4FuZ5dibSnCBggY8hQnqajPpoGjXFdZ7fIJKQnlA==", - "dev": true, - "requires": { - "@typescript-eslint/project-service": "8.61.0", - "@typescript-eslint/tsconfig-utils": "8.61.0", - "@typescript-eslint/types": "8.61.0", - "@typescript-eslint/visitor-keys": "8.61.0", - "debug": "^4.4.3", - "minimatch": "^10.2.2", - "semver": "^7.7.3", - "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.5.0" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.61.0.tgz", - "integrity": "sha512-QVLZu3ZPQEE+HICQyAMZ2yLQhxf0meY/wx6Hx14YcTNj13JB3qHlX3lJ02L3fLGHgERRH71kvYDwiXIguT3AjQ==", - "dev": true, - "requires": { - "@typescript-eslint/types": "8.61.0", - "eslint-visitor-keys": "^5.0.0" - } - }, - "balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true - }, - "brace-expansion": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", - "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", - "dev": true, - "requires": { - "balanced-match": "^4.0.2" - } - }, - "eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true - }, - "minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "requires": { - "brace-expansion": "^5.0.5" - } - } - } - }, - "@typescript-eslint/visitor-keys": { - "version": "8.59.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.4.tgz", - "integrity": "sha512-U3gxVaDVnuZKhSspW/MzMxE1kq7zOdc072FcSNoqA1I9p8HyKbBFfEHoWckBAMgNMph4MamwS5iTVzFmrnt8TQ==", - "dev": true, - "requires": { - "@typescript-eslint/types": "8.59.4", - "eslint-visitor-keys": "^5.0.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true - } - } - }, - "@uirouter/angular": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@uirouter/angular/-/angular-21.0.0.tgz", - "integrity": "sha512-KUvyNb5lJ293Lzym+UwfgzX7U/5LpOp4nmp8EAzwAOBu/K8A+wZeVTS1NYQAf/ziO+N3nqI0I8+GnXYOzSOtaA==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@uirouter/core": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/@uirouter/core/-/core-6.1.2.tgz", - "integrity": "sha512-pYcg+cxVd9E9poC7AJf7ZrlQQrwAV6KVkiPvlbLJX5km+pBWrUOGQhdd87oIGc7/5iVQ7qSiAdl9QD+l55yegg==" - }, - "@uirouter/rx": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@uirouter/rx/-/rx-1.0.0.tgz", - "integrity": "sha512-dqPmLFC+qqF6RIdJVKktXSON6WILy2oyLhADDk74F3GAUZ/VvOu3QSPLDtZEP3LMSo6vkGQvwcUdjgNVWL3YJA==" - }, - "@vitejs/plugin-basic-ssl": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-2.1.4.tgz", - "integrity": "sha512-HXciTXN/sDBYWgeAD4V4s0DN0g72x5mlxQhHxtYu3Tt8BLa6MzcJZUyDVFCdtjNs3bfENVHVzOsmooTVuNgAAw==", - "dev": true - }, - "@vitest/browser": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@vitest/browser/-/browser-4.1.8.tgz", - "integrity": "sha512-u21VzX07HzlJYpFgkxmjEXar/tG2UqWGgyGG/46SrrPc7rSdCTPw5vuowopO9CIqF8UCUQzDFdbVnNpw6N0BfQ==", - "dev": true, - "requires": { - "@blazediff/core": "1.9.1", - "@vitest/mocker": "4.1.8", - "@vitest/utils": "4.1.8", - "magic-string": "^0.30.21", - "pngjs": "^7.0.0", - "sirv": "^3.0.2", - "tinyrainbow": "^3.1.0", - "ws": "^8.19.0" - } - }, - "@vitest/browser-playwright": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@vitest/browser-playwright/-/browser-playwright-4.1.8.tgz", - "integrity": "sha512-SR7FqgegaexEg73xvf3ArtygXegagMdXnL0EZMpxrWvvhQxvicD/E8p0ib0J91riPRtQUViyh67Xjw3NqvyhVg==", - "dev": true, - "requires": { - "@vitest/browser": "4.1.8", - "@vitest/mocker": "4.1.8", - "tinyrainbow": "^3.1.0" - } - }, - "@vitest/coverage-v8": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-4.1.8.tgz", - "integrity": "sha512-lt3kovsyHwYe00wq4D1ti0Z974fWj4NLp6siqiyEufUpyFwK9Yhi7rBhac9JL5aA0zoMrJqc4vYPZRUnI7l7nw==", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^1.0.2", - "@vitest/utils": "4.1.8", - "ast-v8-to-istanbul": "^1.0.0", - "istanbul-lib-coverage": "^3.2.2", - "istanbul-lib-report": "^3.0.1", - "istanbul-reports": "^3.2.0", - "magicast": "^0.5.2", - "obug": "^2.1.1", - "std-env": "^4.0.0-rc.1", - "tinyrainbow": "^3.1.0" - } - }, - "@vitest/eslint-plugin": { - "version": "1.6.19", - "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.6.19.tgz", - "integrity": "sha512-zodmXRsVKFsuHxHJILuTFaaKsrsxm0YsiOX65clk+LpCW9JrVXaf6ERXr0caDs+NEk0S62Jyk0K7XYQ7gWXheA==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "^8.58.0", - "@typescript-eslint/utils": "^8.58.0" - }, - "dependencies": { - "@typescript-eslint/scope-manager": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.59.2.tgz", - "integrity": "sha512-JzfyEpEtOU89CcFSwyNS3mu4MLvLSXqnmX05+aKBDM+TdR5jzcGOEBwxwGNxrEQ7p/z6kK2WyioCGBf2zZBnvg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "8.59.2", - "@typescript-eslint/visitor-keys": "8.59.2" - } - }, - "@typescript-eslint/types": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.59.2.tgz", - "integrity": "sha512-e82GVOE8Ps3E++Egvb6Y3Dw0S10u8NkQ9KXmtRhCWJJ8kDhOJTvtMAWnFL16kB1583goCWXsr0NieKCZMs2/0Q==", - "dev": true - }, - "@typescript-eslint/visitor-keys": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.2.tgz", - "integrity": "sha512-NwjLUnGy8/Zfx23fl50tRC8rYaYnM52xNRYFAXvmiil9yh1+K6aRVQMnzW6gQB/1DLgWt977lYQn7C+wtgXZiA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "8.59.2", - "eslint-visitor-keys": "^5.0.0" - } - }, - "eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true - } - } - }, - "@vitest/expect": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.8.tgz", - "integrity": "sha512-h3nDO677RDLEGlBxyQ5CW8RlMThSKSRLUePLOx09gNIWRL40edgA1GCZSZgf1W55MFAG6/Sw14KeaAnqv0NKdQ==", - "dev": true, - "requires": { - "@standard-schema/spec": "^1.1.0", - "@types/chai": "^5.2.2", - "@vitest/spy": "4.1.8", - "@vitest/utils": "4.1.8", - "chai": "^6.2.2", - "tinyrainbow": "^3.1.0" - } - }, - "@vitest/mocker": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.8.tgz", - "integrity": "sha512-LEiN/xe4OSIbKe9HQIp5OC24agGD9J5CnmMgsLohVVoOPWL9a2sBoR6VBx43jQZb7Kr1l4RCuyCJzcAa0+dojw==", - "dev": true, - "requires": { - "@vitest/spy": "4.1.8", - "estree-walker": "^3.0.3", - "magic-string": "^0.30.21" - } - }, - "@vitest/pretty-format": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.8.tgz", - "integrity": "sha512-9GasEBxpZ1VYIpqHf/0+YGg121uSNwCKOJqIrTwWP/TB7DmFCiaBpNl3aPZzoLWfWkuqhbH8vJIVobZkvdo2cA==", - "dev": true, - "requires": { - "tinyrainbow": "^3.1.0" - } - }, - "@vitest/runner": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.8.tgz", - "integrity": "sha512-EmVxeBAfMJvycdjd6Hm+RbFBbA9fKvo0Kx37hNpBYoYeavH3RNsBXWDooR1mgD52dCrxIIuP7UotpfiwOikvcg==", - "dev": true, - "requires": { - "@vitest/utils": "4.1.8", - "pathe": "^2.0.3" - } - }, - "@vitest/snapshot": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.8.tgz", - "integrity": "sha512-acfZboRmAIf05DEKcBQy33VXojFJjtUdLyo7oOmV9kebb2xdU01UknNiPuPZoJZQyO7DF0gZdTGTpeAzET9QPQ==", - "dev": true, - "requires": { - "@vitest/pretty-format": "4.1.8", - "@vitest/utils": "4.1.8", - "magic-string": "^0.30.21", - "pathe": "^2.0.3" - } - }, - "@vitest/spy": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.8.tgz", - "integrity": "sha512-6EevtBp6OZOPF7bmz36HrGMeP3txgVSrgebWxHOafDXGkhIzfXK14f8KF6MuFfgXXUeHxmpD3BQxkV00/3s5mA==", - "dev": true - }, - "@vitest/utils": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.8.tgz", - "integrity": "sha512-uOJamYALNhfJ6iolExyQM40yIQwDqYnkKtQ5VCiSe17E33H0aQ/u+1GlRuz4LZBk6Mm3sg90G9hEbmEt37C1Zg==", - "dev": true, - "requires": { - "@vitest/pretty-format": "4.1.8", - "convert-source-map": "^2.0.0", - "tinyrainbow": "^3.1.0" - }, - "dependencies": { - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - } - } - }, - "@vscode/l10n": { - "version": "0.0.18", - "resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.18.tgz", - "integrity": "sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==", - "dev": true - }, - "@w11k/ngx-componentdestroyed": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@w11k/ngx-componentdestroyed/-/ngx-componentdestroyed-5.0.2.tgz", - "integrity": "sha512-njpK7h6hSpF8LQp2bayb47T7rTxOwx7745TOiUP88y8YAT2JOY5OeJpYqlK2WrQQBeD7CT+DxozD6yNBN283dA==", - "requires": { - "rxjs": ">=6.5.0" - } - }, - "@webassemblyjs/ast": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", - "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", - "dev": true, - "requires": { - "@webassemblyjs/helper-numbers": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", - "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", - "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", - "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", - "dev": true - }, - "@webassemblyjs/helper-numbers": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", - "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", - "dev": true, - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.13.2", - "@webassemblyjs/helper-api-error": "1.13.2", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", - "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", - "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/wasm-gen": "1.14.1" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", - "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", - "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", - "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", - "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/helper-wasm-section": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-opt": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1", - "@webassemblyjs/wast-printer": "1.14.1" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", - "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", - "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", - "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-api-error": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", - "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.14.1", - "@xtuc/long": "4.2.2" - } - }, - "@xeokit/xeokit-bim-viewer": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/@xeokit/xeokit-bim-viewer/-/xeokit-bim-viewer-2.7.1.tgz", - "integrity": "sha512-qvlYjYt8EpRmrQqPLQ3/lpmZzpjS8Pfr0zwpHm5mO3fIC7m6Vo7a3nQRHu2JlsSfB88/2ujl59MAj63B/JTFUw==", - "requires": { - "@fortawesome/fontawesome-free": "^6.7.2", - "@xeokit/xeokit-sdk": "^2.6.78", - "http-server": "^13.0.2" - } - }, - "@xeokit/xeokit-sdk": { - "version": "2.6.90", - "resolved": "https://registry.npmjs.org/@xeokit/xeokit-sdk/-/xeokit-sdk-2.6.90.tgz", - "integrity": "sha512-wkZmsWr0fhefrKjlByUs+6j2mizbUQiQJ4nihYwcQrkuECy52e7ntBdpfWVVOXd1eIcV5R2a62AhqR/SjOP0Ww==", - "requires": { - "@loaders.gl/core": "^4.3.3", - "@loaders.gl/gltf": "^4.3.3", - "@loaders.gl/las": "^4.3.3", - "html2canvas": "^1.4.1" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==" - }, - "abbrev": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-4.0.0.tgz", - "integrity": "sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==" - }, - "accepts": { - "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==", - "dev": true, - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true - }, - "acorn-import-phases": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", - "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true - }, - "acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", - "dev": true - }, - "adjust-sourcemap-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", - "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - } - } - }, - "agent-base": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", - "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==" - }, - "ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "requires": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - } - }, - "ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "requires": { - "ajv": "^8.0.0" - } - }, - "algoliasearch": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.48.1.tgz", - "integrity": "sha512-Rf7xmeuIo7nb6S4mp4abW2faW8DauZyE2faBIKFaUfP3wnpOvNSbiI5AwVhqBNj0jPgBWEvhyCu0sLjN2q77Rg==", - "requires": { - "@algolia/abtesting": "1.14.1", - "@algolia/client-abtesting": "5.48.1", - "@algolia/client-analytics": "5.48.1", - "@algolia/client-common": "5.48.1", - "@algolia/client-insights": "5.48.1", - "@algolia/client-personalization": "5.48.1", - "@algolia/client-query-suggestions": "5.48.1", - "@algolia/client-search": "5.48.1", - "@algolia/ingestion": "1.48.1", - "@algolia/monitoring": "1.48.1", - "@algolia/recommend": "5.48.1", - "@algolia/requester-browser-xhr": "5.48.1", - "@algolia/requester-fetch": "5.48.1", - "@algolia/requester-node-http": "5.48.1" - } - }, - "angular-eslint": { - "version": "21.4.0", - "resolved": "https://registry.npmjs.org/angular-eslint/-/angular-eslint-21.4.0.tgz", - "integrity": "sha512-LH7bWmtJvsubzwPoztnl1pWgI5X0VrfGTUITGSYcwn2J+SXuN/avzrKrxJmhUiIrNvLtfV+18GG6xZS1IGZdKg==", - "dev": true, - "requires": { - "@angular-devkit/core": ">= 21.0.0 < 22.0.0", - "@angular-devkit/schematics": ">= 21.0.0 < 22.0.0", - "@angular-eslint/builder": "21.4.0", - "@angular-eslint/eslint-plugin": "21.4.0", - "@angular-eslint/eslint-plugin-template": "21.4.0", - "@angular-eslint/schematics": "21.4.0", - "@angular-eslint/template-parser": "21.4.0", - "@typescript-eslint/types": "^8.0.0", - "@typescript-eslint/utils": "^8.0.0" - } - }, - "animation-frame-polyfill": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/animation-frame-polyfill/-/animation-frame-polyfill-1.0.2.tgz", - "integrity": "sha512-PvO5poSMoHhaoNNgHPo+oqs/0L9UqjsUbqv0iOXVqLh6HX85fsOVQTUrzSBvjdZz7hydARlgLELyzJJKIrPJAQ==" - }, - "ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true - }, - "ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "dev": true - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "aria-query": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", - "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", - "dev": true - }, - "array-buffer-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", - "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" - } - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "dev": true - }, - "array-from": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz", - "integrity": "sha512-GQTc6Uupx1FCavi5mPzBvVT7nEOeWMmUA9P95wpfpW1XwMSKs+KaymD5C2Up7KAUKg/mYwbsUYzdZWcoajlNZg==" - }, - "array-includes": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", - "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.24.0", - "es-object-atoms": "^1.1.1", - "get-intrinsic": "^1.3.0", - "is-string": "^1.1.1", - "math-intrinsics": "^1.1.0" - } - }, - "array.prototype.findlast": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - } - }, - "array.prototype.findlastindex": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", - "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-shim-unscopables": "^1.1.0" - } - }, - "array.prototype.flat": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", - "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - } - }, - "array.prototype.flatmap": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", - "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - } - }, - "array.prototype.tosorted": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", - "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", - "es-errors": "^1.3.0", - "es-shim-unscopables": "^1.0.2" - } - }, - "arraybuffer.prototype.slice": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", - "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", - "dev": true, - "requires": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "is-array-buffer": "^3.0.4" - } - }, - "asn1js": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.10.tgz", - "integrity": "sha512-S2s3aOytiKdFRdulw2qPE51MzjzVOisppcVv7jVFR+Kw0kxwvFrDcYA0h7Ndqbmj0HkMIXYWaoj7fli8kgx1eg==", - "dev": true, - "requires": { - "pvtsutils": "^1.3.6", - "pvutils": "^1.1.5", - "tslib": "^2.8.1" - } - }, - "assertion-error": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", - "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", - "dev": true - }, - "ast-types-flow": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", - "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", - "dev": true - }, - "ast-v8-to-istanbul": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ast-v8-to-istanbul/-/ast-v8-to-istanbul-1.0.0.tgz", - "integrity": "sha512-1fSfIwuDICFA4LKkCzRPO7F0hzFf0B7+Xqrl27ynQaa+Rh0e1Es0v6kWHPott3lU10AyAr7oKHa65OppjLn3Rg==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.31", - "estree-walker": "^3.0.3", - "js-tokens": "^10.0.0" - }, - "dependencies": { - "js-tokens": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-10.0.0.tgz", - "integrity": "sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q==", - "dev": true - } - } - }, - "async": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", - "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", - "dev": true - }, - "atoa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/atoa/-/atoa-1.0.0.tgz", - "integrity": "sha512-VVE1H6cc4ai+ZXo/CRWoJiHXrA1qfA31DPnx6D20+kSI547hQN5Greh51LQ1baMRMfxO5K5M4ImMtZbZt2DODQ==" - }, - "autoprefixer": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.5.0.tgz", - "integrity": "sha512-FMhOoZV4+qR6aTUALKX2rEqGG+oyATvwBt9IIzVR5rMa2HRWPkxf+P+PAJLD1I/H5/II+HuZcBJYEFBpq39ong==", - "requires": { - "browserslist": "^4.28.2", - "caniuse-lite": "^1.0.30001787", - "fraction.js": "^5.3.4", - "picocolors": "^1.1.1", - "postcss-value-parser": "^4.2.0" - } - }, - "available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, - "requires": { - "possible-typed-array-names": "^1.0.0" - } - }, - "axe-core": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.0.tgz", - "integrity": "sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==", - "dev": true - }, - "axobject-query": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", - "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", - "dev": true - }, - "babel-loader": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-10.0.0.tgz", - "integrity": "sha512-z8jt+EdS61AMw22nSfoNJAZ0vrtmhPRVi6ghL3rCeRZI8cdNYFiV5xeV3HbE7rlZZNmGH8BVccwWt8/ED0QOHA==", - "dev": true, - "requires": { - "find-up": "^5.0.0" - } - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.4.17", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.17.tgz", - "integrity": "sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.28.6", - "@babel/helper-define-polyfill-provider": "^0.6.8", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", - "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.6.5", - "core-js-compat": "^3.43.0" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.8.tgz", - "integrity": "sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.6.8" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "base64-arraybuffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", - "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==" - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "base64url": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz", - "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==" - }, - "baseline-browser-mapping": { - "version": "2.10.34", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.34.tgz", - "integrity": "sha512-IMDedajPifLnHNY0X9n8hKxRTQ6/eTHwr5bDo04WnuqxyKw6LYtQywCuuqPZwhl3aBXMvQpJov42GLCwRRdQzw==" - }, - "basic-auth": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.1.0.tgz", - "integrity": "sha512-CtGuTyWf3ig+sgRyC7uP6DM3N+5ur/p8L+FPfsd+BbIfIs74TFfCajZTHnCw6K5dqM0bZEbRIqRy1fAdiUJhTA==" - }, - "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==", - "dev": true - }, - "beasties": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.4.1.tgz", - "integrity": "sha512-2Imdcw3LznDuxAbJM26RHniOLAzE6WgrK8OuvVXCQtNBS8rsnD9zsSEa3fHl4hHpUY7BYTlrpvtPVbvu9G6neg==", - "dev": true, - "requires": { - "css-select": "^6.0.0", - "css-what": "^7.0.0", - "dom-serializer": "^2.0.0", - "domhandler": "^5.0.3", - "htmlparser2": "^10.0.0", - "picocolors": "^1.1.1", - "postcss": "^8.4.49", - "postcss-media-query-parser": "^0.2.3", - "postcss-safe-parser": "^7.0.1" - } - }, - "bidi-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz", - "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==", - "dev": true, - "requires": { - "require-from-string": "^2.0.2" - } - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true - }, - "bignumber.js": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz", - "integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==" - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true - }, - "body-parser": { - "version": "1.20.4", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", - "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", - "dev": true, - "requires": { - "bytes": "~3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "~1.2.0", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "on-finished": "~2.4.1", - "qs": "~6.14.0", - "raw-body": "~2.5.3", - "type-is": "~1.6.18", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "bonjour-service": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", - "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true - }, - "brace-expansion": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", - "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "requires": { - "fill-range": "^7.1.1" - } - }, - "browserslist": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", - "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", - "requires": { - "baseline-browser-mapping": "^2.10.12", - "caniuse-lite": "^1.0.30001782", - "electron-to-chromium": "^1.5.328", - "node-releases": "^2.0.36", - "update-browserslist-db": "^1.2.3" - } - }, - "btoa": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", - "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==", - "dev": true - }, - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "bundle-name": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", - "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", - "dev": true, - "requires": { - "run-applescript": "^7.0.0" - } - }, - "byte-base64": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/byte-base64/-/byte-base64-1.1.0.tgz", - "integrity": "sha512-56cXelkJrVMdCY9V/3RfDxTh4VfMFCQ5km7B7GkIGfo4bcPL9aACyJLB0Ms3Ezu5rsHmLB2suis96z4fLM03DA==" - }, - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - }, - "bytestreamjs": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/bytestreamjs/-/bytestreamjs-2.0.1.tgz", - "integrity": "sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==", - "dev": true - }, - "cacache": { - "version": "20.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-20.0.4.tgz", - "integrity": "sha512-M3Lab8NPYlZU2exsL3bMVvMrMqgwCnMWfdZbK28bn3pK6APT/Te/I8hjRPNu1uwORY9a1eEQoifXbKPQMfMTOA==", - "requires": { - "@npmcli/fs": "^5.0.0", - "fs-minipass": "^3.0.0", - "glob": "^13.0.0", - "lru-cache": "^11.1.0", - "minipass": "^7.0.3", - "minipass-collect": "^2.0.1", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^7.0.2", - "ssri": "^13.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "11.3.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", - "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==" - } - } - }, - "call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", - "dev": true, - "requires": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" - } - }, - "call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "requires": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - } - }, - "call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "requires": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - } - }, - "call-me-maybe": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", - "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==" - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelize": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", - "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==" - }, - "caniuse-lite": { - "version": "1.0.30001797", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001797.tgz", - "integrity": "sha512-l8xKG+gwAIExZGl9FrF7KUwuOmk6wbEPC9Xoy/RtnWv1XG0Q4LFlagaLpUv3Kiza3W/wm27zy0yWJEieYKAP6w==" - }, - "chai": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", - "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "chardet": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.1.tgz", - "integrity": "sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==" - }, - "chart.js": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.5.1.tgz", - "integrity": "sha512-GIjfiT9dbmHRiYi6Nl2yFCq7kkwdkp1W/lp2J99rX0yo9tgJGn3lKQATztIjb5tVtevcBtIdICNWqlq5+E8/Pw==", - "requires": { - "@kurkle/color": "^0.3.0" - } - }, - "chartjs-adapter-luxon": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/chartjs-adapter-luxon/-/chartjs-adapter-luxon-1.3.1.tgz", - "integrity": "sha512-yxHov3X8y+reIibl1o+j18xzrcdddCLqsXhriV2+aQ4hCR66IYFchlRXUvrJVoxglJ380pgytU7YWtoqdIgqhg==" - }, - "chartjs-plugin-datalabels": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/chartjs-plugin-datalabels/-/chartjs-plugin-datalabels-2.2.0.tgz", - "integrity": "sha512-14ZU30lH7n89oq+A4bWaJPnAG8a7ZTk7dKf48YAzMvJjQtjrgg5Dpk9f+LbjCF6bpx3RAGTeL13IXpKQYyRvlw==" - }, - "chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "chownr": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", - "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==" - }, - "chrome-trace-event": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", - "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", - "dev": true - }, - "cli-cursor": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", - "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", - "requires": { - "restore-cursor": "^5.0.0" - } - }, - "cli-spinners": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-3.4.0.tgz", - "integrity": "sha512-bXfOC4QcT1tKXGorxL3wbJm6XJPDqEnij2gQ2m7ESQuE+/z9YFIWnl/5RpTiKWbMq3EVKR4fRLJGn6DVfu0mpw==" - }, - "cli-truncate": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz", - "integrity": "sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==", - "requires": { - "slice-ansi": "^7.1.0", - "string-width": "^8.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==" - }, - "string-width": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz", - "integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==", - "requires": { - "get-east-asian-width": "^1.3.0", - "strip-ansi": "^7.1.0" - } - }, - "strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", - "requires": { - "ansi-regex": "^6.0.1" - } - } - } - }, - "cli-width": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", - "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==" - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==" - }, - "codemirror": { - "version": "5.65.21", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.21.tgz", - "integrity": "sha512-6teYk0bA0nR3QP0ihGMoxuKzpl5W80FpnHpBJpgy66NK3cZv5b/d/HY8PnRvfSsCG1MTfr92u2WUl+wT0E40mQ==" - }, - "color": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", - "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", - "requires": { - "color-convert": "^2.0.1", - "color-string": "^1.9.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", - "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", - "dev": true, - "requires": { - "bytes": "3.1.2", - "compressible": "~2.0.18", - "debug": "2.6.9", - "negotiator": "~0.6.4", - "on-headers": "~1.1.0", - "safe-buffer": "5.2.1", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "negotiator": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", - "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", - "dev": true - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "connect-history-api-fallback": { - "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==", - "dev": true - }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dev": true, - "requires": { - "safe-buffer": "5.2.1" - } - }, - "content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" - }, - "contra": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/contra/-/contra-1.9.4.tgz", - "integrity": "sha512-N9ArHAqwR/lhPq4OdIAwH4e1btn6EIZMAz4TazjnzCiVECcWUPTma+dRAM38ERImEJBh8NiCCpjoQruSZ+agYg==", - "requires": { - "atoa": "1.0.0", - "ticky": "1.0.1" - } - }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - }, - "cookie": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", - "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==" - }, - "cookie-signature": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", - "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", - "dev": true - }, - "copy-anything": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", - "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", - "dev": true, - "requires": { - "is-what": "^3.14.1" - } - }, - "copy-text-to-clipboard": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.2.tgz", - "integrity": "sha512-T6SqyLd1iLuqPA90J5N4cTalrtovCySh58iiZDGJ6FGznbclKh4UI+FGacQSgFzwKG77W7XT5gwbVEbd9cIH1A==" - }, - "copy-webpack-plugin": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-14.0.0.tgz", - "integrity": "sha512-3JLW90aBGeaTLpM7mYQKpnVdgsUZRExY55giiZgLuX/xTQRUs1dOCwbBnWnvY6Q6rfZoXMNwzOQJCSZPppfqXA==", - "dev": true, - "requires": { - "glob-parent": "^6.0.1", - "normalize-path": "^3.0.0", - "schema-utils": "^4.2.0", - "serialize-javascript": "^7.0.3", - "tinyglobby": "^0.2.12" - }, - "dependencies": { - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "schema-utils": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", - "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - } - } - }, - "core-js": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.49.0.tgz", - "integrity": "sha512-es1U2+YTtzpwkxVLwAFdSpaIMyQaq0PBgm3YD1W3Qpsn1NAmO3KSgZfu+oGSWVu6NvLHoHCV/aYcsE5wiB7ALg==" - }, - "core-js-compat": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.49.0.tgz", - "integrity": "sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==", - "dev": true, - "requires": { - "browserslist": "^4.28.1" - } - }, - "core-js-pure": { - "version": "3.47.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.47.0.tgz", - "integrity": "sha512-BcxeDbzUrRnXGYIVAGFtcGQVNpFcUhVjr6W7F8XktvQW2iJP9e66GP6xdKotCRFlrxBvNIBrhwKteRXqMV86Nw==" - }, - "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==", - "dev": true - }, - "cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "requires": { - "object-assign": "^4", - "vary": "^1" - } - }, - "corser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", - "integrity": "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==" - }, - "cosmiconfig": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", - "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", - "dev": true, - "requires": { - "env-paths": "^2.2.1", - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0" - } - }, - "create-point-cb": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-point-cb/-/create-point-cb-1.2.0.tgz", - "integrity": "sha512-r4l6IO/YGI7hIZRMLggOzwM6XO80+Fdcv4hx1fXCEdU+hKd7zZki6i+cbYfK9OliMwMYx1wPfQLU/snvS+Dygw==", - "requires": { - "type-func": "^1.0.1" - } - }, - "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==", - "dev": true - }, - "cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crossvent": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/crossvent/-/crossvent-1.5.5.tgz", - "integrity": "sha512-MY4xhBYEnVi+pmTpHCOCsCLYczc0PVtGdPBz6NXNXxikLaUZo4HdAeUb1UqAo3t3yXAloSelTmfxJ+/oUqkW5w==", - "requires": { - "custom-event": "^1.0.0" - } - }, - "css-color-keywords": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", - "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==" - }, - "css-line-break": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz", - "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==", - "requires": { - "utrie": "^1.0.2" - } - }, - "css-loader": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.3.tgz", - "integrity": "sha512-frbERmjT0UC5lMheWpJmMilnt9GEhbZJN/heUb7/zaJYeIzj5St9HvDcfshzzOqbsS+rYpMk++2SD3vGETDSyA==", - "dev": true, - "requires": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.40", - "postcss-modules-extract-imports": "^3.1.0", - "postcss-modules-local-by-default": "^4.0.5", - "postcss-modules-scope": "^3.2.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.6.3" - } - }, - "css-select": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-6.0.0.tgz", - "integrity": "sha512-rZZVSLle8v0+EY8QAkDWrKhpgt6SA5OtHsgBnsj6ZaLb5dmDVOWUDtQitd9ydxxvEjhewNudS6eTVU7uOyzvXw==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^7.0.0", - "domhandler": "^5.0.3", - "domutils": "^3.2.2", - "nth-check": "^2.1.1" - } - }, - "css-to-react-native": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", - "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", - "requires": { - "camelize": "^1.0.0", - "css-color-keywords": "^1.0.0", - "postcss-value-parser": "^4.0.2" - } - }, - "css-tree": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", - "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", - "dev": true, - "requires": { - "mdn-data": "2.27.1", - "source-map-js": "^1.2.1" - } - }, - "css-what": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-7.0.0.tgz", - "integrity": "sha512-wD5oz5xibMOPHzy13CyGmogB3phdvcDaB5t0W/Nr5Z2O/agcB8YwOz6e2Lsp10pNDzBoDO9nVa3RGs/2BttpHQ==", - "dev": true - }, - "css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", - "dev": true - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true - }, - "csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" - }, - "custom-event": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", - "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==" - }, - "d": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz", - "integrity": "sha512-0SdM9V9pd/OXJHoWmTfNPTAeD+lw6ZqHg+isPyBFuJsZLSE0Ygg1cYZ/0l6DrKQXMOqGOu1oWupMoOfoRfMZrQ==", - "requires": { - "es5-ext": "~0.10.2" - } - }, - "damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", - "dev": true - }, - "data-urls": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-7.0.0.tgz", - "integrity": "sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==", - "dev": true, - "requires": { - "whatwg-mimetype": "^5.0.0", - "whatwg-url": "^16.0.0" - } - }, - "data-view-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", - "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - } - }, - "data-view-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", - "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - } - }, - "data-view-byte-offset": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", - "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - } - }, - "debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "requires": { - "ms": "^2.1.3" - } - }, - "decimal.js": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", - "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", - "dev": true - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "default-browser": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.4.0.tgz", - "integrity": "sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==", - "dev": true, - "requires": { - "bundle-name": "^4.1.0", - "default-browser-id": "^5.0.0" - } - }, - "default-browser-id": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", - "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", - "dev": true - }, - "define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "requires": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - } - }, - "define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", - "dev": true - }, - "define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "requires": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - }, - "dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true - }, - "detect-libc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", - "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", - "dev": true, - "optional": true - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "dev": true - }, - "detect-node-es": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", - "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" - }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true - }, - "dns-packet": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", - "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", - "dev": true, - "requires": { - "@leichtgewicht/ip-codec": "^2.0.1" - } - }, - "dom-accessibility-api": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true - }, - "dom-autoscroller": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/dom-autoscroller/-/dom-autoscroller-2.3.4.tgz", - "integrity": "sha512-HcAdt/2Dq9x4CG6LWXc2x9Iq0MJPAu8fuzHncclq7byufqYEYVtx9sZ/dyzR+gdj4qwEC9p27Lw1G2HRRYX6jQ==", - "requires": { - "animation-frame-polyfill": "^1.0.0", - "create-point-cb": "^1.0.0", - "dom-mousemove-dispatcher": "^1.0.1", - "dom-plane": "^1.0.1", - "dom-set": "^1.0.1", - "type-func": "^1.0.1" - } - }, - "dom-mousemove-dispatcher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dom-mousemove-dispatcher/-/dom-mousemove-dispatcher-1.0.1.tgz", - "integrity": "sha512-NMdqqMbgW8kqOdmod2hkS+9hD/v7h4XoSvwU9qqe+wAA/O+ba0jhpbfW0Kb/fCyR0RX9jf4dwfQrl04LQX4FzQ==" - }, - "dom-plane": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/dom-plane/-/dom-plane-1.0.2.tgz", - "integrity": "sha512-/tR67G6ZGSciXoZLsD706yLxEXvX3mG/OWE8YNYj3A1yU/RAimtPXzklVTu5Y5xoeMoloA/Y+MaNjQm9apgAww==", - "requires": { - "create-point-cb": "^1.0.0" - } - }, - "dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "dev": true, - "requires": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - } - }, - "dom-set": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/dom-set/-/dom-set-1.1.1.tgz", - "integrity": "sha512-sUi2aSvRsK3Ixx++gwX9cnaWk9ZxGVFry8+HnTRVmDimybU5PaiI4wX0o00mVtjFKlQNZLmtGoPTLorYbN0+Rw==", - "requires": { - "array-from": "^2.1.1", - "is-array": "^1.0.1", - "iselement": "^1.1.4" - } - }, - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true - }, - "domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dev": true, - "requires": { - "domelementtype": "^2.3.0" - } - }, - "domutils": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", - "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", - "dev": true, - "requires": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - } - }, - "draco3d": { - "version": "1.5.7", - "resolved": "https://registry.npmjs.org/draco3d/-/draco3d-1.5.7.tgz", - "integrity": "sha512-m6WCKt/erDXcw+70IJXnG7M3awwQPAsZvJGX5zY7beBqpELw6RDGkYVU0W43AFxye4pDZ5i2Lbyc/NNGqwjUVQ==" - }, - "dragula": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/dragula/-/dragula-3.7.3.tgz", - "integrity": "sha512-/rRg4zRhcpf81TyDhaHLtXt6sEywdfpv1cRUMeFFy7DuypH2U0WUL0GTdyAQvXegviT4PJK4KuMmOaIDpICseQ==", - "requires": { - "contra": "1.9.4", - "crossvent": "1.5.5" - } - }, - "drange": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/drange/-/drange-1.1.1.tgz", - "integrity": "sha512-pYxfDYpued//QpnLIm4Avk7rsNtAtQkUES2cwAYSvD/wd2pKD71gN2Ebj3e7klzXwjocvE8c5vx/1fxwpqmSxA==" - }, - "dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "requires": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - } - }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true - }, - "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==" - }, - "ejs": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", - "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", - "dev": true, - "requires": { - "jake": "^10.8.5" - } - }, - "electron-to-chromium": { - "version": "1.5.369", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.369.tgz", - "integrity": "sha512-XM22K9FNaaCOvMMrBn1caIc8v0g6+pKt660ZbfQqUZvfil0hEzr8ZoiY7VcSLGM3L/x3rz5PqZrk+bKOOmVM9w==" - }, - "emoji-mart": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/emoji-mart/-/emoji-mart-5.6.0.tgz", - "integrity": "sha512-eJp3QRe79pjwa+duv+n7+5YsNhRcMl812EcFVwrnRvYKoNPoQb5qxU8DG6Bgwji0akHdp6D4Ln6tYLG58MFSow==" - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true - }, - "enhanced-resolve": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.21.0.tgz", - "integrity": "sha512-otxSQPw4lkOZWkHpB3zaEQs6gWYEsmX4xQF68ElXC/TWvGxGMSGOvoNbaLXm6/cS/fSfHtsEdw90y20PCd+sCA==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.3.3" - } - }, - "entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true - }, - "env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" - }, - "environment": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", - "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==" - }, - "err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" - }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "optional": true, - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", - "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.24.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", - "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", - "dev": true, - "requires": { - "array-buffer-byte-length": "^1.0.2", - "arraybuffer.prototype.slice": "^1.0.4", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "data-view-buffer": "^1.0.2", - "data-view-byte-length": "^1.0.2", - "data-view-byte-offset": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-set-tostringtag": "^2.1.0", - "es-to-primitive": "^1.3.0", - "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.3.0", - "get-proto": "^1.0.1", - "get-symbol-description": "^1.1.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "internal-slot": "^1.1.0", - "is-array-buffer": "^3.0.5", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.2", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.2.1", - "is-set": "^2.0.3", - "is-shared-array-buffer": "^1.0.4", - "is-string": "^1.1.1", - "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.1", - "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.4", - "object-keys": "^1.1.1", - "object.assign": "^4.1.7", - "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.4", - "safe-array-concat": "^1.1.3", - "safe-push-apply": "^1.0.0", - "safe-regex-test": "^1.1.0", - "set-proto": "^1.0.0", - "stop-iteration-iterator": "^1.1.0", - "string.prototype.trim": "^1.2.10", - "string.prototype.trimend": "^1.0.9", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.3", - "typed-array-byte-length": "^1.0.3", - "typed-array-byte-offset": "^1.0.4", - "typed-array-length": "^1.0.7", - "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.19" - } - }, - "es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==" - }, - "es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" - }, - "es-html-parser": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/es-html-parser/-/es-html-parser-0.3.1.tgz", - "integrity": "sha512-YTEasG4xt7FEN4b6qJIPbFo/fzQ5kjRMEQ33QMqSXTvfXqAbC2rHxo32x2/1Rhq7Mlu6wI3MIpM5Kf2VHPXrUQ==", - "dev": true - }, - "es-iterator-helpers": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", - "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.3", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.6", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "iterator.prototype": "^1.1.4", - "safe-array-concat": "^1.1.3" - } - }, - "es-module-lexer": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz", - "integrity": "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==", - "dev": true - }, - "es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "requires": { - "es-errors": "^1.3.0" - } - }, - "es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "dev": true, - "requires": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - } - }, - "es-shim-unscopables": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", - "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", - "dev": true, - "requires": { - "hasown": "^2.0.2" - } - }, - "es-to-primitive": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", - "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", - "dev": true, - "requires": { - "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" - } - }, - "es-toolkit": { - "version": "1.46.1", - "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.46.1.tgz", - "integrity": "sha512-5eNtXOs3tbfxXOj04tjjseeWkRWaoCjdEI+96DgwzZoe6c9juL49pXlzAFTI72aWC9Y8p7168g6XIKjh7k6pyQ==" - }, - "es5-ext": { - "version": "0.10.64", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", - "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", - "requires": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "esniff": "^2.0.1", - "next-tick": "^1.1.0" - } - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - }, - "dependencies": { - "d": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", - "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", - "requires": { - "es5-ext": "^0.10.64", - "type": "^2.7.2" - } - } - } - }, - "es6-slide-up-down": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es6-slide-up-down/-/es6-slide-up-down-1.0.0.tgz", - "integrity": "sha512-s86t2F+GjPRxiSodC59JRZZaP07Ht03EDU2RDrRCXYk9o3CfTCNjtwqrpoV1BjbCnzXcBoDGj1aZhzZkHzMpWQ==" - }, - "es6-symbol": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz", - "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", - "requires": { - "d": "^1.0.2", - "ext": "^1.7.0" - }, - "dependencies": { - "d": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", - "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", - "requires": { - "es5-ext": "^0.10.64", - "type": "^2.7.2" - } - } - } - }, - "es6-weak-map": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-0.1.4.tgz", - "integrity": "sha512-P+N5Cd2TXeb7G59euFiM7snORspgbInS29Nbf3KNO2JQp/DyhvMCDWd58nsVAXwYJ6W3Bx7qDdy6QQ3PCJ7jKQ==", - "requires": { - "d": "~0.1.1", - "es5-ext": "~0.10.6", - "es6-iterator": "~0.1.3", - "es6-symbol": "~2.0.1" - }, - "dependencies": { - "es6-iterator": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-0.1.3.tgz", - "integrity": "sha512-6TOmbFM6OPWkTe+bQ3ZuUkvqcWUjAnYjKUCLdbvRsAUz2Pr+fYIibwNXNkLNtIK9PPFbNMZZddaRNkyJhlGJhA==", - "requires": { - "d": "~0.1.1", - "es5-ext": "~0.10.5", - "es6-symbol": "~2.0.1" - } - }, - "es6-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-2.0.1.tgz", - "integrity": "sha512-wjobO4zO8726HVU7mI2OA/B6QszqwHJuKab7gKHVx+uRfVVYGcWJkCIFxV2Madqb9/RUSrhJ/r6hPfG7FsWtow==", - "requires": { - "d": "~0.1.1", - "es5-ext": "~0.10.5" - } - } - } - }, - "esbuild": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", - "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", - "dev": true, - "requires": { - "@esbuild/aix-ppc64": "0.27.3", - "@esbuild/android-arm": "0.27.3", - "@esbuild/android-arm64": "0.27.3", - "@esbuild/android-x64": "0.27.3", - "@esbuild/darwin-arm64": "0.27.3", - "@esbuild/darwin-x64": "0.27.3", - "@esbuild/freebsd-arm64": "0.27.3", - "@esbuild/freebsd-x64": "0.27.3", - "@esbuild/linux-arm": "0.27.3", - "@esbuild/linux-arm64": "0.27.3", - "@esbuild/linux-ia32": "0.27.3", - "@esbuild/linux-loong64": "0.27.3", - "@esbuild/linux-mips64el": "0.27.3", - "@esbuild/linux-ppc64": "0.27.3", - "@esbuild/linux-riscv64": "0.27.3", - "@esbuild/linux-s390x": "0.27.3", - "@esbuild/linux-x64": "0.27.3", - "@esbuild/netbsd-arm64": "0.27.3", - "@esbuild/netbsd-x64": "0.27.3", - "@esbuild/openbsd-arm64": "0.27.3", - "@esbuild/openbsd-x64": "0.27.3", - "@esbuild/openharmony-arm64": "0.27.3", - "@esbuild/sunos-x64": "0.27.3", - "@esbuild/win32-arm64": "0.27.3", - "@esbuild/win32-ia32": "0.27.3", - "@esbuild/win32-x64": "0.27.3" - } - }, - "esbuild-wasm": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.27.3.tgz", - "integrity": "sha512-AUXuOxZ145/5Az+lIqk6TdJbxKTyDGkXMJpTExmBdbnHR6n6qAFx+F4oG9ORpVYJ9dQYeQAqzv51TO4DFKsbXw==", - "dev": true - }, - "escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==" - }, - "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==" - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "eslint": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.4.1.tgz", - "integrity": "sha512-AyIKhnOBuOAdueD7RB3xB+YeAWScb9jHsJBgH2Hcde8InP5JYhqrRR6iTMHyTEwgENK54Cp44e4v8BwNhsuHuw==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.5", - "@eslint/config-helpers": "^0.6.0", - "@eslint/core": "^1.2.1", - "@eslint/plugin-kit": "^0.7.2", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "dependencies": { - "@eslint/core": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.1.tgz", - "integrity": "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.15" - } - }, - "@eslint/plugin-kit": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.2.tgz", - "integrity": "sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==", - "dev": true, - "requires": { - "@eslint/core": "^1.2.1", - "levn": "^0.4.1" - } - }, - "ajv": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", - "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true - }, - "brace-expansion": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", - "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", - "dev": true, - "requires": { - "balanced-match": "^4.0.2" - } - }, - "eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true - }, - "espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "requires": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "requires": { - "brace-expansion": "^5.0.5" - } - } - } - }, - "eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "requires": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-module-utils": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", - "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", - "dev": true, - "requires": { - "debug": "^3.2.7" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-plugin-import": { - "version": "2.32.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", - "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", - "dev": true, - "requires": { - "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.9", - "array.prototype.findlastindex": "^1.2.6", - "array.prototype.flat": "^1.3.3", - "array.prototype.flatmap": "^1.3.3", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.1", - "hasown": "^2.0.2", - "is-core-module": "^2.16.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "object.groupby": "^1.0.3", - "object.values": "^1.2.1", - "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.9", - "tsconfig-paths": "^3.15.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - }, - "tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", - "dev": true, - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - } - } - }, - "eslint-plugin-jsx-a11y": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", - "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", - "dev": true, - "requires": { - "aria-query": "^5.3.2", - "array-includes": "^3.1.8", - "array.prototype.flatmap": "^1.3.2", - "ast-types-flow": "^0.0.8", - "axe-core": "^4.10.0", - "axobject-query": "^4.1.0", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "hasown": "^2.0.2", - "jsx-ast-utils": "^3.3.5", - "language-tags": "^1.0.9", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "safe-regex-test": "^1.0.3", - "string.prototype.includes": "^2.0.1" - } - }, - "eslint-plugin-react": { - "version": "7.37.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", - "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", - "dev": true, - "requires": { - "array-includes": "^3.1.8", - "array.prototype.findlast": "^1.2.5", - "array.prototype.flatmap": "^1.3.3", - "array.prototype.tosorted": "^1.1.4", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.2.1", - "estraverse": "^5.3.0", - "hasown": "^2.0.2", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.9", - "object.fromentries": "^2.0.8", - "object.values": "^1.2.1", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.12", - "string.prototype.repeat": "^1.0.0" - }, - "dependencies": { - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", - "dev": true, - "requires": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "eslint-plugin-react-hooks": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.1.1.tgz", - "integrity": "sha512-f2I7Gw6JbvCexzIInuSbZpfdQ44D7iqdWX01FKLvrPgqxoE7oMj8clOfto8U6vYiz4yd5oKu39rRSVOe1zRu0g==", - "dev": true, - "requires": { - "@babel/core": "^7.24.4", - "@babel/parser": "^7.24.4", - "hermes-parser": "^0.25.1", - "zod": "^3.25.0 || ^4.0.0", - "zod-validation-error": "^3.5.0 || ^4.0.0" - } - }, - "eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "requires": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true - }, - "esniff": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", - "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", - "requires": { - "d": "^1.0.1", - "es5-ext": "^0.10.62", - "event-emitter": "^0.3.5", - "type": "^2.7.2" - }, - "dependencies": { - "d": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", - "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", - "requires": { - "es5-ext": "^0.10.64", - "type": "^2.7.2" - } - } - } - }, - "espree": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", - "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", - "dev": true, - "requires": { - "acorn": "^8.15.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.1" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", - "dev": true - } - } - }, - "esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, - "requires": { - "@types/estree": "^1.0.0" - } - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" - }, - "event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", - "requires": { - "d": "1", - "es5-ext": "~0.10.14" - }, - "dependencies": { - "d": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", - "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", - "requires": { - "es5-ext": "^0.10.64", - "type": "^2.7.2" - } - } - } - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true - }, - "eventsource": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz", - "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==", - "requires": { - "eventsource-parser": "^3.0.1" - } - }, - "eventsource-parser": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.6.tgz", - "integrity": "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==" - }, - "expect-type": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", - "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", - "dev": true - }, - "exponential-backoff": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz", - "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==" - }, - "express": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", - "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", - "dev": true, - "requires": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "~1.20.3", - "content-disposition": "~0.5.4", - "content-type": "~1.0.4", - "cookie": "~0.7.1", - "cookie-signature": "~1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.3.1", - "fresh": "~0.5.2", - "http-errors": "~2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "~2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "~0.1.12", - "proxy-addr": "~2.0.7", - "qs": "~6.14.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "~0.19.0", - "serve-static": "~1.16.2", - "setprototypeof": "1.2.0", - "statuses": "~2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "dev": true - }, - "finalhandler": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", - "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "~2.4.1", - "parseurl": "~1.3.3", - "statuses": "~2.0.2", - "unpipe": "~1.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "express-rate-limit": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.3.1.tgz", - "integrity": "sha512-D1dKN+cmyPWuvB+G2SREQDzPY1agpBIcTa9sJxOPMCNeH3gwzhqJRDWCXW3gg0y//+LQ/8j52JbMROWyrKdMdw==", - "requires": { - "ip-address": "10.1.0" - } - }, - "ext": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", - "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", - "requires": { - "type": "^2.7.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-equals": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.4.0.tgz", - "integrity": "sha512-jt2DW/aNFNwke7AUd+Z+e6pz39KO5rzdbbFCg2sGafS4mk13MI7Z8O5z9cADNn5lhGODIgLwug6TZO2ctf7kcw==" - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "fast-uri": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", - "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==" - }, - "faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==" - }, - "file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "requires": { - "flat-cache": "^4.0.0" - } - }, - "filelist": { - "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==", - "dev": true, - "requires": { - "minimatch": "^5.0.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", - "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz", - "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true - }, - "flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "requires": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - } - }, - "flatpickr": { - "version": "4.6.13", - "resolved": "https://registry.npmjs.org/flatpickr/-/flatpickr-4.6.13.tgz", - "integrity": "sha512-97PMG/aywoYpB4IvbvUJi0RQi8vearvU0oov1WW3k0WZPBMrTQVqekSX5CjSG/M4Q3i6A/0FKXC7RyAoAUUSPw==" - }, - "flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true - }, - "follow-redirects": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", - "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==" - }, - "for-each": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", - "dev": true, - "requires": { - "is-callable": "^1.2.7" - } - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" - }, - "fraction.js": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", - "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "dev": true - }, - "fs-minipass": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", - "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", - "requires": { - "minipass": "^7.0.3" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "optional": true - }, - "function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" - }, - "function.prototype.name": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", - "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" - } - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-east-asian-width": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz", - "integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==" - }, - "get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "requires": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - } - }, - "get-nonce": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", - "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==" - }, - "get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "requires": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - } - }, - "get-symbol-description": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", - "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6" - } - }, - "glob": { - "version": "13.0.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", - "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", - "requires": { - "minimatch": "^10.2.2", - "minipass": "^7.1.3", - "path-scurry": "^2.0.2" - }, - "dependencies": { - "balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==" - }, - "brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "requires": { - "balanced-match": "^4.0.2" - } - }, - "minimatch": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", - "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", - "requires": { - "brace-expansion": "^5.0.2" - } - } - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "glob-to-regex.js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/glob-to-regex.js/-/glob-to-regex.js-1.2.0.tgz", - "integrity": "sha512-QMwlOQKU/IzqMUOAZWubUOT8Qft+Y0KQWnX9nK3ch0CJg0tTp4TvGZsTfudYKv2NzoQSyPcnA6TYeIQ3jGichQ==", - "dev": true - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "globals": { - "version": "17.6.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-17.6.0.tgz", - "integrity": "sha512-sepffkT8stwnIYbsMBpoCHJuJM5l98FUF2AnE07hfvE0m/qp3R586hw4jF4uadbhvg1ooIdzuu7CsfD2jzCaNA==", - "dev": true - }, - "globalthis": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", - "dev": true, - "requires": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" - } - }, - "gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==" - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "dev": true, - "requires": { - "duplexer": "^0.1.2" - } - }, - "hammerjs": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz", - "integrity": "sha512-tSQXBXS/MWQOn/RKckawJ61vvsDpCom87JgxiYdGwHdOa0ht0vzUWDlfioofFCRU0L+6NGDt6XzbgoJvZkMeRQ==" - }, - "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==", - "dev": true - }, - "has-bigints": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", - "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "requires": { - "es-define-property": "^1.0.0" - } - }, - "has-proto": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", - "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", - "dev": true, - "requires": { - "dunder-proto": "^1.0.0" - } - }, - "has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==" - }, - "has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "requires": { - "has-symbols": "^1.0.3" - } - }, - "hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "requires": { - "function-bind": "^1.1.2" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - }, - "hermes-estree": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", - "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", - "dev": true - }, - "hermes-parser": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", - "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", - "dev": true, - "requires": { - "hermes-estree": "0.25.1" - } - }, - "hono": { - "version": "4.12.14", - "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.14.tgz", - "integrity": "sha512-am5zfg3yu6sqn5yjKBNqhnTX7Cv+m00ox+7jbaKkrLMRJ4rAdldd1xPd/JzbBWspqaQv6RSTrgFN95EsfhC+7w==" - }, - "hosted-git-info": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.2.tgz", - "integrity": "sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg==", - "requires": { - "lru-cache": "^11.1.0" - }, - "dependencies": { - "lru-cache": { - "version": "11.3.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", - "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==" - } - } - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "html-encoding-sniffer": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-6.0.0.tgz", - "integrity": "sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==", - "dev": true, - "requires": { - "@exodus/bytes": "^1.6.0" - } - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "html-parse-stringify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", - "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==", - "requires": { - "void-elements": "3.1.0" - }, - "dependencies": { - "void-elements": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", - "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==" - } - } - }, - "html-standard": { - "version": "0.0.13", - "resolved": "https://registry.npmjs.org/html-standard/-/html-standard-0.0.13.tgz", - "integrity": "sha512-6oNfW3c1t44O7jVXu0tp4E5MbHifWlXrHlZBPt6y7vFdgLOUUh8hyzoRhfUgozlBUK6oLLYhqP1uIqbZ8ggcBA==", - "dev": true, - "requires": { - "vscode-css-languageservice": "^6.3.9", - "vscode-languageserver-textdocument": "^1.0.12" - } - }, - "html2canvas": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz", - "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==", - "requires": { - "css-line-break": "^2.1.0", - "text-segmentation": "^1.0.3" - } - }, - "htmlparser2": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.1.0.tgz", - "integrity": "sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==", - "dev": true, - "requires": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.2.2", - "entities": "^7.0.1" - }, - "dependencies": { - "entities": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", - "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", - "dev": true - } - } - }, - "http-cache-semantics": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", - "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==" - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", - "dev": true - }, - "http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - "requires": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" - } - }, - "http-parser-js": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz", - "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==", - "dev": true - }, - "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==", - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "requires": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - } - }, - "http-proxy-middleware": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-3.0.5.tgz", - "integrity": "sha512-GLZZm1X38BPY4lkXA01jhwxvDoOkkXqjgVyUzVxiEK4iuRu03PZoYHhHRwxnfhQMDuaxi3vVri0YgSro/1oWqg==", - "dev": true, - "requires": { - "@types/http-proxy": "^1.17.15", - "debug": "^4.3.6", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.3", - "is-plain-object": "^5.0.0", - "micromatch": "^4.0.8" - }, - "dependencies": { - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true - } - } - }, - "http-server": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/http-server/-/http-server-13.1.0.tgz", - "integrity": "sha512-MLqBMXeY/YN0FYMz4ifeOQCcg8pKj8YdmzX1pr/Vb2VrNnbxHN1s4K9BuZRVSyK/j3DQ8UVrrABb8m6EmFjWog==", - "requires": { - "basic-auth": "^1.0.3", - "chalk": "^4.1.2", - "corser": "^2.0.1", - "he": "^1.1.0", - "http-proxy": "^1.18.0", - "mime": "^1.6.0", - "minimist": "^1.2.5", - "opener": "^1.5.1", - "portfinder": "^1.0.25", - "secure-compare": "3.0.1", - "union": "~0.5.0", - "url-join": "^2.0.5" - }, - "dependencies": { - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - } - } - }, - "https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", - "requires": { - "agent-base": "^7.1.2", - "debug": "4" - } - }, - "hyperdyperid": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz", - "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==", - "dev": true - }, - "i18n-js": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/i18n-js/-/i18n-js-4.5.1.tgz", - "integrity": "sha512-n7jojFj1WC0tztgr0I8jqTXuIlY1xNzXnC3mjKX/YjJhimdM+jXM8vOmn9d3xQFNC6qDHJ4ovhdrGXrRXLIGkA==", - "requires": { - "bignumber.js": "*", - "lodash": "*", - "make-plural": "*" - } - }, - "i18next": { - "version": "25.6.3", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-25.6.3.tgz", - "integrity": "sha512-AEQvoPDljhp67a1+NsnG/Wb1Nh6YoSvtrmeEd24sfGn3uujCtXCF3cXpr7ulhMywKNFF7p3TX1u2j7y+caLOJg==", - "requires": { - "@babel/runtime": "^7.28.4" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true - }, - "idiomorph": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/idiomorph/-/idiomorph-0.7.4.tgz", - "integrity": "sha512-uCdSpLo3uMfqOmrwXTpR1k/sq4sSmKC7l4o/LdJOEU+MMMq+wkevRqOQYn3lP7vfz9Mv+USBEqPvi0XhdL9ENw==" - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true - }, - "ignore-walk": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-8.0.0.tgz", - "integrity": "sha512-FCeMZT4NiRQGh+YkeKMtWrOmBgWjHjMJ26WQWrRQyoyzqevdaGSakUaJW5xQYmjLlUVk2qUnCjYVBax9EKKg8A==", - "requires": { - "minimatch": "^10.0.3" - }, - "dependencies": { - "balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==" - }, - "brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "requires": { - "balanced-match": "^4.0.2" - } - }, - "minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "requires": { - "brace-expansion": "^5.0.5" - } - } - } - }, - "image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", - "dev": true, - "optional": true - }, - "immutable": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.5.tgz", - "integrity": "sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-6.0.0.tgz", - "integrity": "sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ==" - }, - "internal-slot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", - "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", - "dev": true, - "requires": { - "es-errors": "^1.3.0", - "hasown": "^2.0.2", - "side-channel": "^1.1.0" - } - }, - "ip-address": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.1.0.tgz", - "integrity": "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==" - }, - "ipaddr.js": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.3.0.tgz", - "integrity": "sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==", - "dev": true - }, - "is-array": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-array/-/is-array-1.0.1.tgz", - "integrity": "sha512-gxiZ+y/u67AzpeFmAmo4CbtME/bs7J2C++su5zQzvQyaxUqVzkh69DI+jN+KZuSO6JaH6TIIU6M6LhqxMjxEpw==" - }, - "is-array-buffer": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", - "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "is-async-function": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.0.tgz", - "integrity": "sha512-GExz9MtyhlZyXYLxzlJRj5WUCE661zhDa1Yna52CN57AJsymh+DvXXjyveSioqSRdxvUrdKdvqB1b5cVKsNpWQ==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - } - }, - "is-bigint": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", - "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", - "dev": true, - "requires": { - "has-bigints": "^1.0.2" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.1.tgz", - "integrity": "sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true - }, - "is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "dev": true, - "requires": { - "hasown": "^2.0.2" - } - }, - "is-data-view": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", - "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "is-typed-array": "^1.1.13" - } - }, - "is-date-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", - "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - } - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true - }, - "is-finalizationregistry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", - "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", - "dev": true, - "requires": { - "call-bound": "^1.0.3" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "is-generator-function": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", - "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "get-proto": "^1.0.0", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - } - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-in-ssh": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-in-ssh/-/is-in-ssh-1.0.0.tgz", - "integrity": "sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==", - "dev": true - }, - "is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", - "dev": true, - "requires": { - "is-docker": "^3.0.0" - }, - "dependencies": { - "is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", - "dev": true - } - } - }, - "is-interactive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", - "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==" - }, - "is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "dev": true - }, - "is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "dev": true - }, - "is-network-error": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.3.1.tgz", - "integrity": "sha512-6QCxa49rQbmUWLfk0nuGqzql9U8uaV2H6279bRErPBHe/109hCzsLUBUHfbEtvLIHBd6hyXbgedBSHevm43Edw==", - "dev": true - }, - "is-number-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", - "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - } - }, - "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==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "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", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true - }, - "is-promise": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", - "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==" - }, - "is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - } - }, - "is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "dev": true - }, - "is-shared-array-buffer": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", - "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", - "dev": true, - "requires": { - "call-bound": "^1.0.3" - } - }, - "is-string": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", - "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - } - }, - "is-symbol": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", - "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "has-symbols": "^1.1.0", - "safe-regex-test": "^1.1.0" - } - }, - "is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", - "dev": true, - "requires": { - "which-typed-array": "^1.1.16" - } - }, - "is-unicode-supported": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", - "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==" - }, - "is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "dev": true - }, - "is-weakref": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", - "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", - "dev": true, - "requires": { - "call-bound": "^1.0.3" - } - }, - "is-weakset": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", - "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - } - }, - "is-what": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", - "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", - "dev": true - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "requires": { - "is-docker": "^2.0.0" - } - }, - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, - "iselement": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/iselement/-/iselement-1.1.4.tgz", - "integrity": "sha512-4Q519eWmbHO1pbimiz7H1iJRUHVmAmfh0viSsUD+oAwVO4ntZt7gpf8i8AShVBTyOvRTZNYNBpUxOIvwZR+ffw==" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true - }, - "isomorphic.js": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/isomorphic.js/-/isomorphic.js-0.2.5.tgz", - "integrity": "sha512-PIeMbHqMt4DnUP3MA/Flc0HElYjMXArsw1qwJZcm9sqR8mq3l8NYizFMty0pWwE/tzIGH3EKK5+jes5mAr85yw==" - }, - "istanbul-lib-coverage": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", - "dev": true - }, - "istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", - "dev": true, - "requires": { - "semver": "^7.5.3" - } - } - } - }, - "istanbul-reports": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", - "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "iterator.prototype": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", - "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", - "dev": true, - "requires": { - "define-data-property": "^1.1.4", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "get-proto": "^1.0.0", - "has-symbols": "^1.1.0", - "set-function-name": "^2.0.2" - } - }, - "jake": { - "version": "10.8.7", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", - "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", - "dev": true, - "requires": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.4", - "minimatch": "^3.1.2" - } - }, - "jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jiti": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", - "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", - "dev": true - }, - "jose": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/jose/-/jose-6.1.3.tgz", - "integrity": "sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==" - }, - "jquery": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-4.0.0.tgz", - "integrity": "sha512-TXCHVR3Lb6TZdtw1l3RTLf8RBWVGexdxL6AC8/e0xZKEpBflBsjh9/8LXw+dkNFuOyW9B7iB3O1sP7hS0Kiacg==" - }, - "jquery-migrate": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/jquery-migrate/-/jquery-migrate-4.0.2.tgz", - "integrity": "sha512-J15ilpECoAsObLv2robklj0qf1qt9QCnZwwNcJAXkM7dIiOgcac2dqC3HgDtUF0fmRwKZa/ggTkxTj9S4Vk+HQ==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", - "requires": { - "argparse": "^2.0.1" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - } - } - }, - "jsdom": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-29.1.1.tgz", - "integrity": "sha512-ECi4Fi2f7BdJtUKTflYRTiaMxIB0O6zfR1fX0GXpUrf6flp8QIYn1UT20YQqdSOfk2dfkCwS8LAFoJDEppNK5Q==", - "dev": true, - "requires": { - "@asamuzakjp/css-color": "^5.1.11", - "@asamuzakjp/dom-selector": "^7.1.1", - "@bramus/specificity": "^2.4.2", - "@csstools/css-syntax-patches-for-csstree": "^1.1.3", - "@exodus/bytes": "^1.15.0", - "css-tree": "^3.2.1", - "data-urls": "^7.0.0", - "decimal.js": "^10.6.0", - "html-encoding-sniffer": "^6.0.0", - "is-potential-custom-element-name": "^1.0.1", - "lru-cache": "^11.3.5", - "parse5": "^8.0.1", - "saxes": "^6.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^6.0.1", - "undici": "^7.25.0", - "w3c-xmlserializer": "^5.0.0", - "webidl-conversions": "^8.0.1", - "whatwg-mimetype": "^5.0.0", - "whatwg-url": "^16.0.1", - "xml-name-validator": "^5.0.0" - }, - "dependencies": { - "entities": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-8.0.0.tgz", - "integrity": "sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==", - "dev": true - }, - "lru-cache": { - "version": "11.3.6", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.6.tgz", - "integrity": "sha512-Gf/KoL3C/MlI7Bt0PGI9I+TeTC/I6r/csU58N4BSNc4lppLBeKsOdFYkK+dX0ABDUMJNfCHTyPpzwwO21Awd3A==", - "dev": true - }, - "parse5": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.1.tgz", - "integrity": "sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==", - "dev": true, - "requires": { - "entities": "^8.0.0" - } - }, - "undici": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-7.25.0.tgz", - "integrity": "sha512-xXnp4kTyor2Zq+J1FfPI6Eq3ew5h6Vl0F/8d9XU5zZQf1tX9s2Su1/3PiMmUANFULpmksxkClamIZcaUqryHsQ==", - "dev": true - } - } - }, - "jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==" - }, - "json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-5.0.0.tgz", - "integrity": "sha512-ZF1nxZ28VhQouRWhUcVlUIN3qwSgPuswK05s/HIaoetAoE/9tngVmCHjSxmSQPav1nd+lPtTL0YZ/2AFdR/iYQ==" - }, - "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==" - }, - "json-schema-typed": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-8.0.2.tgz", - "integrity": "sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==" - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" - }, - "jsonc-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", - "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==" - }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==" - }, - "jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, - "requires": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - } - }, - "karma-source-map-support": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", - "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", - "dev": true, - "requires": { - "source-map-support": "^0.5.5" - } - }, - "keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "requires": { - "json-buffer": "3.0.1" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "ktx-parse": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ktx-parse/-/ktx-parse-0.7.1.tgz", - "integrity": "sha512-FeA3g56ksdFNwjXJJsc1CCc7co+AJYDp6ipIp878zZ2bU8kWROatLYf39TQEd4/XRSUvBXovQ8gaVKWPXsCLEQ==" - }, - "language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", - "dev": true - }, - "language-tags": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", - "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", - "dev": true, - "requires": { - "language-subtag-registry": "^0.3.20" - } - }, - "launch-editor": { - "version": "2.13.2", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.13.2.tgz", - "integrity": "sha512-4VVDnbOpLXy/s8rdRCSXb+zfMeFR0WlJWpET1iA9CQdlZDfwyLjUuGQzXU4VeOoey6AicSAluWan7Etga6Kcmg==", - "dev": true, - "requires": { - "picocolors": "^1.1.1", - "shell-quote": "^1.8.3" - } - }, - "laz-perf": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/laz-perf/-/laz-perf-0.0.6.tgz", - "integrity": "sha512-ZBqC+BBlofznDIY3SfjXDBVdIhYfz7bq8HAHztlw4XOnu++nHiWtCGPgzpdeAhPkByc68DaKNy3E3rY4XrdRtQ==" - }, - "less": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/less/-/less-4.4.2.tgz", - "integrity": "sha512-j1n1IuTX1VQjIy3tT7cyGbX7nvQOsFLoIqobZv4ttI5axP923gA44zUj6miiA6R5Aoms4sEGVIIcucXUbRI14g==", - "dev": true, - "requires": { - "copy-anything": "^2.0.1", - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "make-dir": "^2.1.0", - "mime": "^1.4.1", - "needle": "^3.1.0", - "parse-node-version": "^1.0.1", - "source-map": "~0.6.0", - "tslib": "^2.3.0" - }, - "dependencies": { - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, - "optional": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } - } - }, - "less-loader": { - "version": "12.3.1", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-12.3.1.tgz", - "integrity": "sha512-JZZmG7gMzoDP3VGeEG8Sh6FW5wygB5jYL7Wp29FFihuRTsIBacqO3LbRPr2yStYD11riVf13selLm/CPFRDBRQ==", - "dev": true - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "lib0": { - "version": "0.2.109", - "resolved": "https://registry.npmjs.org/lib0/-/lib0-0.2.109.tgz", - "integrity": "sha512-jP0gbnyW0kwlx1Atc4dcHkBbrVAkdHjuyHxtClUPYla7qCmwIif1qZ6vQeJdR5FrOVdn26HvQT0ko01rgW7/Xw==", - "requires": { - "isomorphic.js": "^0.2.4" - } - }, - "license-webpack-plugin": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", - "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", - "dev": true, - "requires": { - "webpack-sources": "^3.0.0" - } - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "listr2": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.5.tgz", - "integrity": "sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==", - "requires": { - "cli-truncate": "^5.0.0", - "colorette": "^2.0.20", - "eventemitter3": "^5.0.1", - "log-update": "^6.1.0", - "rfdc": "^1.4.1", - "wrap-ansi": "^9.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==" - }, - "ansi-styles": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==" - }, - "emoji-regex": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", - "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==" - }, - "eventemitter3": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" - }, - "string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", - "requires": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - } - }, - "strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", - "requires": { - "ansi-regex": "^6.0.1" - } - }, - "wrap-ansi": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", - "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", - "requires": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - } - } - } - }, - "lit": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/lit/-/lit-2.8.0.tgz", - "integrity": "sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==", - "requires": { - "@lit/reactive-element": "^1.6.0", - "lit-element": "^3.3.0", - "lit-html": "^2.8.0" - }, - "dependencies": { - "lit-html": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", - "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==", - "requires": { - "@types/trusted-types": "^2.0.2" - } - } - } - }, - "lit-element": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.3.tgz", - "integrity": "sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==", - "requires": { - "@lit-labs/ssr-dom-shim": "^1.1.0", - "@lit/reactive-element": "^1.3.0", - "lit-html": "^2.8.0" - }, - "dependencies": { - "lit-html": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", - "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==", - "requires": { - "@types/trusted-types": "^2.0.2" - } - } - } - }, - "lit-html": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.3.3.tgz", - "integrity": "sha512-el8M6jK2o3RXBnrSHX3ZKrsN8zEV63pSExTO1wYJz7QndGYZ8353e2a5PPX+qHe2aGayfnchQmkAojaWAREOIA==", - "requires": { - "@types/trusted-types": "^2.0.2" - } - }, - "lmdb": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.5.1.tgz", - "integrity": "sha512-NYHA0MRPjvNX+vSw8Xxg6FLKxzAG+e7Pt8RqAQA/EehzHVXq9SxDqJIN3JL1hK0dweb884y8kIh6rkWvPyg9Wg==", - "dev": true, - "optional": true, - "requires": { - "@harperfast/extended-iterable": "^1.0.3", - "@lmdb/lmdb-darwin-arm64": "3.5.1", - "@lmdb/lmdb-darwin-x64": "3.5.1", - "@lmdb/lmdb-linux-arm": "3.5.1", - "@lmdb/lmdb-linux-arm64": "3.5.1", - "@lmdb/lmdb-linux-x64": "3.5.1", - "@lmdb/lmdb-win32-arm64": "3.5.1", - "@lmdb/lmdb-win32-x64": "3.5.1", - "msgpackr": "^1.11.2", - "node-addon-api": "^6.1.0", - "node-gyp-build-optional-packages": "5.2.2", - "ordered-binary": "^1.5.3", - "weak-lru-cache": "^1.2.2" - } - }, - "loader-runner": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.2.tgz", - "integrity": "sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w==", - "dev": true - }, - "loader-utils": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", - "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", - "dev": true - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", - "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==" - }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" - }, - "lodash.clonedeepwith": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeepwith/-/lodash.clonedeepwith-4.5.0.tgz", - "integrity": "sha512-QRBRSxhbtsX1nc0baxSkkK5WlVTTm/s48DSukcGcWZwIyI8Zz+lB+kFiELJXtzfH4Aj6kMWQ1VWW4U5uUDgZMA==" - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true - }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" - }, - "lodash.take": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.take/-/lodash.take-4.1.1.tgz", - "integrity": "sha512-3T118EQjnhr9c0aBKCCMhQn0OBwRMz/O2WaRU6VH0TSKoMCmFtUpr0iUp+eWKODEiRXtYOK7R7SiBneKHdk7og==" - }, - "log-symbols": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-7.0.1.tgz", - "integrity": "sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==", - "requires": { - "is-unicode-supported": "^2.0.0", - "yoctocolors": "^2.1.1" - } - }, - "log-update": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", - "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", - "requires": { - "ansi-escapes": "^7.0.0", - "cli-cursor": "^5.0.0", - "slice-ansi": "^7.1.0", - "strip-ansi": "^7.1.0", - "wrap-ansi": "^9.0.0" - }, - "dependencies": { - "ansi-escapes": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", - "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", - "requires": { - "environment": "^1.0.0" - } - }, - "ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==" - }, - "ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" - }, - "emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==" - }, - "string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", - "requires": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - } - }, - "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "requires": { - "ansi-regex": "^6.0.1" - } - }, - "wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", - "requires": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - } - } - } - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "requires": { - "yallist": "^3.0.2" - } - }, - "lru-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", - "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==", - "requires": { - "es5-ext": "~0.10.2" - } - }, - "luxon": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.7.2.tgz", - "integrity": "sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew==" - }, - "lz-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", - "dev": true - }, - "magic-string": { - "version": "0.30.21", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", - "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", - "requires": { - "@jridgewell/sourcemap-codec": "^1.5.5" - } - }, - "magicast": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.2.tgz", - "integrity": "sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ==", - "dev": true, - "requires": { - "@babel/parser": "^7.29.0", - "@babel/types": "^7.29.0", - "source-map-js": "^1.2.1" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "optional": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "dependencies": { - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "optional": true - } - } - }, - "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 - }, - "make-fetch-happen": { - "version": "15.0.5", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.5.tgz", - "integrity": "sha512-uCbIa8jWWmQZt4dSnEStkVC6gdakiinAm4PiGsywIkguF0eWMdcjDz0ECYhUolFU3pFLOev9VNPCEygydXnddg==", - "requires": { - "@gar/promise-retry": "^1.0.0", - "@npmcli/agent": "^4.0.0", - "@npmcli/redact": "^4.0.0", - "cacache": "^20.0.1", - "http-cache-semantics": "^4.1.1", - "minipass": "^7.0.2", - "minipass-fetch": "^5.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^1.0.0", - "proc-log": "^6.0.0", - "ssri": "^13.0.0" - }, - "dependencies": { - "negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==" - } - } - }, - "make-plural": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/make-plural/-/make-plural-7.3.0.tgz", - "integrity": "sha512-/K3BC0KIsO+WK2i94LkMPv3wslMrazrQhfi5We9fMbLlLjzoOSJWr7TAdupLlDWaJcWxwoNosBkhFDejiu5VDw==" - }, - "marked": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", - "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==" - }, - "math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==" - }, - "mdn-data": { - "version": "2.27.1", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", - "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", - "dev": true - }, - "mdx-embed": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/mdx-embed/-/mdx-embed-1.1.2.tgz", - "integrity": "sha512-AAronHC/sh4py+RhJOuX8+9+lyUbJsmCLquXNPCEHZ0llPWjMuwls77hII/lWI2kwBSPZPahrqti8kGTv1pi1w==" - }, - "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==", - "dev": true - }, - "memfs": { - "version": "4.57.2", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.57.2.tgz", - "integrity": "sha512-2nWzSsJzrukurSDna4Z0WywuScK4Id3tSKejgu74u8KCdW4uNrseKRSIDg75C6Yw5ZRqBe0F0EtMNlTbUq8bAQ==", - "dev": true, - "requires": { - "@jsonjoy.com/fs-core": "4.57.2", - "@jsonjoy.com/fs-fsa": "4.57.2", - "@jsonjoy.com/fs-node": "4.57.2", - "@jsonjoy.com/fs-node-builtins": "4.57.2", - "@jsonjoy.com/fs-node-to-fsa": "4.57.2", - "@jsonjoy.com/fs-node-utils": "4.57.2", - "@jsonjoy.com/fs-print": "4.57.2", - "@jsonjoy.com/fs-snapshot": "4.57.2", - "@jsonjoy.com/json-pack": "^1.11.0", - "@jsonjoy.com/util": "^1.9.0", - "glob-to-regex.js": "^1.0.1", - "thingies": "^2.5.0", - "tree-dump": "^1.0.3", - "tslib": "^2.0.0" - } - }, - "memoizee": { - "version": "0.3.10", - "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.3.10.tgz", - "integrity": "sha512-LLzVUuWwGBKK188spgOK/ukrp5zvd9JGsiLDH41pH9vt5jvhZfsu5pxDuAnYAMG8YEGce72KO07sSBy9KkvOfw==", - "requires": { - "d": "~0.1.1", - "es5-ext": "~0.10.11", - "es6-weak-map": "~0.1.4", - "event-emitter": "~0.3.4", - "lru-queue": "0.1", - "next-tick": "~0.2.2", - "timers-ext": "0.1" - }, - "dependencies": { - "next-tick": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-0.2.2.tgz", - "integrity": "sha512-f7h4svPtl+QidoBv4taKXUjJ70G2asaZ8G28nS0OkqaalX8dwwrtWtyxEDPK62AC00ur/+/E0pUwBwY5EPn15Q==" - } - } - }, - "merge-descriptors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", - "dev": true - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "dev": true - }, - "micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "requires": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - } - }, - "mime": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-4.1.0.tgz", - "integrity": "sha512-X5ju04+cAzsojXKes0B/S4tcYtFAJ6tTMuSPBEn9CPGlrWr8Fiw7qYeLT0XyH80HSoAoqWCaz+MWKh22P7G1cw==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-function": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", - "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==" - }, - "min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true - }, - "mini-css-extract-plugin": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.10.0.tgz", - "integrity": "sha512-540P2c5dYnJlyJxTaSloliZexv8rji6rY8FhQN+WF/82iHQfA23j/xtJx97L+mXOML27EqksSek/g4eK7jaL3g==", - "dev": true, - "requires": { - "schema-utils": "^4.0.0", - "tapable": "^2.2.1" - }, - "dependencies": { - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "schema-utils": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", - "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - } - } - }, - "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==", - "dev": true - }, - "minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" - }, - "minipass": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", - "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==" - }, - "minipass-collect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", - "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", - "requires": { - "minipass": "^7.0.3" - } - }, - "minipass-fetch": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-5.0.2.tgz", - "integrity": "sha512-2d0q2a8eCi2IRg/IGubCNRJoYbA1+YPXAzQVRFmB45gdGZafyivnZ5YSEfo3JikbjGxOdntGFvBQGqaSMXlAFQ==", - "requires": { - "iconv-lite": "^0.7.2", - "minipass": "^7.0.3", - "minipass-sized": "^2.0.0", - "minizlib": "^3.0.1" - }, - "dependencies": { - "iconv-lite": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", - "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, - "minipass-flush": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.7.tgz", - "integrity": "sha512-TbqTz9cUwWyHS2Dy89P3ocAGUGxKjjLuR9z8w4WUTGAVgEj17/4nhgo2Du56i0Fm3Pm30g4iA8Lcqctc76jCzA==", - "requires": { - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "requires": { - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "minipass-sized": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-2.0.0.tgz", - "integrity": "sha512-zSsHhto5BcUVM2m1LurnXY6M//cGhVaegT71OfOXoprxT6o780GZd792ea6FfrQkuU4usHZIUczAQMRUE2plzA==", - "requires": { - "minipass": "^7.1.2" - } - }, - "minizlib": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", - "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", - "requires": { - "minipass": "^7.1.2" - } - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "requires": { - "minimist": "^1.2.6" - } - }, - "moment": { - "version": "2.30.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", - "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==" - }, - "moment-timezone": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.6.2.tgz", - "integrity": "sha512-lDsQv8FoGdBUdf0+TjGsq2orxKuXdwFlQ6Zw6TX3xIcTwTfEpCLyKqvEauvCHJ8iu3KBV8+uPhlv70YsNGdUBQ==", - "requires": { - "moment": "^2.29.4" - } - }, - "mousetrap": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/mousetrap/-/mousetrap-1.6.5.tgz", - "integrity": "sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA==" - }, - "mrmime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", - "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", - "dev": true - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "msgpackr": { - "version": "1.11.10", - "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.10.tgz", - "integrity": "sha512-iCZNq+HszvF+fC3anCm4nBmWEnbeIAfpDs6IStAEKhQ2YSgkjzVG2FF9XJqwwQh5bH3N9OUTUt4QwVN6MLMLtA==", - "dev": true, - "optional": true, - "requires": { - "msgpackr-extract": "^3.0.2" - } - }, - "msgpackr-extract": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz", - "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==", - "dev": true, - "optional": true, - "requires": { - "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3", - "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3", - "node-gyp-build-optional-packages": "5.2.2" - } - }, - "multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", - "dev": true, - "requires": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - } - }, - "mute-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", - "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==" - }, - "nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==" - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "needle": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz", - "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", - "dev": true, - "optional": true, - "requires": { - "iconv-lite": "^0.6.3", - "sax": "^1.2.4" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" - }, - "ng-dynamic-component": { - "version": "10.7.0", - "resolved": "https://registry.npmjs.org/ng-dynamic-component/-/ng-dynamic-component-10.7.0.tgz", - "integrity": "sha512-shkht4L2nA632qo5GNendZdQXoHUBuKz6SLLh20qi5oESBm3b5AWyhHu0fb/7tb+f+zAcwtVVe1M0819/bnK9A==", - "requires": { - "tslib": "^2.0.0" - } - }, - "ng2-charts": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/ng2-charts/-/ng2-charts-10.0.0.tgz", - "integrity": "sha512-mdL75XJrk/0s0YO2ySPQpAHPja85ECDEGNWFlcElJiy/bYliTNGEpeCtctAqZuozTff/E2CwGjyfPFM1ScP2og==", - "requires": { - "es-toolkit": "^1.39.7", - "tslib": "^2.3.0" - } - }, - "ng2-dragula": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ng2-dragula/-/ng2-dragula-6.0.0.tgz", - "integrity": "sha512-DRWw0rTZrpIReecgE4771flOrpa3rgSkY3TDyZBNPBEkPIAFOePfPm9W96IhlWEXgQEL7fjWaz2HyZI89YGDUg==", - "requires": { - "tslib": "^2.3.0" - } - }, - "ngx-cookie-service": { - "version": "21.3.1", - "resolved": "https://registry.npmjs.org/ngx-cookie-service/-/ngx-cookie-service-21.3.1.tgz", - "integrity": "sha512-8VEA2W7W2W3yPXhemJoVtXxr+3WW2DNLV4OaCIKDzLdzUUxJ6SzPHMmXXa26Pg8pa+fZxHK1hZfqJfUxr9RMBw==", - "requires": { - "tslib": "^2.8.1" - } - }, - "node-addon-api": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", - "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", - "dev": true, - "optional": true - }, - "node-gyp": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-12.3.0.tgz", - "integrity": "sha512-QNcUWM+HgJplcPzBvFBZ9VXacyGZ4+VTOb80PwWR+TlVzoHbRKULNEzpRsnaoxG3Wzr7Qh7BYxGDU3CbKib2Yg==", - "requires": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "graceful-fs": "^4.2.6", - "nopt": "^9.0.0", - "proc-log": "^6.0.0", - "semver": "^7.3.5", - "tar": "^7.5.4", - "tinyglobby": "^0.2.12", - "undici": "^6.25.0", - "which": "^6.0.0" - }, - "dependencies": { - "isexe": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", - "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==" - }, - "undici": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.25.0.tgz", - "integrity": "sha512-ZgpWDC5gmNiuY9CnLVXEH8rl50xhRCuLNA97fAUnKi8RRuV4E6KG31pDTsLVUKnohJE0I3XDrTeEydAXRw47xg==" - }, - "which": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", - "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", - "requires": { - "isexe": "^4.0.0" - } - } - } - }, - "node-gyp-build-optional-packages": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", - "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^2.0.1" - } - }, - "node-releases": { - "version": "2.0.47", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.47.tgz", - "integrity": "sha512-Uzmd6LXpouKo8EUK68IjH4+E01w/hXyV3R3g/geCJo+rXLNfh1xucB+LOzYEOQPSiUK3h/xZf0cQGcSsmyL2Og==" - }, - "nopt": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-9.0.0.tgz", - "integrity": "sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==", - "requires": { - "abbrev": "^4.0.0" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "npm-bundled": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-5.0.0.tgz", - "integrity": "sha512-JLSpbzh6UUXIEoqPsYBvVNVmyrjVZ1fzEFbqxKkTJQkWBO3xFzFT+KDnSKQWwOQNbuWRwt5LSD6HOTLGIWzfrw==", - "requires": { - "npm-normalize-package-bin": "^5.0.0" - } - }, - "npm-install-checks": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-8.0.0.tgz", - "integrity": "sha512-ScAUdMpyzkbpxoNekQ3tNRdFI8SJ86wgKZSQZdUxT+bj0wVFpsEMWnkXP0twVe1gJyNF5apBWDJhhIbgrIViRA==", - "requires": { - "semver": "^7.1.1" - } - }, - "npm-normalize-package-bin": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-5.0.0.tgz", - "integrity": "sha512-CJi3OS4JLsNMmr2u07OJlhcrPxCeOeP/4xq67aWNai6TNWWbTrlNDgl8NcFKVlcBKp18GPj+EzbNIgrBfZhsag==" - }, - "npm-package-arg": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-13.0.2.tgz", - "integrity": "sha512-IciCE3SY3uE84Ld8WZU23gAPPV9rIYod4F+rc+vJ7h7cwAJt9Vk6TVsK60ry7Uj3SRS3bqRRIGuTp9YVlk6WNA==", - "requires": { - "hosted-git-info": "^9.0.0", - "proc-log": "^6.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^7.0.0" - } - }, - "npm-packlist": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-10.0.4.tgz", - "integrity": "sha512-uMW73iajD8hiH4ZBxEV3HC+eTnppIqwakjOYuvgddnalIw2lJguKviK1pcUJDlIWm1wSJkchpDZDSVVsZEYRng==", - "requires": { - "ignore-walk": "^8.0.0", - "proc-log": "^6.0.0" - } - }, - "npm-pick-manifest": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-11.0.3.tgz", - "integrity": "sha512-buzyCfeoGY/PxKqmBqn1IUJrZnUi1VVJTdSSRPGI60tJdUhUoSQFhs0zycJokDdOznQentgrpf8LayEHyyYlqQ==", - "requires": { - "npm-install-checks": "^8.0.0", - "npm-normalize-package-bin": "^5.0.0", - "npm-package-arg": "^13.0.0", - "semver": "^7.3.5" - } - }, - "npm-registry-fetch": { - "version": "19.1.1", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-19.1.1.tgz", - "integrity": "sha512-TakBap6OM1w0H73VZVDf44iFXsOS3h+L4wVMXmbWOQroZgFhMch0juN6XSzBNlD965yIKvWg2dfu7NSiaYLxtw==", - "requires": { - "@npmcli/redact": "^4.0.0", - "jsonparse": "^1.3.1", - "make-fetch-happen": "^15.0.0", - "minipass": "^7.0.2", - "minipass-fetch": "^5.0.0", - "minizlib": "^3.0.1", - "npm-package-arg": "^13.0.0", - "proc-log": "^6.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "boolbase": "^1.0.0" - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - }, - "object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==" - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", - "object-keys": "^1.1.1" - } - }, - "object.entries": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", - "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.1.1" - } - }, - "object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - } - }, - "object.groupby": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" - } - }, - "object.values": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", - "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - } - }, - "observable-array": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/observable-array/-/observable-array-0.0.4.tgz", - "integrity": "sha512-sZYd1/Vw5jIXkmV6IGe/JU0Ked5RejTGbBJju6nZorNQXRH41XN5NRMVfC4O4hdXTV89LgnFGvljHrWx4/Q+/A==", - "requires": { - "d": "^0.1.1", - "es5-ext": "^0.10.8", - "event-emitter": "^0.3.4", - "memoizee": "^0.3.9", - "observable-value": "0.0.5" - } - }, - "observable-value": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/observable-value/-/observable-value-0.0.5.tgz", - "integrity": "sha512-A550SjCfty4Kqe9lWx/G0y7H0T+V6FXs/rFxjGUoxsjh4TRp/ykD6atHTvNDbEPfh9OG9BLTn1CG2b1IJNSOWg==", - "requires": { - "d": "^0.1.1", - "es5-ext": "^0.10.8", - "es6-symbol": "3", - "event-emitter": "^0.3.4", - "memoizee": "^0.3.9" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "obug": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz", - "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==", - "dev": true - }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", - "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "op-blocknote-extensions": { - "version": "https://github.com/opf/op-blocknote-extensions/releases/download/v0.1.1/op-blocknote-extensions-0.1.1.tgz", - "integrity": "sha512-4VO5Qf51Z8WQGD24AYhNmGHGGwnfnB3q8KwL48hWTifZq/9IL5rKpwKB+QkxvVUCaT8iwFYwB6QPzGgLJKRVFA==", - "requires": { - "@primer/octicons-react": "^19.20.0", - "i18next": "^25.6.3", - "react-i18next": "^16.3.5", - "styled-components": "^6.1.19" - } - }, - "open": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", - "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", - "dev": true, - "requires": { - "default-browser": "^5.2.1", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "wsl-utils": "^0.1.0" - } - }, - "openapi-data-validator": { - "version": "2.0.54", - "resolved": "https://registry.npmjs.org/openapi-data-validator/-/openapi-data-validator-2.0.54.tgz", - "integrity": "sha512-JsqqILn+NwgsjA2wJsY+qvVqtkaWz7cnf7gbT+1Nm54+NSsQNguV+fd3Y6WefTkLug6PLws+zylfZ7QjD0s71Q==", - "requires": { - "@apidevtools/json-schema-ref-parser": "^9.0", - "ajv": "^8.5", - "ajv-formats": "^2.1", - "content-type": "^1.0", - "lodash.clonedeep": "^4.5", - "lodash.get": "^4.4", - "media-typer": "^1.1", - "require-from-string": "^2.0.2" - }, - "dependencies": { - "media-typer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", - "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==" - } - } - }, - "openapi-explorer": { - "version": "2.4.799", - "resolved": "https://registry.npmjs.org/openapi-explorer/-/openapi-explorer-2.4.799.tgz", - "integrity": "sha512-HIfQ2XMBZ0eCKi0hUgdEHP4yRmNkkwy4t0OQpXtJiRBNr3T/Q/1/49iNOGlE77ehLLS7RWlx7I5tk7Og3oupHA==", - "requires": { - "@authress/login": "^2.0", - "base64url": "^3.0.1", - "buffer": "^6.0.3", - "color": "^4.2.3", - "i18next": "^21.9.0", - "json5": "^2.2.3", - "lit": "^2.3.1", - "lodash.clonedeep": "^4.5.0", - "lodash.merge": "^4.6.2", - "marked": "^4.0.16", - "openapi-data-validator": "^2.0.40", - "openapi-resolver": "^4.1.71", - "prismjs": "^1.29.0", - "randexp": "^0.5.3", - "toposort": "^2.0.2", - "xml-but-prettier": "^1.0.1" - }, - "dependencies": { - "i18next": { - "version": "21.10.0", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-21.10.0.tgz", - "integrity": "sha512-YeuIBmFsGjUfO3qBmMOc0rQaun4mIpGKET5WDwvu8lU7gvwpcariZLNtL0Fzj+zazcHUrlXHiptcFhBMFaxzfg==", - "requires": { - "@babel/runtime": "^7.17.2" - } - } - } - }, - "openapi-resolver": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/openapi-resolver/-/openapi-resolver-4.2.4.tgz", - "integrity": "sha512-AjR/hIVI5qfyI6VmTjpQIXjTmxmWjqXqxSqkRdeWQrUATYsTVNQ3uSxK8NJ7QEXwfiKyID/iWf9iPuBxoWWoiA==", - "requires": { - "@apidevtools/json-schema-ref-parser": "^9.0.9", - "@babel/runtime-corejs3": "^7.18.9", - "js-yaml": "^4.1.1", - "lodash.clonedeepwith": "^4.5.0" - } - }, - "opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==" - }, - "optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - } - }, - "ora": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-9.3.0.tgz", - "integrity": "sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw==", - "requires": { - "chalk": "^5.6.2", - "cli-cursor": "^5.0.0", - "cli-spinners": "^3.2.0", - "is-interactive": "^2.0.0", - "is-unicode-supported": "^2.1.0", - "log-symbols": "^7.0.1", - "stdin-discarder": "^0.3.1", - "string-width": "^8.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==" - }, - "chalk": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", - "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==" - }, - "string-width": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz", - "integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==", - "requires": { - "get-east-asian-width": "^1.5.0", - "strip-ansi": "^7.1.2" - } - }, - "strip-ansi": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", - "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", - "requires": { - "ansi-regex": "^6.2.2" - } - } - } - }, - "ordered-binary": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.6.1.tgz", - "integrity": "sha512-QkCdPooczexPLiXIrbVOPYkR3VO3T6v2OyKRkR1Xbhpy7/LAVXwahnRCgRp78Oe/Ehf0C/HATAxfSr6eA1oX+w==", - "dev": true, - "optional": true - }, - "orderedmap": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/orderedmap/-/orderedmap-2.1.1.tgz", - "integrity": "sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==" - }, - "own-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", - "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", - "dev": true, - "requires": { - "get-intrinsic": "^1.2.6", - "object-keys": "^1.1.1", - "safe-push-apply": "^1.0.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "p-map": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.4.tgz", - "integrity": "sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==" - }, - "p-retry": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", - "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", - "dev": true, - "requires": { - "@types/retry": "0.12.2", - "is-network-error": "^1.0.0", - "retry": "^0.13.1" - }, - "dependencies": { - "retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "dev": true - } - } - }, - "pacote": { - "version": "21.3.1", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.3.1.tgz", - "integrity": "sha512-O0EDXi85LF4AzdjG74GUwEArhdvawi/YOHcsW6IijKNj7wm8IvEWNF5GnfuxNpQ/ZpO3L37+v8hqdVh8GgWYhg==", - "requires": { - "@npmcli/git": "^7.0.0", - "@npmcli/installed-package-contents": "^4.0.0", - "@npmcli/package-json": "^7.0.0", - "@npmcli/promise-spawn": "^9.0.0", - "@npmcli/run-script": "^10.0.0", - "cacache": "^20.0.0", - "fs-minipass": "^3.0.0", - "minipass": "^7.0.2", - "npm-package-arg": "^13.0.0", - "npm-packlist": "^10.0.1", - "npm-pick-manifest": "^11.0.1", - "npm-registry-fetch": "^19.0.0", - "proc-log": "^6.0.0", - "promise-retry": "^2.0.1", - "sigstore": "^4.0.0", - "ssri": "^13.0.0", - "tar": "^7.4.3" - } - }, - "pako": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", - "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "dependencies": { - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - } - } - }, - "parse-node-version": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", - "dev": true - }, - "parse5-html-rewriting-stream": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-8.0.0.tgz", - "integrity": "sha512-wzh11mj8KKkno1pZEu+l2EVeWsuKDfR5KNWZOTsslfUX8lPDZx77m9T0kIoAVkFtD1nx6YF8oh4BnPHvxMtNMw==", - "requires": { - "entities": "^6.0.0", - "parse5": "^8.0.0", - "parse5-sax-parser": "^8.0.0" - }, - "dependencies": { - "entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==" - }, - "parse5": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz", - "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==", - "requires": { - "entities": "^6.0.0" - } - } - } - }, - "parse5-sax-parser": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-8.0.0.tgz", - "integrity": "sha512-/dQ8UzHZwnrzs3EvDj6IkKrD/jIZyTlB+8XrHJvcjNgRdmWruNdN9i9RK/JtxakmlUdPwKubKPTCqvbTgzGhrw==", - "requires": { - "parse5": "^8.0.0" - }, - "dependencies": { - "entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==" - }, - "parse5": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz", - "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==", - "requires": { - "entities": "^6.0.0" - } - } - } - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-scurry": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", - "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", - "requires": { - "lru-cache": "^11.0.0", - "minipass": "^7.1.2" - }, - "dependencies": { - "lru-cache": { - "version": "11.5.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.1.tgz", - "integrity": "sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==" - } - } - }, - "path-to-regexp": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", - "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", - "dev": true - }, - "pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "dev": true - }, - "picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "optional": true - }, - "piscina": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/piscina/-/piscina-5.1.4.tgz", - "integrity": "sha512-7uU4ZnKeQq22t9AsmHGD2w4OYQGonwFnTypDypaWi7Qr2EvQIFVtG8J5D/3bE7W123Wdc9+v4CZDu5hJXVCtBg==", - "dev": true, - "requires": { - "@napi-rs/nice": "^1.0.4" - } - }, - "pkce-challenge": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.1.tgz", - "integrity": "sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==" - }, - "pkijs": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/pkijs/-/pkijs-3.4.0.tgz", - "integrity": "sha512-emEcLuomt2j03vxD54giVB4SxTjnsqkU692xZOZXHDVoYyypEm+b3jpiTcc+Cf+myooc+/Ly0z01jqeNHVgJGw==", - "dev": true, - "requires": { - "@noble/hashes": "1.4.0", - "asn1js": "^3.0.6", - "bytestreamjs": "^2.0.1", - "pvtsutils": "^1.3.6", - "pvutils": "^1.1.3", - "tslib": "^2.8.1" - } - }, - "playwright": { - "version": "1.60.0", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.60.0.tgz", - "integrity": "sha512-hheHdokM8cdqCb0lcE3s+zT4t4W+vvjpGxsZlDnikarzx8tSzMebh3UiFtgqwFwnTnjYQcsyMF8ei2mCO/tpeA==", - "dev": true, - "requires": { - "fsevents": "2.3.2", - "playwright-core": "1.60.0" - }, - "dependencies": { - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - } - } - }, - "playwright-core": { - "version": "1.60.0", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.60.0.tgz", - "integrity": "sha512-9bW6zvX/m0lEbgTKJ6YppOKx8H3VOPBMOCFh2irXFOT4BbHgrx5hPjwJYLT40Lu+4qtD36qKc/Hn56StUW57IA==", - "dev": true - }, - "pngjs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-7.0.0.tgz", - "integrity": "sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==", - "dev": true - }, - "portfinder": { - "version": "1.0.32", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", - "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", - "requires": { - "async": "^2.6.4", - "debug": "^3.2.7", - "mkdirp": "^0.5.6" - }, - "dependencies": { - "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "requires": { - "lodash": "^4.17.14" - } - }, - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", - "dev": true - }, - "postcss": { - "version": "8.5.12", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.12.tgz", - "integrity": "sha512-W62t/Se6rA0Az3DfCL0AqJwXuKwBeYg6nOaIgzP+xZ7N5BFCI7DYi1qs6ygUYT6rvfi6t9k65UMLJC+PHZpDAA==", - "dev": true, - "requires": { - "nanoid": "^3.3.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - } - }, - "postcss-loader": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-8.2.0.tgz", - "integrity": "sha512-tHX+RkpsXVcc7st4dSdDGliI+r4aAQDuv+v3vFYHixb6YgjreG5AG4SEB0kDK8u2s6htqEEpKlkhSBUTvWKYnA==", - "dev": true, - "requires": { - "cosmiconfig": "^9.0.0", - "jiti": "^2.5.1", - "semver": "^7.6.2" - } - }, - "postcss-media-query-parser": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", - "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", - "dev": true - }, - "postcss-modules-extract-imports": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", - "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", - "dev": true - }, - "postcss-modules-local-by-default": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", - "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", - "dev": true, - "requires": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^7.0.0", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-modules-scope": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", - "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", - "dev": true, - "requires": { - "postcss-selector-parser": "^7.0.0" - } - }, - "postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dev": true, - "requires": { - "icss-utils": "^5.0.0" - } - }, - "postcss-safe-parser": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", - "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", - "dev": true - }, - "postcss-selector-parser": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", - "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" - }, - "powershell-utils": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/powershell-utils/-/powershell-utils-0.1.0.tgz", - "integrity": "sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==", - "dev": true - }, - "preact": { - "version": "10.12.1", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.12.1.tgz", - "integrity": "sha512-l8386ixSsBdbreOAkqtrwqHwdvR35ID8c3rKPa8lCWuO86dBi32QWHV4vfsZK1utLLFMvw+Z5Ad4XLkZzchscg==" - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "prismjs": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", - "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==" - }, - "proc-log": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz", - "integrity": "sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==" - }, - "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==", - "dev": true - }, - "promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "requires": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - } - }, - "prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dev": true, - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - }, - "dependencies": { - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true - } - } - }, - "prosemirror-changeset": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/prosemirror-changeset/-/prosemirror-changeset-2.4.1.tgz", - "integrity": "sha512-96WBLhOaYhJ+kPhLg3uW359Tz6I/MfcrQfL4EGv4SrcqKEMC1gmoGrXHecPE8eOwTVCJ4IwgfzM8fFad25wNfw==", - "requires": { - "prosemirror-transform": "^1.0.0" - } - }, - "prosemirror-commands": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/prosemirror-commands/-/prosemirror-commands-1.7.1.tgz", - "integrity": "sha512-rT7qZnQtx5c0/y/KlYaGvtG411S97UaL6gdp6RIZ23DLHanMYLyfGBV5DtSnZdthQql7W+lEVbpSfwtO8T+L2w==", - "requires": { - "prosemirror-model": "^1.0.0", - "prosemirror-state": "^1.0.0", - "prosemirror-transform": "^1.10.2" - } - }, - "prosemirror-dropcursor": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/prosemirror-dropcursor/-/prosemirror-dropcursor-1.8.2.tgz", - "integrity": "sha512-CCk6Gyx9+Tt2sbYk5NK0nB1ukHi2ryaRgadV/LvyNuO3ena1payM2z6Cg0vO1ebK8cxbzo41ku2DE5Axj1Zuiw==", - "requires": { - "prosemirror-state": "^1.0.0", - "prosemirror-transform": "^1.1.0", - "prosemirror-view": "^1.1.0" - } - }, - "prosemirror-gapcursor": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/prosemirror-gapcursor/-/prosemirror-gapcursor-1.4.1.tgz", - "integrity": "sha512-pMdYaEnjNMSwl11yjEGtgTmLkR08m/Vl+Jj443167p9eB3HVQKhYCc4gmHVDsLPODfZfjr/MmirsdyZziXbQKw==", - "requires": { - "prosemirror-keymap": "^1.0.0", - "prosemirror-model": "^1.0.0", - "prosemirror-state": "^1.0.0", - "prosemirror-view": "^1.0.0" - } - }, - "prosemirror-highlight": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/prosemirror-highlight/-/prosemirror-highlight-0.15.1.tgz", - "integrity": "sha512-KcJUGNgqLED+eK/cisNtY3M+eDNLkZyWCdyi7B3RoW3rKHnhkKawnJAcr9p1F/e3q+oDB5Y5OiIrC11bxP7tFA==" - }, - "prosemirror-history": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/prosemirror-history/-/prosemirror-history-1.5.0.tgz", - "integrity": "sha512-zlzTiH01eKA55UAf1MEjtssJeHnGxO0j4K4Dpx+gnmX9n+SHNlDqI2oO1Kv1iPN5B1dm5fsljCfqKF9nFL6HRg==", - "requires": { - "prosemirror-state": "^1.2.2", - "prosemirror-transform": "^1.0.0", - "prosemirror-view": "^1.31.0", - "rope-sequence": "^1.3.0" - } - }, - "prosemirror-inputrules": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/prosemirror-inputrules/-/prosemirror-inputrules-1.5.1.tgz", - "integrity": "sha512-7wj4uMjKaXWAQ1CDgxNzNtR9AlsuwzHfdFH1ygEHA2KHF2DOEaXl1CJfNPAKCg9qNEh4rum975QLaCiQPyY6Fw==", - "requires": { - "prosemirror-state": "^1.0.0", - "prosemirror-transform": "^1.0.0" - } - }, - "prosemirror-keymap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/prosemirror-keymap/-/prosemirror-keymap-1.2.3.tgz", - "integrity": "sha512-4HucRlpiLd1IPQQXNqeo81BGtkY8Ai5smHhKW9jjPKRc2wQIxksg7Hl1tTI2IfT2B/LgX6bfYvXxEpJl7aKYKw==", - "requires": { - "prosemirror-state": "^1.0.0", - "w3c-keyname": "^2.2.0" - } - }, - "prosemirror-model": { - "version": "1.25.4", - "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.25.4.tgz", - "integrity": "sha512-PIM7E43PBxKce8OQeezAs9j4TP+5yDpZVbuurd1h5phUxEKIu+G2a+EUZzIC5nS1mJktDJWzbqS23n1tsAf5QA==", - "requires": { - "orderedmap": "^2.0.0" - } - }, - "prosemirror-schema-list": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/prosemirror-schema-list/-/prosemirror-schema-list-1.5.1.tgz", - "integrity": "sha512-927lFx/uwyQaGwJxLWCZRkjXG0p48KpMj6ueoYiu4JX05GGuGcgzAy62dfiV8eFZftgyBUvLx76RsMe20fJl+Q==", - "requires": { - "prosemirror-model": "^1.0.0", - "prosemirror-state": "^1.0.0", - "prosemirror-transform": "^1.7.3" - } - }, - "prosemirror-state": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.4.4.tgz", - "integrity": "sha512-6jiYHH2CIGbCfnxdHbXZ12gySFY/fz/ulZE333G6bPqIZ4F+TXo9ifiR86nAHpWnfoNjOb3o5ESi7J8Uz1jXHw==", - "requires": { - "prosemirror-model": "^1.0.0", - "prosemirror-transform": "^1.0.0", - "prosemirror-view": "^1.27.0" - } - }, - "prosemirror-tables": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/prosemirror-tables/-/prosemirror-tables-1.8.5.tgz", - "integrity": "sha512-V/0cDCsHKHe/tfWkeCmthNUcEp1IVO3p6vwN8XtwE9PZQLAZJigbw3QoraAdfJPir4NKJtNvOB8oYGKRl+t0Dw==", - "requires": { - "prosemirror-keymap": "^1.2.3", - "prosemirror-model": "^1.25.4", - "prosemirror-state": "^1.4.4", - "prosemirror-transform": "^1.10.5", - "prosemirror-view": "^1.41.4" - } - }, - "prosemirror-transform": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.12.0.tgz", - "integrity": "sha512-GxboyN4AMIsoHNtz5uf2r2Ru551i5hWeCMD6E2Ib4Eogqoub0NflniaBPVQ4MrGE5yZ8JV9tUHg9qcZTTrcN4w==", - "requires": { - "prosemirror-model": "^1.21.0" - } - }, - "prosemirror-view": { - "version": "1.41.8", - "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.41.8.tgz", - "integrity": "sha512-TnKDdohEatgyZNGCDWIdccOHXhYloJwbwU+phw/a23KBvJIR9lWQWW7WHHK3vBdOLDNuF7TaX98GObUZOWkOnA==", - "requires": { - "prosemirror-model": "^1.20.0", - "prosemirror-state": "^1.0.0", - "prosemirror-transform": "^1.1.0" - } - }, - "proxy-addr": { - "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==", - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "dependencies": { - "ipaddr.js": { - "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==" - } - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true, - "optional": true - }, - "punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true - }, - "pvtsutils": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.6.tgz", - "integrity": "sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==", - "dev": true, - "requires": { - "tslib": "^2.8.1" - } - }, - "pvutils": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.5.tgz", - "integrity": "sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==", - "dev": true - }, - "qr-creator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/qr-creator/-/qr-creator-1.0.0.tgz", - "integrity": "sha512-C0cqfbS1P5hfqN4NhsYsUXePlk9BO+a45bAQ3xLYjBL3bOIFzoVEjs79Fado9u9BPBD3buHi3+vY+C8tHh4qMQ==" - }, - "qs": { - "version": "6.14.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", - "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", - "requires": { - "side-channel": "^1.1.0" - } - }, - "randexp": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.5.3.tgz", - "integrity": "sha512-U+5l2KrcMNOUPYvazA3h5ekF80FHTUG+87SEAmHZmolh1M+i/WyTCxVzmi+tidIa1tM4BSe8g2Y/D3loWDjj+w==", - "requires": { - "drange": "^1.0.2", - "ret": "^0.2.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "raw-body": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", - "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", - "dev": true, - "requires": { - "bytes": "~3.1.2", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "unpipe": "~1.0.0" - } - }, - "react": { - "version": "19.2.7", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.7.tgz", - "integrity": "sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==" - }, - "react-dom": { - "version": "19.2.7", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.7.tgz", - "integrity": "sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ==", - "requires": { - "scheduler": "^0.27.0" - } - }, - "react-i18next": { - "version": "16.3.5", - "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-16.3.5.tgz", - "integrity": "sha512-F7Kglc+T0aE6W2rO5eCAFBEuWRpNb5IFmXOYEgztjZEuiuSLTe/xBIEG6Q3S0fbl8GXMNo+Q7gF8bpokFNWJww==", - "requires": { - "@babel/runtime": "^7.27.6", - "html-parse-stringify": "^3.0.1", - "use-sync-external-store": "^1.6.0" - } - }, - "react-icons": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.5.0.tgz", - "integrity": "sha512-MEFcXdkP3dLo8uumGI5xN3lDFNsRtrjbOEKDLD7yv76v4wpnEq2Lt2qeHaQOr34I/wPN3s3+N08WkQ+CW37Xiw==" - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - }, - "react-number-format": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/react-number-format/-/react-number-format-5.4.5.tgz", - "integrity": "sha512-y8O2yHHj3w0aE9XO8d2BCcUOOdQTRSVq+WIuMlLVucAm5XNjJAy+BoOJiuQMldVYVOKTMyvVNfnbl2Oqp+YxGw==" - }, - "react-remove-scroll": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.2.tgz", - "integrity": "sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==", - "requires": { - "react-remove-scroll-bar": "^2.3.7", - "react-style-singleton": "^2.2.3", - "tslib": "^2.1.0", - "use-callback-ref": "^1.3.3", - "use-sidecar": "^1.1.3" - } - }, - "react-remove-scroll-bar": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz", - "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==", - "requires": { - "react-style-singleton": "^2.2.2", - "tslib": "^2.0.0" - } - }, - "react-style-singleton": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz", - "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==", - "requires": { - "get-nonce": "^1.0.0", - "tslib": "^2.0.0" - } - }, - "read": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/read/-/read-4.1.0.tgz", - "integrity": "sha512-uRfX6K+f+R8OOrYScaM3ixPY4erg69f8DN6pgTvMcA9iRc8iDhwrA4m3Yu8YYKsXJgVvum+m8PkRboZwwuLzYA==", - "dev": true, - "requires": { - "mute-stream": "^2.0.0" - } - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "requires": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - } - }, - "reflect-metadata": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", - "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==" - }, - "reflect.getprototypeof": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", - "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.1", - "which-builtin-type": "^1.2.1" - } - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz", - "integrity": "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==", - "dev": true, - "requires": { - "regenerate": "^1.4.2" - } - }, - "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==", - "dev": true - }, - "regexp.prototype.flags": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", - "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "set-function-name": "^2.0.2" - } - }, - "regexpu-core": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz", - "integrity": "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==", - "dev": true, - "requires": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.2.2", - "regjsgen": "^0.8.0", - "regjsparser": "^0.13.0", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.2.1" - } - }, - "regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", - "dev": true - }, - "regjsparser": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.1.tgz", - "integrity": "sha512-dLsljMd9sqwRkby8zhO1gSg3PnJIBFid8f4CQj/sXx+7cKx+E7u0PKhZ+U4wmhx7EfmtvnA318oVaIkAB1lRJw==", - "dev": true, - "requires": { - "jsesc": "~3.1.0" - } - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==" - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - }, - "resolve": { - "version": "1.22.11", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", - "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", - "dev": true, - "requires": { - "is-core-module": "^2.16.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "resolve-url-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", - "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", - "dev": true, - "requires": { - "adjust-sourcemap-loader": "^4.0.0", - "convert-source-map": "^1.7.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.14", - "source-map": "0.6.1" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "restore-cursor": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", - "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", - "requires": { - "onetime": "^7.0.0", - "signal-exit": "^4.1.0" - }, - "dependencies": { - "onetime": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", - "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", - "requires": { - "mimic-function": "^5.0.0" - } - }, - "signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" - } - } - }, - "ret": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.2.2.tgz", - "integrity": "sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==" - }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==" - }, - "rfdc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", - "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==" - }, - "rolldown": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.4.tgz", - "integrity": "sha512-V2tPDUrY3WSevrvU2E41ijZlpF+5PbZu4giH+VpNraaadsJGHa4fR6IFwsocVwEXDoAdIv5qgPPxgrvKAOIPtA==", - "dev": true, - "requires": { - "@oxc-project/types": "=0.113.0", - "@rolldown/binding-android-arm64": "1.0.0-rc.4", - "@rolldown/binding-darwin-arm64": "1.0.0-rc.4", - "@rolldown/binding-darwin-x64": "1.0.0-rc.4", - "@rolldown/binding-freebsd-x64": "1.0.0-rc.4", - "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.4", - "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.4", - "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.4", - "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.4", - "@rolldown/binding-linux-x64-musl": "1.0.0-rc.4", - "@rolldown/binding-openharmony-arm64": "1.0.0-rc.4", - "@rolldown/binding-wasm32-wasi": "1.0.0-rc.4", - "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.4", - "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.4", - "@rolldown/pluginutils": "1.0.0-rc.4" - } - }, - "rollup": { - "version": "4.60.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.2.tgz", - "integrity": "sha512-J9qZyW++QK/09NyN/zeO0dG/1GdGfyp9lV8ajHnRVLfo/uFsbji5mHnDgn/qYdUHyCkM2N+8VyspgZclfAh0eQ==", - "dev": true, - "requires": { - "@rollup/rollup-android-arm-eabi": "4.60.2", - "@rollup/rollup-android-arm64": "4.60.2", - "@rollup/rollup-darwin-arm64": "4.60.2", - "@rollup/rollup-darwin-x64": "4.60.2", - "@rollup/rollup-freebsd-arm64": "4.60.2", - "@rollup/rollup-freebsd-x64": "4.60.2", - "@rollup/rollup-linux-arm-gnueabihf": "4.60.2", - "@rollup/rollup-linux-arm-musleabihf": "4.60.2", - "@rollup/rollup-linux-arm64-gnu": "4.60.2", - "@rollup/rollup-linux-arm64-musl": "4.60.2", - "@rollup/rollup-linux-loong64-gnu": "4.60.2", - "@rollup/rollup-linux-loong64-musl": "4.60.2", - "@rollup/rollup-linux-ppc64-gnu": "4.60.2", - "@rollup/rollup-linux-ppc64-musl": "4.60.2", - "@rollup/rollup-linux-riscv64-gnu": "4.60.2", - "@rollup/rollup-linux-riscv64-musl": "4.60.2", - "@rollup/rollup-linux-s390x-gnu": "4.60.2", - "@rollup/rollup-linux-x64-gnu": "4.60.2", - "@rollup/rollup-linux-x64-musl": "4.60.2", - "@rollup/rollup-openbsd-x64": "4.60.2", - "@rollup/rollup-openharmony-arm64": "4.60.2", - "@rollup/rollup-win32-arm64-msvc": "4.60.2", - "@rollup/rollup-win32-ia32-msvc": "4.60.2", - "@rollup/rollup-win32-x64-gnu": "4.60.2", - "@rollup/rollup-win32-x64-msvc": "4.60.2", - "@types/estree": "1.0.8", - "fsevents": "~2.3.2" - } - }, - "rope-sequence": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/rope-sequence/-/rope-sequence-1.3.4.tgz", - "integrity": "sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==" - }, - "router": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", - "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", - "requires": { - "debug": "^4.4.0", - "depd": "^2.0.0", - "is-promise": "^4.0.0", - "parseurl": "^1.3.3", - "path-to-regexp": "^8.0.0" - }, - "dependencies": { - "path-to-regexp": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.0.tgz", - "integrity": "sha512-PuseHIvAnz3bjrM2rGJtSgo1zjgxapTLZ7x2pjhzWwlp4SJQgK3f3iZIQwkpEnBaKz6seKBADpM4B4ySkuYypg==" - } - } - }, - "run-applescript": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", - "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", - "dev": true - }, - "rxjs": { - "version": "7.8.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", - "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", - "requires": { - "tslib": "^2.1.0" - } - }, - "safe-array-concat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", - "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "has-symbols": "^1.1.0", - "isarray": "^2.0.5" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - }, - "safe-push-apply": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", - "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", - "dev": true, - "requires": { - "es-errors": "^1.3.0", - "isarray": "^2.0.5" - } - }, - "safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sass": { - "version": "1.97.3", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.3.tgz", - "integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==", - "dev": true, - "requires": { - "@parcel/watcher": "^2.4.1", - "chokidar": "^4.0.0", - "immutable": "^5.0.2", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "dependencies": { - "chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "dev": true, - "requires": { - "readdirp": "^4.0.1" - } - }, - "readdirp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", - "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", - "dev": true - } - } - }, - "sass-loader": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.7.tgz", - "integrity": "sha512-w6q+fRHourZ+e+xA1kcsF27iGM6jdB8teexYCfdUw0sYgcDNeZESnDNT9sUmmPm3ooziwUJXGwZJSTF3kOdBfA==", - "dev": true, - "requires": { - "neo-async": "^2.6.2" - } - }, - "sax": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.4.tgz", - "integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==", - "dev": true, - "optional": true - }, - "saxes": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", - "dev": true, - "requires": { - "xmlchars": "^2.2.0" - } - }, - "scheduler": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", - "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==" - }, - "screenfull": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/screenfull/-/screenfull-6.0.2.tgz", - "integrity": "sha512-AQdy8s4WhNvUZ6P8F6PB21tSPIYKniic+Ogx0AacBMjKP1GUHN2E9URxQHtCusiwxudnCKkdy4GrHXPPJSkCCw==" - }, - "secure-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", - "integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==" - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", - "dev": true - }, - "selfsigned": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-5.5.0.tgz", - "integrity": "sha512-ftnu3TW4+3eBfLRFnDEkzGxSF/10BJBkaLJuBHZX0kiPS7bRdlpZGu6YGt4KngMkdTwJE6MbjavFpqHvqVt+Ew==", - "dev": true, - "requires": { - "@peculiar/x509": "^1.14.2", - "pkijs": "^3.3.3" - } - }, - "semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==" - }, - "send": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", - "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", - "dev": true, - "requires": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "~0.5.2", - "http-errors": "~2.0.1", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "~2.4.1", - "range-parser": "~1.2.1", - "statuses": "~2.0.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "dev": true - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - } - } - }, - "serialize-javascript": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-7.0.5.tgz", - "integrity": "sha512-F4LcB0UqUl1zErq+1nYEEzSHJnIwb3AF2XWB94b+afhrekOUijwooAYqFyRbjYkm2PAKBabx6oYv/xDxNi8IBw==", - "dev": true - }, - "serve-index": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.2.tgz", - "integrity": "sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ==", - "dev": true, - "requires": { - "accepts": "~1.3.8", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.8.0", - "mime-types": "~2.1.35", - "parseurl": "~1.3.3" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "dev": true - }, - "http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "dev": true - } - } - }, - "serve-static": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", - "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", - "dev": true, - "requires": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "~0.19.1" - }, - "dependencies": { - "encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "dev": true - } - } - }, - "set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "requires": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - } - }, - "set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, - "requires": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - } - }, - "set-proto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", - "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", - "dev": true, - "requires": { - "dunder-proto": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0" - } - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "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==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, - "shallowequal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", - "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "shell-quote": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", - "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", - "dev": true - }, - "side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "requires": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - } - }, - "side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "requires": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - } - }, - "side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "requires": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - } - }, - "side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "requires": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - } - }, - "siginfo": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", - "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", - "dev": true - }, - "sigstore": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-4.1.0.tgz", - "integrity": "sha512-/fUgUhYghuLzVT/gaJoeVehLCgZiUxPCPMcyVNY0lIf/cTCz58K/WTI7PefDarXxp9nUKpEwg1yyz3eSBMTtgA==", - "requires": { - "@sigstore/bundle": "^4.0.0", - "@sigstore/core": "^3.1.0", - "@sigstore/protobuf-specs": "^0.5.0", - "@sigstore/sign": "^4.1.0", - "@sigstore/tuf": "^4.0.1", - "@sigstore/verify": "^3.1.0" - } - }, - "simple-swizzle": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.4.tgz", - "integrity": "sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==", - "requires": { - "is-arrayish": "^0.3.1" - }, - "dependencies": { - "is-arrayish": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.4.tgz", - "integrity": "sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==" - } - } - }, - "sirv": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz", - "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==", - "dev": true, - "requires": { - "@polka/url": "^1.0.0-next.24", - "mrmime": "^2.0.0", - "totalist": "^3.0.0" - } - }, - "slice-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz", - "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==", - "requires": { - "ansi-styles": "^6.2.1", - "is-fullwidth-code-point": "^5.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==" - }, - "is-fullwidth-code-point": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz", - "integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==", - "requires": { - "get-east-asian-width": "^1.3.1" - } - } - } - }, - "smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" - }, - "sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "dev": true, - "requires": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - }, - "dependencies": { - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true - } - } - }, - "socks": { - "version": "2.8.7", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", - "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", - "requires": { - "ip-address": "^10.0.1", - "smart-buffer": "^4.2.0" - } - }, - "socks-proxy-agent": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", - "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", - "requires": { - "agent-base": "^7.1.2", - "debug": "^4.3.4", - "socks": "^2.8.3" - } - }, - "source-map": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", - "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==" - }, - "source-map-explorer": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/source-map-explorer/-/source-map-explorer-2.5.3.tgz", - "integrity": "sha512-qfUGs7UHsOBE5p/lGfQdaAj/5U/GWYBw2imEpD6UQNkqElYonkow8t+HBL1qqIl3CuGZx7n8/CQo4x1HwSHhsg==", - "dev": true, - "requires": { - "btoa": "^1.2.1", - "chalk": "^4.1.0", - "convert-source-map": "^1.7.0", - "ejs": "^3.1.5", - "escape-html": "^1.0.3", - "glob": "^7.1.6", - "gzip-size": "^6.0.0", - "lodash": "^4.17.20", - "open": "^7.3.1", - "source-map": "^0.7.4", - "temp": "^0.9.4", - "yargs": "^16.2.0" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "open": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", - "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", - "dev": true, - "requires": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - } - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "temp": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.4.tgz", - "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", - "dev": true, - "requires": { - "mkdirp": "^0.5.1", - "rimraf": "~2.6.2" - } - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true - } - } - }, - "source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==" - }, - "source-map-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-5.0.0.tgz", - "integrity": "sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA==", - "dev": true, - "requires": { - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.2" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "spdx-exceptions": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", - "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==" - }, - "spdx-expression-parse": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-4.0.0.tgz", - "integrity": "sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==", - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.23", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.23.tgz", - "integrity": "sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==" - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "ssri": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-13.0.1.tgz", - "integrity": "sha512-QUiRf1+u9wPTL/76GTYlKttDEBWV1ga9ZXW8BG6kfdeyyM8LGPix9gROyg9V2+P0xNyF3X2Go526xKFdMZrHSQ==", - "requires": { - "minipass": "^7.0.3" - } - }, - "stackback": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", - "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", - "dev": true - }, - "statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==" - }, - "std-env": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.1.0.tgz", - "integrity": "sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==", - "dev": true - }, - "stdin-discarder": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.3.2.tgz", - "integrity": "sha512-eCPu1qRxPVkl5605OTWF8Wz40b4Mf45NY5LQmVPQ599knfs5QhASUm9GbJ5BDMDOXgrnh0wyEdvzmL//YMlw0A==" - }, - "stimulus-use": { - "version": "0.52.3", - "resolved": "https://registry.npmjs.org/stimulus-use/-/stimulus-use-0.52.3.tgz", - "integrity": "sha512-stZ5dID6FUrGCR/ChWUa0FT5Z8iqkzT6lputOAb50eF+Ayg7RzJj4U/HoRlp2NV333QfvoRidru9HLbom4hZVw==" - }, - "stop-iteration-iterator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", - "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", - "dev": true, - "requires": { - "es-errors": "^1.3.0", - "internal-slot": "^1.1.0" - } - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - } - } - }, - "string.prototype.includes": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", - "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3" - } - }, - "string.prototype.matchall": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", - "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "regexp.prototype.flags": "^1.5.3", - "set-function-name": "^2.0.2", - "side-channel": "^1.1.0" - } - }, - "string.prototype.repeat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", - "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" - } - }, - "string.prototype.trimend": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - } - }, - "string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true - }, - "strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "requires": { - "min-indent": "^1.0.0" - } - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "styled-components": { - "version": "6.1.19", - "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-6.1.19.tgz", - "integrity": "sha512-1v/e3Dl1BknC37cXMhwGomhO8AkYmN41CqyX9xhUDxry1ns3BFQy2lLDRQXJRdVVWB9OHemv/53xaStimvWyuA==", - "requires": { - "@emotion/is-prop-valid": "1.2.2", - "@emotion/unitless": "0.8.1", - "@types/stylis": "4.2.5", - "css-to-react-native": "3.2.0", - "csstype": "3.1.3", - "postcss": "8.4.49", - "shallowequal": "1.1.0", - "stylis": "4.3.2", - "tslib": "2.6.2" - }, - "dependencies": { - "postcss": { - "version": "8.4.49", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", - "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", - "requires": { - "nanoid": "^3.3.7", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - } - }, - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - } - } - }, - "stylis": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.2.tgz", - "integrity": "sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true - }, - "tabbable": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", - "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==" - }, - "tablesorter": { - "version": "2.32.0", - "resolved": "https://registry.npmjs.org/tablesorter/-/tablesorter-2.32.0.tgz", - "integrity": "sha512-tKjx6H+ZVoxND5ukDIVvF4AKEIw0ZJde/e6YlAZlUOKI0o0xD2RZLTb2tKB1hiDHkHGLHGQ7ndvd0Pnkj5Xzjw==", - "requires": { - "jquery": ">=1.2.6" - } - }, - "tagged-tag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/tagged-tag/-/tagged-tag-1.0.0.tgz", - "integrity": "sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==" - }, - "tapable": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", - "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", - "dev": true - }, - "tar": { - "version": "7.5.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.13.tgz", - "integrity": "sha512-tOG/7GyXpFevhXVh8jOPJrmtRpOTsYqUIkVdVooZYJS/z8WhfQUX8RJILmeuJNinGAMSu1veBr4asSHFt5/hng==", - "requires": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.1.0", - "yallist": "^5.0.0" - }, - "dependencies": { - "yallist": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", - "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==" - } - } - }, - "terser": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.0.tgz", - "integrity": "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==", - "dev": true, - "requires": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.15.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - } - }, - "terser-webpack-plugin": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.5.0.tgz", - "integrity": "sha512-UYhptBwhWvfIjKd/UuFo6D8uq9xpGLDK+z8EDsj/zWhrTaH34cKEbrkMKfV5YWqGBvAYA3tlzZbs2R+qYrbQJA==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.25", - "jest-worker": "^27.4.5", - "schema-utils": "^4.3.0", - "terser": "^5.31.1" - }, - "dependencies": { - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "schema-utils": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", - "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - } - } - }, - "text-segmentation": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz", - "integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==", - "requires": { - "utrie": "^1.0.2" - } - }, - "texture-compressor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/texture-compressor/-/texture-compressor-1.0.2.tgz", - "integrity": "sha512-dStVgoaQ11mA5htJ+RzZ51ZxIZqNOgWKAIvtjLrW1AliQQLCmrDqNzQZ8Jh91YealQ95DXt4MEduLzJmbs6lig==", - "requires": { - "argparse": "^1.0.10", - "image-size": "^0.7.4" - }, - "dependencies": { - "image-size": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.7.5.tgz", - "integrity": "sha512-Hiyv+mXHfFEP7LzUL/llg9RwFxxY+o9N3JVLIeG5E7iFIFAalxvRU9UZthBdYDEVnzHMgjnKJPPpay5BWf1g9g==" - } - } - }, - "thingies": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/thingies/-/thingies-2.6.0.tgz", - "integrity": "sha512-rMHRjmlFLM1R96UYPvpmnc3LYtdFrT33JIB7L9hetGue1qAPfn1N2LJeEjxUSidu1Iku+haLZXDuEXUHNGO/lg==", - "dev": true - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true - }, - "ticky": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ticky/-/ticky-1.0.1.tgz", - "integrity": "sha512-RX35iq/D+lrsqhcPWIazM9ELkjOe30MSeoBHQHSsRwd1YuhJO5ui1K1/R0r7N3mFvbLBs33idw+eR6j+w6i/DA==" - }, - "timers-ext": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", - "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", - "requires": { - "es5-ext": "~0.10.46", - "next-tick": "1" - } - }, - "tiny-invariant": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", - "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" - }, - "tinybench": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", - "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", - "dev": true - }, - "tinyexec": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.1.2.tgz", - "integrity": "sha512-dAqSqE/RabpBKI8+h26GfLq6Vb3JVXs30XYQjdMjaj/c2tS8IYYMbIzP599KtRj7c57/wYApb3QjgRgXmrCukA==", - "dev": true - }, - "tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", - "requires": { - "fdir": "^6.5.0", - "picomatch": "^4.0.3" - }, - "dependencies": { - "picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==" - } - } - }, - "tinyrainbow": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz", - "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==", - "dev": true - }, - "tldts": { - "version": "7.0.30", - "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.30.tgz", - "integrity": "sha512-ELrFxuqsDdHUwoh0XxDbxuLD3Wnz49Z57IFvTtvWy1hJdcMZjXLIuonjilCiWHlT2GbE4Wlv1wKVTzDFnXH1aw==", - "dev": true, - "requires": { - "tldts-core": "^7.0.30" - } - }, - "tldts-core": { - "version": "7.0.30", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.30.tgz", - "integrity": "sha512-uiHN8PIB1VmWyS98eZYja4xzlYqeFZVjb4OuYlJQnZAuJhMw4PbKQOKgHKhBdJR3FE/t5mUQ1Kd80++B+qhD1Q==", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - }, - "dependencies": { - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - } - } - }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" - }, - "toposort": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", - "integrity": "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==" - }, - "totalist": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", - "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", - "dev": true - }, - "tough-cookie": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.1.tgz", - "integrity": "sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==", - "dev": true, - "requires": { - "tldts": "^7.0.5" - } - }, - "tr46": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz", - "integrity": "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==", - "dev": true, - "requires": { - "punycode": "^2.3.1" - } - }, - "tree-dump": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.1.0.tgz", - "integrity": "sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==", - "dev": true - }, - "tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true - }, - "ts-action": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/ts-action/-/ts-action-11.0.0.tgz", - "integrity": "sha512-TDxvzZ5UtKsBuw0McRs/L+iASj80m60nV8EXCP680ZdIl+oRHPGnBk85sZJWXLzqQwb6yQ+CcMzPTfBr0dEaAA==" - }, - "ts-action-operators": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/ts-action-operators/-/ts-action-operators-9.1.2.tgz", - "integrity": "sha512-DZ+sJvBdOluThwCBcCdDnz0NiVeQxEwveL+cmkJGLO1ps+x/D0xwSefmOIa1S7p2nXFHH52ZPr/8VEvxZHaNgg==" - }, - "ts-api-utils": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", - "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", - "dev": true - }, - "ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", - "dev": true, - "requires": { - "@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" - } - }, - "tsconfig-paths": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", - "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", - "dev": true, - "requires": { - "json5": "^2.2.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" - }, - "tsyringe": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/tsyringe/-/tsyringe-4.10.0.tgz", - "integrity": "sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==", - "dev": true, - "requires": { - "tslib": "^1.9.3" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, - "tuf-js": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-4.1.0.tgz", - "integrity": "sha512-50QV99kCKH5P/Vs4E2Gzp7BopNV+KzTXqWeaxrfu5IQJBOULRsTIS9seSsOVT8ZnGXzCyx55nYWAi4qJzpZKEQ==", - "requires": { - "@tufjs/models": "4.1.0", - "debug": "^4.4.3", - "make-fetch-happen": "^15.0.1" - } - }, - "turbo_power": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/turbo_power/-/turbo_power-0.7.1.tgz", - "integrity": "sha512-xnB1Yb3xXSVcDQyiqZV8kLjbHdCmyBfQYZJeJklEnEz+jM5xl6JUNo2yy5vc/8ZPKKMzS05INvvvLxafQYJVuQ==" - }, - "type": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz", - "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==" - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-fest": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.7.0.tgz", - "integrity": "sha512-1URUxUqfHFM1c+zfSPsa3gnkO7Aq21qyH75SIduNYz4SzY964rn1X2vCMQaHSHhktiw+0kPa2iyb6PUpXqB6Vg==", - "requires": { - "tagged-tag": "^1.0.0" - } - }, - "type-func": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/type-func/-/type-func-1.0.3.tgz", - "integrity": "sha512-YA90CUk+i00tWESPNRMahywXhAz+12NLJLKlOWrgHIbqaFXjdZrWstRghaibOW/IxhPjui4SmXxO/03XSGRIjA==" - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typed-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" - } - }, - "typed-array-byte-length": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", - "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", - "dev": true, - "requires": { - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.14" - } - }, - "typed-array-byte-offset": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", - "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.15", - "reflect.getprototypeof": "^1.0.9" - } - }, - "typed-array-length": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", - "dev": true, - "requires": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" - } - }, - "typed-assert": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", - "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", - "dev": true - }, - "typedjson": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/typedjson/-/typedjson-1.8.0.tgz", - "integrity": "sha512-taVJVGebQDagEmVc3Cu6vVVLkWLnxqPcTrkVgbpAsI02ZDDrnHy5zvt1JVqXv4/yztBgZAX1oR07+bkiusGJLQ==", - "requires": { - "tslib": "^2.0.1" - } - }, - "typescript": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - "dev": true - }, - "typescript-eslint": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.61.0.tgz", - "integrity": "sha512-8y31Rd0eGTrDKqhy6vT0HtzhN+YLjQizwX3aA3hPXP/ynSfnrBXcQY5IzsP9/DM7+klX4IUncZZjkchP0z+rUw==", - "dev": true, - "requires": { - "@typescript-eslint/eslint-plugin": "8.61.0", - "@typescript-eslint/parser": "8.61.0", - "@typescript-eslint/typescript-estree": "8.61.0", - "@typescript-eslint/utils": "8.61.0" - }, - "dependencies": { - "@typescript-eslint/eslint-plugin": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.61.0.tgz", - "integrity": "sha512-bFNvl9ZczlVb+wR2Akszf3gHfKVj/8WanXaGJ3UstTA7brNKg0cNdk6X1Psu5V7MZ2oQtzZKOEzIUehaoxbDGw==", - "dev": true, - "requires": { - "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.61.0", - "@typescript-eslint/type-utils": "8.61.0", - "@typescript-eslint/utils": "8.61.0", - "@typescript-eslint/visitor-keys": "8.61.0", - "ignore": "^7.0.5", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.5.0" - } - }, - "@typescript-eslint/parser": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.61.0.tgz", - "integrity": "sha512-5B7PfA2e1NQGCnDHd/0lW7W3gvp3d59Ryw54FYO8Uswxo9f6ikw3AZV+Xj/TvpImmpsiYyUqAfhC6kJID1jF6w==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "8.61.0", - "@typescript-eslint/types": "8.61.0", - "@typescript-eslint/typescript-estree": "8.61.0", - "@typescript-eslint/visitor-keys": "8.61.0", - "debug": "^4.4.3" - } - }, - "@typescript-eslint/project-service": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.61.0.tgz", - "integrity": "sha512-DV42F7MLJO6Rax7SK1yg43tcnEfGUrurSpSxKuVX+a3RCTzBlH3fuxprrOJXKCJGAaw82xXocikJ0uQaqwXgGA==", - "dev": true, - "requires": { - "@typescript-eslint/tsconfig-utils": "^8.61.0", - "@typescript-eslint/types": "^8.61.0", - "debug": "^4.4.3" - } - }, - "@typescript-eslint/scope-manager": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.61.0.tgz", - "integrity": "sha512-IWdXFHFSb6mlC3HPc7QsLDm5zYEbUla6trDEHf32D3/dnuUyXd87plScSNXSbm0/RxMvObpI17sv/EDTGrGZkA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "8.61.0", - "@typescript-eslint/visitor-keys": "8.61.0" - } - }, - "@typescript-eslint/tsconfig-utils": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.61.0.tgz", - "integrity": "sha512-O5Amvdv9ztMpxpf+vmFULGG78IE6Qwdr3bCGvqwG4nwc9H2qXkOYJJnRbRHyMkQTjv1d03olqwwwzHLMqpFePQ==", - "dev": true - }, - "@typescript-eslint/type-utils": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.61.0.tgz", - "integrity": "sha512-TuBiQYIkd97yBfInHCTKVYMbX4kvEmpOEuixIuzCU9p8BGT1SfyyO0d0IfDMbPIHcjn/hWnusUX5e8v5Xg+X8A==", - "dev": true, - "requires": { - "@typescript-eslint/types": "8.61.0", - "@typescript-eslint/typescript-estree": "8.61.0", - "@typescript-eslint/utils": "8.61.0", - "debug": "^4.4.3", - "ts-api-utils": "^2.5.0" - } - }, - "@typescript-eslint/types": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.61.0.tgz", - "integrity": "sha512-9QTQpZ5Iin4CdIodfbDQFSeiSJKidgYJYug1P9CC2xWgUTvlmixViqDZNciMjwLBZyJnG4tGmPl97rVAFb1AJg==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.61.0.tgz", - "integrity": "sha512-42zatd5qSvvcV1JdDBCLxYRznvP4eIHpPoZXdkPFnAmanA4FuZ5dibSnCBggY8hQnqajPpoGjXFdZ7fIJKQnlA==", - "dev": true, - "requires": { - "@typescript-eslint/project-service": "8.61.0", - "@typescript-eslint/tsconfig-utils": "8.61.0", - "@typescript-eslint/types": "8.61.0", - "@typescript-eslint/visitor-keys": "8.61.0", - "debug": "^4.4.3", - "minimatch": "^10.2.2", - "semver": "^7.7.3", - "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.5.0" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "8.61.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.61.0.tgz", - "integrity": "sha512-QVLZu3ZPQEE+HICQyAMZ2yLQhxf0meY/wx6Hx14YcTNj13JB3qHlX3lJ02L3fLGHgERRH71kvYDwiXIguT3AjQ==", - "dev": true, - "requires": { - "@typescript-eslint/types": "8.61.0", - "eslint-visitor-keys": "^5.0.0" - } - }, - "balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true - }, - "brace-expansion": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", - "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", - "dev": true, - "requires": { - "balanced-match": "^4.0.2" - } - }, - "eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true - }, - "ignore": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", - "dev": true - }, - "minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "requires": { - "brace-expansion": "^5.0.5" - } - } - } - }, - "unbox-primitive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", - "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "has-bigints": "^1.0.2", - "has-symbols": "^1.1.0", - "which-boxed-primitive": "^1.1.1" - } - }, - "undici": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/undici/-/undici-7.24.4.tgz", - "integrity": "sha512-BM/JzwwaRXxrLdElV2Uo6cTLEjhSb3WXboncJamZ15NgUURmvlXvxa6xkwIOILIjPNo9i8ku136ZvWV0Uly8+w==", - "dev": true - }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", - "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", - "dev": true - }, - "unicode-match-property-ecmascript": { - "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==", - "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz", - "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz", - "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==", - "dev": true - }, - "union": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", - "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", - "requires": { - "qs": "^6.4.0" - } - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" - }, - "update-browserslist-db": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", - "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", - "requires": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "urijs": { - "version": "1.19.11", - "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz", - "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==" - }, - "url-join": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-2.0.5.tgz", - "integrity": "sha512-c2H1fIgpUdwFRIru9HFno5DT73Ok8hg5oOb5AT3ayIgvCRfxgs2jyt5Slw8kEB7j3QUr6yJmMPDT/odjk7jXow==" - }, - "use-callback-ref": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", - "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==", - "requires": { - "tslib": "^2.0.0" - } - }, - "use-sidecar": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz", - "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==", - "requires": { - "detect-node-es": "^1.1.0", - "tslib": "^2.0.0" - } - }, - "use-sync-external-store": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", - "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "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==", - "dev": true - }, - "utrie": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz", - "integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==", - "requires": { - "base64-arraybuffer": "^1.0.2" - } - }, - "uuid": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.0.tgz", - "integrity": "sha512-Qo+uWgilfSmAhXCMav1uYFynlQO7fMFiMVZsQqZRMIXp0O7rR7qjkj+cPvBHLgBqi960QCoo/PH2/6ZtVqKvrg==" - }, - "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==", - "dev": true - }, - "validate-npm-package-name": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-7.0.2.tgz", - "integrity": "sha512-hVDIBwsRruT73PbK7uP5ebUt+ezEtCmzZz3F59BSr2F6OVFnJ/6h8liuvdLrQ88Xmnk6/+xGGuq+pG9WwTuy3A==" - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" - }, - "vite": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.2.tgz", - "integrity": "sha512-Bby3NOsna2jsjfLVOHKes8sGwgl4TT0E6vvpYgnAYDIF/tie7MRaFthmKuHx1NSXjiTueXH3do80FMQgvEktRg==", - "dev": true, - "requires": { - "esbuild": "^0.27.0", - "fdir": "^6.5.0", - "fsevents": "~2.3.3", - "picomatch": "^4.0.3", - "postcss": "^8.5.6", - "rollup": "^4.43.0", - "tinyglobby": "^0.2.15" - }, - "dependencies": { - "picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", - "dev": true - } - } - }, - "vitest": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.8.tgz", - "integrity": "sha512-flY6ScbCIt9HThs+C5HS7jvGOB560DJtk/Z15IQROTA6zEy49Nh8T/dofWTQL+n3vswqn87sbJNiuqw1SDp5Ig==", - "dev": true, - "requires": { - "@vitest/expect": "4.1.8", - "@vitest/mocker": "4.1.8", - "@vitest/pretty-format": "4.1.8", - "@vitest/runner": "4.1.8", - "@vitest/snapshot": "4.1.8", - "@vitest/spy": "4.1.8", - "@vitest/utils": "4.1.8", - "es-module-lexer": "^2.0.0", - "expect-type": "^1.3.0", - "magic-string": "^0.30.21", - "obug": "^2.1.1", - "pathe": "^2.0.3", - "picomatch": "^4.0.3", - "std-env": "^4.0.0-rc.1", - "tinybench": "^2.9.0", - "tinyexec": "^1.0.2", - "tinyglobby": "^0.2.15", - "tinyrainbow": "^3.1.0", - "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", - "why-is-node-running": "^2.3.0" - }, - "dependencies": { - "picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", - "dev": true - } - } - }, - "vscode-css-languageservice": { - "version": "6.3.10", - "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.3.10.tgz", - "integrity": "sha512-eq5N9Er3fC4vA9zd9EFhyBG90wtCCuXgRSpAndaOgXMh1Wgep5lBgRIeDgjZBW9pa+332yC9+49cZMW8jcL3MA==", - "dev": true, - "requires": { - "@vscode/l10n": "^0.0.18", - "vscode-languageserver-textdocument": "^1.0.12", - "vscode-languageserver-types": "3.17.5", - "vscode-uri": "^3.1.0" - } - }, - "vscode-languageserver-textdocument": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz", - "integrity": "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==", - "dev": true - }, - "vscode-languageserver-types": { - "version": "3.17.5", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", - "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==", - "dev": true - }, - "vscode-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", - "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", - "dev": true - }, - "w3c-keyname": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", - "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==" - }, - "w3c-xmlserializer": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", - "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", - "dev": true, - "requires": { - "xml-name-validator": "^5.0.0" - } - }, - "watchpack": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", - "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", - "dev": true, - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "weak-lru-cache": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", - "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", - "dev": true, - "optional": true - }, - "webidl-conversions": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.1.tgz", - "integrity": "sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==", - "dev": true - }, - "webpack": { - "version": "5.105.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.2.tgz", - "integrity": "sha512-dRXm0a2qcHPUBEzVk8uph0xWSjV/xZxenQQbLwnwP7caQCYpqG1qddwlyEkIDkYn0K8tvmcrZ+bOrzoQ3HxCDw==", - "dev": true, - "requires": { - "@types/eslint-scope": "^3.7.7", - "@types/estree": "^1.0.8", - "@types/json-schema": "^7.0.15", - "@webassemblyjs/ast": "^1.14.1", - "@webassemblyjs/wasm-edit": "^1.14.1", - "@webassemblyjs/wasm-parser": "^1.14.1", - "acorn": "^8.15.0", - "acorn-import-phases": "^1.0.3", - "browserslist": "^4.28.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.19.0", - "es-module-lexer": "^2.0.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.11", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.3.1", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^4.3.3", - "tapable": "^2.3.0", - "terser-webpack-plugin": "^5.3.16", - "watchpack": "^2.5.1", - "webpack-sources": "^3.3.3" - }, - "dependencies": { - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "schema-utils": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", - "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - } - } - }, - "webpack-dev-middleware": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.5.tgz", - "integrity": "sha512-uxQ6YqGdE4hgDKNf7hUiPXOdtkXvBJXrfEGYSx7P7LC8hnUYGK70X6xQXUvXeNyBDDcsiQXpG2m3G9vxowaEuA==", - "dev": true, - "requires": { - "colorette": "^2.0.10", - "memfs": "^4.43.1", - "mime-types": "^3.0.1", - "on-finished": "^2.4.1", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "dependencies": { - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "mime-db": { - "version": "1.54.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", - "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", - "dev": true - }, - "mime-types": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", - "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", - "dev": true, - "requires": { - "mime-db": "^1.54.0" - } - }, - "schema-utils": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", - "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - } - } - }, - "webpack-dev-server": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.3.tgz", - "integrity": "sha512-9Gyu2F7+bg4Vv+pjbovuYDhHX+mqdqITykfzdM9UyKqKHlsE5aAjRhR+oOEfXW5vBeu8tarzlJFIZva4ZjAdrQ==", - "dev": true, - "requires": { - "@types/bonjour": "^3.5.13", - "@types/connect-history-api-fallback": "^1.5.4", - "@types/express": "^4.17.25", - "@types/express-serve-static-core": "^4.17.21", - "@types/serve-index": "^1.9.4", - "@types/serve-static": "^1.15.5", - "@types/sockjs": "^0.3.36", - "@types/ws": "^8.5.10", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.2.1", - "chokidar": "^3.6.0", - "colorette": "^2.0.10", - "compression": "^1.8.1", - "connect-history-api-fallback": "^2.0.0", - "express": "^4.22.1", - "graceful-fs": "^4.2.6", - "http-proxy-middleware": "^2.0.9", - "ipaddr.js": "^2.1.0", - "launch-editor": "^2.6.1", - "open": "^10.0.3", - "p-retry": "^6.2.0", - "schema-utils": "^4.2.0", - "selfsigned": "^5.5.0", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^7.4.2", - "ws": "^8.18.0" - }, - "dependencies": { - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "http-proxy-middleware": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz", - "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==", - "dev": true, - "requires": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - } - }, - "is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "dev": true - }, - "schema-utils": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", - "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - } - } - }, - "webpack-merge": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz", - "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.1" - } - }, - "webpack-sources": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz", - "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==", - "dev": true - }, - "webpack-subresource-integrity": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", - "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==", - "dev": true, - "requires": { - "typed-assert": "^1.0.8" - } - }, - "websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dev": true, - "requires": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "dev": true - }, - "whatwg-mimetype": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-5.0.0.tgz", - "integrity": "sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==", - "dev": true - }, - "whatwg-url": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-16.0.1.tgz", - "integrity": "sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==", - "dev": true, - "requires": { - "@exodus/bytes": "^1.11.0", - "tr46": "^6.0.0", - "webidl-conversions": "^8.0.1" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", - "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", - "dev": true, - "requires": { - "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.1", - "is-number-object": "^1.1.1", - "is-string": "^1.1.1", - "is-symbol": "^1.1.1" - } - }, - "which-builtin-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", - "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "function.prototype.name": "^1.1.6", - "has-tostringtag": "^1.0.2", - "is-async-function": "^2.0.0", - "is-date-object": "^1.1.0", - "is-finalizationregistry": "^1.1.0", - "is-generator-function": "^1.0.10", - "is-regex": "^1.2.1", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.1.0", - "which-collection": "^1.0.2", - "which-typed-array": "^1.1.16" - } - }, - "which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", - "dev": true, - "requires": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - } - }, - "which-typed-array": { - "version": "1.1.19", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", - "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "for-each": "^0.3.5", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2" - } - }, - "why-is-node-running": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", - "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", - "dev": true, - "requires": { - "siginfo": "^2.0.0", - "stackback": "0.0.2" - } - }, - "wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", - "dev": true - }, - "word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "ws": { - "version": "8.20.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.1.tgz", - "integrity": "sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==" - }, - "wscat": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/wscat/-/wscat-6.1.0.tgz", - "integrity": "sha512-x6gEZvITvqWslR38DoBfnMi37ZBUGsG9rTkGc/200sEfSs1JwgKLZYQeqa0vlu3bxXQV7hEHI4NF7KQmYIzB2A==", - "dev": true, - "requires": { - "commander": "^12.1.0", - "https-proxy-agent": "^7.0.5", - "read": "^4.0.0", - "ws": "^8.0.0" - }, - "dependencies": { - "commander": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", - "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", - "dev": true - } - } - }, - "wsl-utils": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz", - "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", - "dev": true, - "requires": { - "is-wsl": "^3.1.0" - }, - "dependencies": { - "is-wsl": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", - "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", - "dev": true, - "requires": { - "is-inside-container": "^1.0.0" - } - } - } - }, - "xml-but-prettier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/xml-but-prettier/-/xml-but-prettier-1.0.1.tgz", - "integrity": "sha512-C2CJaadHrZTqESlH03WOyw0oZTtoy2uEg6dSDF6YRg+9GnYNub53RRemLpnvtbHDFelxMx4LajiFsYeR6XJHgQ==", - "requires": { - "repeat-string": "^1.5.2" - } - }, - "xml-name-validator": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", - "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", - "dev": true - }, - "xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true - }, - "y-prosemirror": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/y-prosemirror/-/y-prosemirror-1.3.7.tgz", - "integrity": "sha512-NpM99WSdD4Fx4if5xOMDpPtU3oAmTSjlzh5U4353ABbRHl1HtAFUx6HlebLZfyFxXN9jzKMDkVbcRjqOZVkYQg==", - "requires": { - "lib0": "^0.2.109" - } - }, - "y-protocols": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/y-protocols/-/y-protocols-1.0.6.tgz", - "integrity": "sha512-vHRF2L6iT3rwj1jub/K5tYcTT/mEYDUppgNPXwp8fmLpui9f7Yeq3OEtTLVF012j39QnV+KEQpNqoN7CWU7Y9Q==", - "requires": { - "lib0": "^0.2.85" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "yjs": { - "version": "13.6.27", - "resolved": "https://registry.npmjs.org/yjs/-/yjs-13.6.27.tgz", - "integrity": "sha512-OIDwaflOaq4wC6YlPBy2L6ceKeKuF7DeTxx+jPzv1FHn9tCZ0ZwSRnUBxD05E3yed46fv/FWJbvR+Ud7x0L7zw==", - "requires": { - "lib0": "^0.2.99" - } - }, - "yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true - }, - "yoctocolors": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", - "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==" - }, - "yoctocolors-cjs": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", - "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==" - }, - "zod": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", - "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==" - }, - "zod-to-json-schema": { - "version": "3.25.1", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.1.tgz", - "integrity": "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA==" - }, - "zod-validation-error": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", - "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", - "dev": true - } } }