diff --git a/docs/FAQ/index.md b/docs/FAQ/index.md
index f20c32dafd..3d00ccff10 100644
--- a/docs/FAQ/index.md
+++ b/docs/FAQ/index.md
@@ -77,7 +77,7 @@ The initial steps involve installing and configuring the tool. [Installation ste
#### 8. Does the tool integrate with my existing test automation framework?
-ReportPortal can be integrated with common testing frameworks and CI tools. Consult [this section](/log-data-in-reportportal/test-framework-integration) of the documentation for detailed information on test framework integration. And use following links for Integration with CI/CD: [Integration with GitLab CI](/quality-gates/IntegrationWithCICD/IntegrationWithGitLabCI/), [Integration with Jenkins](/quality-gates/IntegrationWithCICD/IntegrationWithJenkins/).
+ReportPortal can be integrated with common testing frameworks and CI tools. Consult [this section](/log-data-in-reportportal/test-framework-integration) of the documentation for detailed information on test framework integration.
#### 9. What type of license does ReportPortal use?
@@ -85,9 +85,8 @@ ReportPortal is licensed under Apache v2.0, which means it’s free to use, come
#### 10. Does ReportPortal have any paid features?
-We offer two premium features:
+We offer the following premium feature:
-* [Quality Gates](/quality-gates/) – a set of predefined criteria that must be met for a test run to be considered successful.
* [SCIM Server](/features/SCIMServerFeature) – helps automate user management by syncing users and their access rights between your identity provider and ReportPortal.
#### 11. Does ReportPortal use AI?
diff --git a/docs/analysis/UniqueErrorAnalysis.mdx b/docs/analysis/UniqueErrorAnalysis.mdx
index 6b068bfc3a..426f5b4faa 100644
--- a/docs/analysis/UniqueErrorAnalysis.mdx
+++ b/docs/analysis/UniqueErrorAnalysis.mdx
@@ -23,7 +23,7 @@ Thanks to the Unique Error analysis functionality, ReportPortal got the followin
1. A list of unique errors for the launch, with grouping.
2. Easier test results analysis.
3. Machine learning (ML) suggestions for groups of tests.
-4. The [‘New Errors’](/quality-gates/QualityRulesConfiguration/#new-errors-in-the-run) Quality Gates rule.
+
## How to run Unique Error analysis
@@ -118,15 +118,7 @@ We have 2 errors with identical text, but the difference is numeric value in the
-## How to extend Unique Error analysis
-
-Unique Error analysis functionality can be extended by the [ReportPortal premium feature](https://reportportal.io/pricing/saas) – [Quality Gates](/quality-gates/).
-
-If you have Quality Gate plugin installed, you can create Quality Gate for the launch with the 'New Errors' rule. This rule helps identify any new unique errors in the current launch by comparing them to another specified launch.
-
-If there is Quality Gate for the launch with the 'New Errors' rule, the 'ALL UNIQUE ERRORS' dropdown is visible and enabled. The available options are: All, New Errors and Known Errors.
-
If there is no Quality Gate for the launch with the 'New Errors' rule, the 'ALL UNIQUE ERRORS' dropdown is visible but disabled. A tooltip appears on hover for the disabled state: 'No Quality Gate with 'New Error' rule for the launch.'
diff --git a/docs/configuration/ProjectSettings.mdx b/docs/configuration/ProjectSettings.mdx
index 21f6bb2f21..2adc862419 100644
--- a/docs/configuration/ProjectSettings.mdx
+++ b/docs/configuration/ProjectSettings.mdx
@@ -19,7 +19,7 @@ To go to the project settings page, click the "Project Settings" icon in the lef
The project configuration page will be opened.
-The project settings are divided into following tabs: "General", "Integrations", "Notifications", "Defect Types", "Analyzer", "Pattern Analysis", "Demo Data" and "Quality Gates" (if you have our [premium feature](/quality-gates)).
+The project settings are divided into following tabs: "General", "Integrations", "Notifications", "Defect Types", "Analyzer", "Pattern Analysis" and "Demo Data".
## General settings
diff --git a/docs/intro.md b/docs/intro.md
index 8c2cedeb04..fbde7561c8 100644
--- a/docs/intro.md
+++ b/docs/intro.md
@@ -12,7 +12,7 @@ ReportPortal is a TestOps service, that provides increased capabilities to speed
ReportPortal is a great addition to Continuous Integration and Continuous
Testing process.
-ReportPortal is distributed under the Apache v2.0 license, and it is free to use and modify, even for commercial purposes. We offer two paid premium features – [Quality Gates](/quality-gates) and [SCIM Server feature](/features/SCIMServerFeature).
+ReportPortal is distributed under the Apache v2.0 license, and it is free to use and modify, even for commercial purposes. We offer a paid premium feature – [SCIM Server feature](/features/SCIMServerFeature).
If a company is interested in our services, we can provide support hours to deploy, integrate, configure, or customize the tool, as well as [SaaS options](https://reportportal.io/pricing/saas).
diff --git a/docs/plugins/other/index.md b/docs/plugins/other/index.md
index 271c152b8d..3803651f01 100644
--- a/docs/plugins/other/index.md
+++ b/docs/plugins/other/index.md
@@ -11,8 +11,6 @@ The [Sauce Labs](/plugins/other/SauceLabs) plugin connects ReportPortal with Sau
The [Test Executions](/test-executions/) plugin introduces a refreshed approach to exploring and managing test results in ReportPortal. Instead of focusing on individual launches, it displays all test cases in a unified, easily searchable list. Users can apply multi-level filters, adjust the view to match their workflow, and analyze execution details with greater precision. This feature simplifies navigation across large datasets, enhances visibility into test progress, and supports more efficient decision-making during the testing process.
-The [Quality Gates](/quality-gates/) plugin automates quality control in continuous testing pipelines, helping teams accelerate release cycles and ensure product reliability. It allows users to define customizable quality rules directly in ReportPortal and automatically evaluates each CI/CD build against them. Once a test run is completed, ReportPortal sends instant feedback to the CI/CD system, indicating whether the build meets predefined criteria or should be stopped for review.
-
import DocCardList from '@theme/DocCardList';
diff --git a/docs/releases/archived-releases/Version23.2.md b/docs/releases/archived-releases/Version23.2.md
index ba90f3b04b..456cb9a5cd 100644
--- a/docs/releases/archived-releases/Version23.2.md
+++ b/docs/releases/archived-releases/Version23.2.md
@@ -37,7 +37,7 @@ Please note that Features 3 and 4 are configurable, giving you the flexibility t
You can now generate as many API Keys as you need. You also have the ability to keep track of the creation date of API Keys and revoke any that are unused. Old tokens will still continue to function. Additionally, easy identification of the purpose of API Keys is facilitated through the use of prefixes.
-- **[Gitlab CI integration](/quality-gates/IntegrationWithCICD/IntegrationWithGitLabCI) Workaround:**
+- **Gitlab CI integration Workaround:**
## 2. Small updates:
diff --git a/docs/terms-and-conditions/PremiumFeatures.md b/docs/terms-and-conditions/PremiumFeatures.md
index af7d55b301..05d2727b5f 100644
--- a/docs/terms-and-conditions/PremiumFeatures.md
+++ b/docs/terms-and-conditions/PremiumFeatures.md
@@ -13,6 +13,5 @@ Our Premium Features have been meticulously designed and developed with large-sc
We invite you to explore our Premium Features, understanding their objectives and benefits in detail on our documentation page. We are confident that you'll find the value they add to be well worth the investment. As always, we're here to answer any questions and assist you in getting the most out of your ReportPortal experience.
**Available Premium Features:**
- - [**Quality Gates**](/quality-gates)
- [**SCIM Server feature**](/features/SCIMServerFeature)
- [**Test Executions**](/features/TestExecutions)
diff --git a/docs/tutorial/index.mdx b/docs/tutorial/index.mdx
index 4c1dd1bbb4..d4ad3b4305 100644
--- a/docs/tutorial/index.mdx
+++ b/docs/tutorial/index.mdx
@@ -204,24 +204,6 @@ In this way, you see the historical trend of the causes of falls.
-## How to make automated test results part of my pipeline
-
-ReportPortal supports Continuous Testing with built-in functionality – [Quality Gates](/quality-gates) (premium feature). Quality Gate is a set of predefined criteria that should be met in order launch run to be considered as successful.
-
-Firstly, navigate to Project settings and create a Quality Gate with the rules which will be applied to a specific launch that matches the conditions.
-
-
-
-
-
-
-
-
-
-
-
-Finally, configure [integration with CI/CD](/quality-gates/IntegrationWithCICD) to send results to the pipeline.
-
## How to use nested steps and attributes in ReportPortal
Usually, you see the results of automation as a carpet of error logs, and only an automation engineer can understand what is happening inside. Adding nested steps ([Java](https://github.com/reportportal/client-java/wiki/Nested-steps), [Python](https://github.com/reportportal/client-Python/wiki/Nested-steps)) allows applying a one-time change in the test code to make a logical grouping of steps and make these error logs more readable for the whole team.
diff --git a/docusaurus.config.js b/docusaurus.config.js
index d786b1bc2d..95fa991a0f 100644
--- a/docusaurus.config.js
+++ b/docusaurus.config.js
@@ -44,6 +44,18 @@ const config = {
routeBasePath: '/',
sidebarPath: require.resolve('./sidebars.js'),
editUrl: 'https://github.com/reportportal/docs/blob/develop',
+ lastVersion: '26.2-organizations',
+ onlyIncludeVersions: ['26.2-organizations', '26.1'],
+ versions: {
+ '26.2-organizations': {
+ label: '26.2-organizations',
+ banner: 'none',
+ },
+ '26.1': {
+ label: '26.1',
+ banner: 'none',
+ },
+ },
},
blog: false,
theme: {
@@ -87,6 +99,15 @@ const config = {
to: 'https://developers.reportportal.io/api-docs/',
target: '_self',
},
+ {
+ label: 'Releases',
+ position: 'left',
+ target: '_self',
+ },
+ {
+ type: 'docsVersionDropdown',
+ position: 'right',
+ },
{
href: 'https://reportportal.io/',
label: 'ReportPortal.io',
@@ -196,11 +217,8 @@ const config = {
appId: 'CRZVCU6DFV',
apiKey: 'd8b54d5902dab4d50e4fba6321fb01a7',
indexName: 'reportportal',
- replaceSearchResultPathname: {
- from: '/docs/',
- to: baseUrl, // To suggest URLs correctly for local and dev deployment
- },
searchPagePath: 'search',
+ contextualSearch: false,
},
}),
@@ -254,10 +272,6 @@ const config = {
to: '/external-integrations',
from: '/category/external-integrations',
},
- {
- to: '/quality-gates',
- from: '/category/quality-gates',
- },
{
to: '/case-studies',
from: '/category/case-studies',
diff --git a/package-lock.json b/package-lock.json
index 8e0e4f282c..195cd44fab 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,9 +9,9 @@
"version": "2.0.0",
"license": "Apache-2.0",
"dependencies": {
- "@docusaurus/core": "^3.6.0",
- "@docusaurus/plugin-client-redirects": "^3.6.0",
- "@docusaurus/preset-classic": "^3.6.0",
+ "@docusaurus/core": "^3.9.2",
+ "@docusaurus/plugin-client-redirects": "^3.9.2",
+ "@docusaurus/preset-classic": "^3.9.2",
"@mdx-js/react": "3.0.0",
"clsx": "^2.0.0",
"dotenv": "^16.3.1",
@@ -22,9 +22,9 @@
"yet-another-react-lightbox": "^3.15.6"
},
"devDependencies": {
- "@docusaurus/eslint-plugin": "^3.6.0",
- "@docusaurus/module-type-aliases": "^3.6.0",
- "@docusaurus/types": "^3.3.2",
+ "@docusaurus/eslint-plugin": "^3.9.2",
+ "@docusaurus/module-type-aliases": "^3.9.2",
+ "@docusaurus/types": "^3.9.2",
"docusaurus-mdx-checker": "^3.0.0",
"eslint": "^8.56.0",
"eslint-config-airbnb": "^19.0.4",
@@ -44,240 +44,120 @@
"version": "1.2.6",
"resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz",
"integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==",
- "devOptional": true,
+ "dev": true,
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/@algolia/autocomplete-core": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz",
- "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==",
- "license": "MIT",
- "dependencies": {
- "@algolia/autocomplete-plugin-algolia-insights": "1.9.3",
- "@algolia/autocomplete-shared": "1.9.3"
- }
- },
- "node_modules/@algolia/autocomplete-plugin-algolia-insights": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz",
- "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==",
- "license": "MIT",
- "dependencies": {
- "@algolia/autocomplete-shared": "1.9.3"
- },
- "peerDependencies": {
- "search-insights": ">= 1 < 3"
- }
- },
- "node_modules/@algolia/autocomplete-preset-algolia": {
- "version": "1.17.6",
- "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.6.tgz",
- "integrity": "sha512-Cvg5JENdSCMuClwhJ1ON1/jSuojaYMiUW2KePm18IkdCzPJj/NXojaOxw58RFtQFpJgfVW8h2E8mEoDtLlMdeA==",
+ "node_modules/@algolia/abtesting": {
+ "version": "1.13.0",
+ "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.13.0.tgz",
+ "integrity": "sha512-Zrqam12iorp3FjiKMXSTpedGYznZ3hTEOAr2oCxI8tbF8bS1kQHClyDYNq/eV0ewMNLyFkgZVWjaS+8spsOYiQ==",
"license": "MIT",
"dependencies": {
- "@algolia/autocomplete-shared": "1.17.6"
+ "@algolia/client-common": "5.47.0",
+ "@algolia/requester-browser-xhr": "5.47.0",
+ "@algolia/requester-fetch": "5.47.0",
+ "@algolia/requester-node-http": "5.47.0"
},
- "peerDependencies": {
- "@algolia/client-search": ">= 4.9.1 < 6",
- "algoliasearch": ">= 4.9.1 < 6"
- }
- },
- "node_modules/@algolia/autocomplete-preset-algolia/node_modules/@algolia/autocomplete-shared": {
- "version": "1.17.6",
- "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.6.tgz",
- "integrity": "sha512-aq/3V9E00Tw2GC/PqgyPGXtqJUlVc17v4cn1EUhSc+O/4zd04Uwb3UmPm8KDaYQQOrkt1lwvCj2vG2wRE5IKhw==",
- "license": "MIT",
- "peerDependencies": {
- "@algolia/client-search": ">= 4.9.1 < 6",
- "algoliasearch": ">= 4.9.1 < 6"
- }
- },
- "node_modules/@algolia/autocomplete-shared": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz",
- "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==",
- "license": "MIT",
- "peerDependencies": {
- "@algolia/client-search": ">= 4.9.1 < 6",
- "algoliasearch": ">= 4.9.1 < 6"
- }
- },
- "node_modules/@algolia/cache-browser-local-storage": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.24.0.tgz",
- "integrity": "sha512-t63W9BnoXVrGy9iYHBgObNXqYXM3tYXCjDSHeNwnsc324r4o5UiVKUiAB4THQ5z9U5hTj6qUvwg/Ez43ZD85ww==",
- "license": "MIT",
- "dependencies": {
- "@algolia/cache-common": "4.24.0"
- }
- },
- "node_modules/@algolia/cache-common": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.24.0.tgz",
- "integrity": "sha512-emi+v+DmVLpMGhp0V9q9h5CdkURsNmFC+cOS6uK9ndeJm9J4TiqSvPYVu+THUP8P/S08rxf5x2P+p3CfID0Y4g==",
- "license": "MIT"
- },
- "node_modules/@algolia/cache-in-memory": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.24.0.tgz",
- "integrity": "sha512-gDrt2so19jW26jY3/MkFg5mEypFIPbPoXsQGQWAi6TrCPsNOSEYepBMPlucqWigsmEy/prp5ug2jy/N3PVG/8w==",
- "license": "MIT",
- "dependencies": {
- "@algolia/cache-common": "4.24.0"
+ "engines": {
+ "node": ">= 14.0.0"
}
},
"node_modules/@algolia/client-abtesting": {
- "version": "5.12.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.12.0.tgz",
- "integrity": "sha512-hx4eVydkm3yrFCFxmcBtSzI/ykt0cZ6sDWch+v3JTgKpD2WtosMJU3Upv1AjQ4B6COSHCOWEX3vfFxW6OoH6aA==",
+ "version": "5.47.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.47.0.tgz",
+ "integrity": "sha512-aOpsdlgS9xTEvz47+nXmw8m0NtUiQbvGWNuSEb7fA46iPL5FxOmOUZkh8PREBJpZ0/H8fclSc7BMJCVr+Dn72w==",
"license": "MIT",
"dependencies": {
- "@algolia/client-common": "5.12.0",
- "@algolia/requester-browser-xhr": "5.12.0",
- "@algolia/requester-fetch": "5.12.0",
- "@algolia/requester-node-http": "5.12.0"
+ "@algolia/client-common": "5.47.0",
+ "@algolia/requester-browser-xhr": "5.47.0",
+ "@algolia/requester-fetch": "5.47.0",
+ "@algolia/requester-node-http": "5.47.0"
},
"engines": {
"node": ">= 14.0.0"
}
},
- "node_modules/@algolia/client-account": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.24.0.tgz",
- "integrity": "sha512-adcvyJ3KjPZFDybxlqnf+5KgxJtBjwTPTeyG2aOyoJvx0Y8dUQAEOEVOJ/GBxX0WWNbmaSrhDURMhc+QeevDsA==",
- "license": "MIT",
- "dependencies": {
- "@algolia/client-common": "4.24.0",
- "@algolia/client-search": "4.24.0",
- "@algolia/transporter": "4.24.0"
- }
- },
- "node_modules/@algolia/client-account/node_modules/@algolia/client-common": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz",
- "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==",
- "license": "MIT",
- "dependencies": {
- "@algolia/requester-common": "4.24.0",
- "@algolia/transporter": "4.24.0"
- }
- },
- "node_modules/@algolia/client-account/node_modules/@algolia/client-search": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz",
- "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==",
- "license": "MIT",
- "dependencies": {
- "@algolia/client-common": "4.24.0",
- "@algolia/requester-common": "4.24.0",
- "@algolia/transporter": "4.24.0"
- }
- },
"node_modules/@algolia/client-analytics": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.24.0.tgz",
- "integrity": "sha512-y8jOZt1OjwWU4N2qr8G4AxXAzaa8DBvyHTWlHzX/7Me1LX8OayfgHexqrsL4vSBcoMmVw2XnVW9MhL+Y2ZDJXg==",
- "license": "MIT",
- "dependencies": {
- "@algolia/client-common": "4.24.0",
- "@algolia/client-search": "4.24.0",
- "@algolia/requester-common": "4.24.0",
- "@algolia/transporter": "4.24.0"
- }
- },
- "node_modules/@algolia/client-analytics/node_modules/@algolia/client-common": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz",
- "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==",
- "license": "MIT",
- "dependencies": {
- "@algolia/requester-common": "4.24.0",
- "@algolia/transporter": "4.24.0"
- }
- },
- "node_modules/@algolia/client-analytics/node_modules/@algolia/client-search": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz",
- "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==",
+ "version": "5.47.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.47.0.tgz",
+ "integrity": "sha512-EcF4w7IvIk1sowrO7Pdy4Ako7x/S8+nuCgdk6En+u5jsaNQM4rTT09zjBPA+WQphXkA2mLrsMwge96rf6i7Mow==",
"license": "MIT",
"dependencies": {
- "@algolia/client-common": "4.24.0",
- "@algolia/requester-common": "4.24.0",
- "@algolia/transporter": "4.24.0"
+ "@algolia/client-common": "5.47.0",
+ "@algolia/requester-browser-xhr": "5.47.0",
+ "@algolia/requester-fetch": "5.47.0",
+ "@algolia/requester-node-http": "5.47.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
}
},
"node_modules/@algolia/client-common": {
- "version": "5.12.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.12.0.tgz",
- "integrity": "sha512-od3WmO8qxyfNhKc+K3D17tvun3IMs/xMNmxCG9MiElAkYVbPPTRUYMkRneCpmJyQI0hNx2/EA4kZgzVfQjO86Q==",
+ "version": "5.47.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.47.0.tgz",
+ "integrity": "sha512-Wzg5Me2FqgRDj0lFuPWFK05UOWccSMsIBL2YqmTmaOzxVlLZ+oUqvKbsUSOE5ud8Fo1JU7JyiLmEXBtgDKzTwg==",
"license": "MIT",
"engines": {
"node": ">= 14.0.0"
}
},
"node_modules/@algolia/client-insights": {
- "version": "5.12.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.12.0.tgz",
- "integrity": "sha512-8alajmsYUd+7vfX5lpRNdxqv3Xx9clIHLUItyQK0Z6gwGMbVEFe6YYhgDtwslMAP0y6b0WeJEIZJMLgT7VYpRw==",
+ "version": "5.47.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.47.0.tgz",
+ "integrity": "sha512-Ci+cn/FDIsDxSKMRBEiyKrqybblbk8xugo6ujDN1GSTv9RIZxwxqZYuHfdLnLEwLlX7GB8pqVyqrUSlRnR+sJA==",
"license": "MIT",
"dependencies": {
- "@algolia/client-common": "5.12.0",
- "@algolia/requester-browser-xhr": "5.12.0",
- "@algolia/requester-fetch": "5.12.0",
- "@algolia/requester-node-http": "5.12.0"
+ "@algolia/client-common": "5.47.0",
+ "@algolia/requester-browser-xhr": "5.47.0",
+ "@algolia/requester-fetch": "5.47.0",
+ "@algolia/requester-node-http": "5.47.0"
},
"engines": {
"node": ">= 14.0.0"
}
},
"node_modules/@algolia/client-personalization": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.24.0.tgz",
- "integrity": "sha512-l5FRFm/yngztweU0HdUzz1rC4yoWCFo3IF+dVIVTfEPg906eZg5BOd1k0K6rZx5JzyyoP4LdmOikfkfGsKVE9w==",
- "license": "MIT",
- "dependencies": {
- "@algolia/client-common": "4.24.0",
- "@algolia/requester-common": "4.24.0",
- "@algolia/transporter": "4.24.0"
- }
- },
- "node_modules/@algolia/client-personalization/node_modules/@algolia/client-common": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz",
- "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==",
+ "version": "5.47.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.47.0.tgz",
+ "integrity": "sha512-gsLnHPZmWcX0T3IigkDL2imCNtsQ7dR5xfnwiFsb+uTHCuYQt+IwSNjsd8tok6HLGLzZrliSaXtB5mfGBtYZvQ==",
"license": "MIT",
"dependencies": {
- "@algolia/requester-common": "4.24.0",
- "@algolia/transporter": "4.24.0"
+ "@algolia/client-common": "5.47.0",
+ "@algolia/requester-browser-xhr": "5.47.0",
+ "@algolia/requester-fetch": "5.47.0",
+ "@algolia/requester-node-http": "5.47.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
}
},
"node_modules/@algolia/client-query-suggestions": {
- "version": "5.12.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.12.0.tgz",
- "integrity": "sha512-Q5CszzGWfxbIDs9DJ/QJsL7bP6h+lJMg27KxieEnI9KGCu0Jt5iFA3GkREkgRZxRdzlHbZKkrIzhtHVbSHw/rg==",
+ "version": "5.47.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.47.0.tgz",
+ "integrity": "sha512-PDOw0s8WSlR2fWFjPQldEpmm/gAoUgLigvC3k/jCSi/DzigdGX6RdC0Gh1RR1P8Cbk5KOWYDuL3TNzdYwkfDyA==",
"license": "MIT",
"dependencies": {
- "@algolia/client-common": "5.12.0",
- "@algolia/requester-browser-xhr": "5.12.0",
- "@algolia/requester-fetch": "5.12.0",
- "@algolia/requester-node-http": "5.12.0"
+ "@algolia/client-common": "5.47.0",
+ "@algolia/requester-browser-xhr": "5.47.0",
+ "@algolia/requester-fetch": "5.47.0",
+ "@algolia/requester-node-http": "5.47.0"
},
"engines": {
"node": ">= 14.0.0"
}
},
"node_modules/@algolia/client-search": {
- "version": "5.12.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.12.0.tgz",
- "integrity": "sha512-R3qzEytgVLHOGNri+bpta6NtTt7YtkvUe/QBcAmMDjW4Jk1P0eBYIPfvnzIPbINRsLxIq9fZs9uAYBgsrts4Zg==",
+ "version": "5.47.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.47.0.tgz",
+ "integrity": "sha512-b5hlU69CuhnS2Rqgsz7uSW0t4VqrLMLTPbUpEl0QVz56rsSwr1Sugyogrjb493sWDA+XU1FU5m9eB8uH7MoI0g==",
"license": "MIT",
"dependencies": {
- "@algolia/client-common": "5.12.0",
- "@algolia/requester-browser-xhr": "5.12.0",
- "@algolia/requester-fetch": "5.12.0",
- "@algolia/requester-node-http": "5.12.0"
+ "@algolia/client-common": "5.47.0",
+ "@algolia/requester-browser-xhr": "5.47.0",
+ "@algolia/requester-fetch": "5.47.0",
+ "@algolia/requester-node-http": "5.47.0"
},
"engines": {
"node": ">= 14.0.0"
@@ -290,161 +170,86 @@
"license": "MIT"
},
"node_modules/@algolia/ingestion": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.12.0.tgz",
- "integrity": "sha512-zpHo6qhR22tL8FsdSI4DvEraPDi/019HmMrCFB/TUX98yzh5ooAU7sNW0qPL1I7+S++VbBmNzJOEU9VI8tEC8A==",
+ "version": "1.47.0",
+ "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.47.0.tgz",
+ "integrity": "sha512-WvwwXp5+LqIGISK3zHRApLT1xkuEk320/EGeD7uYy+K8WwDd5OjXnhjuXRhYr1685KnkvWkq1rQ/ihCJjOfHpQ==",
"license": "MIT",
"dependencies": {
- "@algolia/client-common": "5.12.0",
- "@algolia/requester-browser-xhr": "5.12.0",
- "@algolia/requester-fetch": "5.12.0",
- "@algolia/requester-node-http": "5.12.0"
+ "@algolia/client-common": "5.47.0",
+ "@algolia/requester-browser-xhr": "5.47.0",
+ "@algolia/requester-fetch": "5.47.0",
+ "@algolia/requester-node-http": "5.47.0"
},
"engines": {
"node": ">= 14.0.0"
}
},
- "node_modules/@algolia/logger-common": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.24.0.tgz",
- "integrity": "sha512-LLUNjkahj9KtKYrQhFKCzMx0BY3RnNP4FEtO+sBybCjJ73E8jNdaKJ/Dd8A/VA4imVHP5tADZ8pn5B8Ga/wTMA==",
- "license": "MIT"
- },
- "node_modules/@algolia/logger-console": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.24.0.tgz",
- "integrity": "sha512-X4C8IoHgHfiUROfoRCV+lzSy+LHMgkoEEU1BbKcsfnV0i0S20zyy0NLww9dwVHUWNfPPxdMU+/wKmLGYf96yTg==",
- "license": "MIT",
- "dependencies": {
- "@algolia/logger-common": "4.24.0"
- }
- },
"node_modules/@algolia/monitoring": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.12.0.tgz",
- "integrity": "sha512-i2AJZED/zf4uhxezAJUhMKoL5QoepCBp2ynOYol0N76+TSoohaMADdPnWCqOULF4RzOwrG8wWynAwBlXsAI1RQ==",
+ "version": "1.47.0",
+ "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.47.0.tgz",
+ "integrity": "sha512-j2EUFKAlzM0TE4GRfkDE3IDfkVeJdcbBANWzK16Tb3RHz87WuDfQ9oeEW6XiRE1/bEkq2xf4MvZesvSeQrZRDA==",
"license": "MIT",
"dependencies": {
- "@algolia/client-common": "5.12.0",
- "@algolia/requester-browser-xhr": "5.12.0",
- "@algolia/requester-fetch": "5.12.0",
- "@algolia/requester-node-http": "5.12.0"
+ "@algolia/client-common": "5.47.0",
+ "@algolia/requester-browser-xhr": "5.47.0",
+ "@algolia/requester-fetch": "5.47.0",
+ "@algolia/requester-node-http": "5.47.0"
},
"engines": {
"node": ">= 14.0.0"
}
},
"node_modules/@algolia/recommend": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.24.0.tgz",
- "integrity": "sha512-P9kcgerfVBpfYHDfVZDvvdJv0lEoCvzNlOy2nykyt5bK8TyieYyiD0lguIJdRZZYGre03WIAFf14pgE+V+IBlw==",
- "license": "MIT",
- "dependencies": {
- "@algolia/cache-browser-local-storage": "4.24.0",
- "@algolia/cache-common": "4.24.0",
- "@algolia/cache-in-memory": "4.24.0",
- "@algolia/client-common": "4.24.0",
- "@algolia/client-search": "4.24.0",
- "@algolia/logger-common": "4.24.0",
- "@algolia/logger-console": "4.24.0",
- "@algolia/requester-browser-xhr": "4.24.0",
- "@algolia/requester-common": "4.24.0",
- "@algolia/requester-node-http": "4.24.0",
- "@algolia/transporter": "4.24.0"
- }
- },
- "node_modules/@algolia/recommend/node_modules/@algolia/client-common": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz",
- "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==",
- "license": "MIT",
- "dependencies": {
- "@algolia/requester-common": "4.24.0",
- "@algolia/transporter": "4.24.0"
- }
- },
- "node_modules/@algolia/recommend/node_modules/@algolia/client-search": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz",
- "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==",
- "license": "MIT",
- "dependencies": {
- "@algolia/client-common": "4.24.0",
- "@algolia/requester-common": "4.24.0",
- "@algolia/transporter": "4.24.0"
- }
- },
- "node_modules/@algolia/recommend/node_modules/@algolia/requester-browser-xhr": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.24.0.tgz",
- "integrity": "sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==",
- "license": "MIT",
- "dependencies": {
- "@algolia/requester-common": "4.24.0"
- }
- },
- "node_modules/@algolia/recommend/node_modules/@algolia/requester-node-http": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.24.0.tgz",
- "integrity": "sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==",
+ "version": "5.47.0",
+ "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.47.0.tgz",
+ "integrity": "sha512-+kTSE4aQ1ARj2feXyN+DMq0CIDHJwZw1kpxIunedkmpWUg8k3TzFwWsMCzJVkF2nu1UcFbl7xsIURz3Q3XwOXA==",
"license": "MIT",
"dependencies": {
- "@algolia/requester-common": "4.24.0"
+ "@algolia/client-common": "5.47.0",
+ "@algolia/requester-browser-xhr": "5.47.0",
+ "@algolia/requester-fetch": "5.47.0",
+ "@algolia/requester-node-http": "5.47.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
}
},
"node_modules/@algolia/requester-browser-xhr": {
- "version": "5.12.0",
- "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.12.0.tgz",
- "integrity": "sha512-KxwleraFuVoEGCoeW6Y1RAEbgBMS7SavqeyzWdtkJc6mXeCOJXn1iZitb8Tyn2FcpMNUKlSm0adrUTt7G47+Ow==",
+ "version": "5.47.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.47.0.tgz",
+ "integrity": "sha512-Ja+zPoeSA2SDowPwCNRbm5Q2mzDvVV8oqxCQ4m6SNmbKmPlCfe30zPfrt9ho3kBHnsg37pGucwOedRIOIklCHw==",
"license": "MIT",
"dependencies": {
- "@algolia/client-common": "5.12.0"
+ "@algolia/client-common": "5.47.0"
},
"engines": {
"node": ">= 14.0.0"
}
},
- "node_modules/@algolia/requester-common": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.24.0.tgz",
- "integrity": "sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA==",
- "license": "MIT"
- },
"node_modules/@algolia/requester-fetch": {
- "version": "5.12.0",
- "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.12.0.tgz",
- "integrity": "sha512-FuDZXUGU1pAg2HCnrt8+q1VGHKChV/LhvjvZlLOT7e56GJie6p+EuLu4/hMKPOVuQQ8XXtrTHKIU3Lw+7O5/bQ==",
+ "version": "5.47.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.47.0.tgz",
+ "integrity": "sha512-N6nOvLbaR4Ge+oVm7T4W/ea1PqcSbsHR4O58FJ31XtZjFPtOyxmnhgCmGCzP9hsJI6+x0yxJjkW5BMK/XI8OvA==",
"license": "MIT",
"dependencies": {
- "@algolia/client-common": "5.12.0"
+ "@algolia/client-common": "5.47.0"
},
"engines": {
"node": ">= 14.0.0"
}
},
"node_modules/@algolia/requester-node-http": {
- "version": "5.12.0",
- "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.12.0.tgz",
- "integrity": "sha512-ncDDY7CxZhMs6LIoPl+vHFQceIBhYPY5EfuGF1V7beO0U38xfsCYEyutEFB2kRzf4D9Gqppn3iWX71sNtrKcuw==",
+ "version": "5.47.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.47.0.tgz",
+ "integrity": "sha512-z1oyLq5/UVkohVXNDEY70mJbT/sv/t6HYtCvCwNrOri6pxBJDomP9R83KOlwcat+xqBQEdJHjbrPh36f1avmZA==",
"license": "MIT",
"dependencies": {
- "@algolia/client-common": "5.12.0"
+ "@algolia/client-common": "5.47.0"
},
"engines": {
"node": ">= 14.0.0"
}
},
- "node_modules/@algolia/transporter": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.24.0.tgz",
- "integrity": "sha512-86nI7w6NzWxd1Zp9q3413dRshDqAzSbsQjhcDhPIatEFiZrL1/TjnHL8S7jVKFePlIMzDsZWXAXwXzcok9c5oA==",
- "license": "MIT",
- "dependencies": {
- "@algolia/cache-common": "4.24.0",
- "@algolia/logger-common": "4.24.0",
- "@algolia/requester-common": "4.24.0"
- }
- },
"node_modules/@ampproject/remapping": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
@@ -458,23 +263,23 @@
}
},
"node_modules/@babel/code-frame": {
- "version": "7.26.2",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz",
- "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==",
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz",
+ "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==",
"license": "MIT",
"dependencies": {
- "@babel/helper-validator-identifier": "^7.25.9",
+ "@babel/helper-validator-identifier": "^7.28.5",
"js-tokens": "^4.0.0",
- "picocolors": "^1.0.0"
+ "picocolors": "^1.1.1"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/compat-data": {
- "version": "7.26.2",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.2.tgz",
- "integrity": "sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==",
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz",
+ "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
@@ -519,15 +324,15 @@
}
},
"node_modules/@babel/generator": {
- "version": "7.26.2",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.2.tgz",
- "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==",
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.0.tgz",
+ "integrity": "sha512-vSH118/wwM/pLR38g/Sgk05sNtro6TlTJKuiMXDaZqPUfjTFcudpCOt00IhOfj+1BFAX+UFAlzCU+6WXr3GLFQ==",
"license": "MIT",
"dependencies": {
- "@babel/parser": "^7.26.2",
- "@babel/types": "^7.26.0",
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.25",
+ "@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"
},
"engines": {
@@ -560,13 +365,13 @@
}
},
"node_modules/@babel/helper-compilation-targets": {
- "version": "7.25.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz",
- "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==",
+ "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==",
"license": "MIT",
"dependencies": {
- "@babel/compat-data": "^7.25.9",
- "@babel/helper-validator-option": "^7.25.9",
+ "@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"
@@ -640,21 +445,30 @@
}
},
"node_modules/@babel/helper-define-polyfill-provider": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz",
- "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==",
+ "version": "0.6.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.6.tgz",
+ "integrity": "sha512-mOAsxeeKkUKayvZR3HeTYD/fICpCPLJrU5ZjelT/PA6WHtNDBOE436YiaEUvHN454bRM3CebhDsIpieCc4texA==",
"license": "MIT",
"dependencies": {
- "@babel/helper-compilation-targets": "^7.22.6",
- "@babel/helper-plugin-utils": "^7.22.5",
- "debug": "^4.1.1",
+ "@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.14.2"
+ "resolve": "^1.22.11"
},
"peerDependencies": {
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
}
},
+ "node_modules/@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==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/@babel/helper-member-expression-to-functions": {
"version": "7.25.9",
"resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz",
@@ -669,13 +483,13 @@
}
},
"node_modules/@babel/helper-module-imports": {
- "version": "7.25.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz",
- "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==",
+ "version": "7.28.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz",
+ "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==",
"license": "MIT",
"dependencies": {
- "@babel/traverse": "^7.25.9",
- "@babel/types": "^7.25.9"
+ "@babel/traverse": "^7.28.6",
+ "@babel/types": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
@@ -711,9 +525,9 @@
}
},
"node_modules/@babel/helper-plugin-utils": {
- "version": "7.25.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz",
- "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==",
+ "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==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
@@ -780,27 +594,27 @@
}
},
"node_modules/@babel/helper-string-parser": {
- "version": "7.25.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
- "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
+ "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.25.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
- "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
+ "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-option": {
- "version": "7.25.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz",
- "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==",
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
+ "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
@@ -834,12 +648,12 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.26.2",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.2.tgz",
- "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==",
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz",
+ "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==",
"license": "MIT",
"dependencies": {
- "@babel/types": "^7.26.0"
+ "@babel/types": "^7.29.0"
},
"bin": {
"parser": "bin/babel-parser.js"
@@ -942,6 +756,7 @@
"version": "7.8.3",
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
"integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
+ "license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
},
@@ -1755,16 +1570,16 @@
}
},
"node_modules/@babel/plugin-transform-runtime": {
- "version": "7.25.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.9.tgz",
- "integrity": "sha512-nZp7GlEl+yULJrClz0SwHPqir3lc0zsPrDHQUcxGspSL7AKrexNSEfTbfqnDNJUO13bgKyfuOLMF8Xqtu8j3YQ==",
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.29.0.tgz",
+ "integrity": "sha512-jlaRT5dJtMaMCV6fAuLbsQMSwz/QkvaHOHOSXRitGGwSpR1blCY4KUKoyP2tYO8vJcqYe8cEj96cqSztv3uF9w==",
"license": "MIT",
"dependencies": {
- "@babel/helper-module-imports": "^7.25.9",
- "@babel/helper-plugin-utils": "^7.25.9",
- "babel-plugin-polyfill-corejs2": "^0.4.10",
- "babel-plugin-polyfill-corejs3": "^0.10.6",
- "babel-plugin-polyfill-regenerator": "^0.6.1",
+ "@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"
},
"engines": {
@@ -1774,6 +1589,19 @@
"@babel/core": "^7.0.0-0"
}
},
+ "node_modules/@babel/plugin-transform-runtime/node_modules/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==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-define-polyfill-provider": "^0.6.5",
+ "core-js-compat": "^3.43.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
+ }
+ },
"node_modules/@babel/plugin-transform-runtime/node_modules/semver": {
"version": "6.3.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
@@ -2097,58 +1925,57 @@
}
},
"node_modules/@babel/runtime-corejs3": {
- "version": "7.26.0",
- "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.26.0.tgz",
- "integrity": "sha512-YXHu5lN8kJCb1LOb9PgV6pvak43X2h4HvRApcN5SdWeaItQOzfn1hgP6jasD6KWQyJDBxrVmA9o9OivlnNJK/w==",
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.29.0.tgz",
+ "integrity": "sha512-TgUkdp71C9pIbBcHudc+gXZnihEDOjUAmXO1VO4HHGES7QLZcShR0stfKIxLSNIYx2fqhmJChOjm/wkF8wv4gA==",
"license": "MIT",
"dependencies": {
- "core-js-pure": "^3.30.2",
- "regenerator-runtime": "^0.14.0"
+ "core-js-pure": "^3.48.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/template": {
- "version": "7.25.9",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz",
- "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==",
+ "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==",
"license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.25.9",
- "@babel/parser": "^7.25.9",
- "@babel/types": "^7.25.9"
+ "@babel/code-frame": "^7.28.6",
+ "@babel/parser": "^7.28.6",
+ "@babel/types": "^7.28.6"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
- "version": "7.25.9",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.9.tgz",
- "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==",
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz",
+ "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==",
"license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.25.9",
- "@babel/generator": "^7.25.9",
- "@babel/parser": "^7.25.9",
- "@babel/template": "^7.25.9",
- "@babel/types": "^7.25.9",
- "debug": "^4.3.1",
- "globals": "^11.1.0"
+ "@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"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/types": {
- "version": "7.26.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz",
- "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==",
+ "version": "7.29.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz",
+ "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==",
"license": "MIT",
"dependencies": {
- "@babel/helper-string-parser": "^7.25.9",
- "@babel/helper-validator-identifier": "^7.25.9"
+ "@babel/helper-string-parser": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.28.5"
},
"engines": {
"node": ">=6.9.0"
@@ -2163,129 +1990,1396 @@
"node": ">=0.1.90"
}
},
- "node_modules/@discoveryjs/json-ext": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
- "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==",
+ "node_modules/@csstools/cascade-layer-name-parser": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-2.0.5.tgz",
+ "integrity": "sha512-p1ko5eHgV+MgXFVa4STPKpvPxr6ReS8oS2jzTukjR74i5zJNyWO1ZM1m8YKBXnzDKWfBN1ztLYlHxbVemDD88A==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"license": "MIT",
"engines": {
- "node": ">=10.0.0"
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4"
}
},
- "node_modules/@docsearch/css": {
- "version": "3.6.3",
- "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.6.3.tgz",
- "integrity": "sha512-3uvbg8E7rhqE1C4oBAK3tGlS2qfhi9zpfZgH/yjDPF73vd9B41urVIKujF4rczcF4E3qs34SedhehiDJ4UdNBA==",
- "license": "MIT"
+ "node_modules/@csstools/color-helpers": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz",
+ "integrity": "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "engines": {
+ "node": ">=18"
+ }
},
- "node_modules/@docsearch/react": {
- "version": "3.6.3",
- "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.6.3.tgz",
- "integrity": "sha512-2munr4uBuZq1PG+Ge+F+ldIdxb3Wi8OmEIv2tQQb4RvEvvph+xtQkxwHzVIEnt5s+HecwucuXwB+3JhcZboFLg==",
+ "node_modules/@csstools/css-calc": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz",
+ "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"license": "MIT",
- "dependencies": {
- "@algolia/autocomplete-core": "1.9.3",
- "@algolia/autocomplete-preset-algolia": "1.17.6",
- "@docsearch/css": "3.6.3",
- "algoliasearch": "^5.11.0"
+ "engines": {
+ "node": ">=18"
},
"peerDependencies": {
- "@types/react": ">= 16.8.0 < 19.0.0",
- "react": ">= 16.8.0 < 19.0.0",
- "react-dom": ">= 16.8.0 < 19.0.0",
- "search-insights": ">= 1 < 3"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- },
- "react": {
- "optional": true
- },
- "react-dom": {
- "optional": true
- },
- "search-insights": {
- "optional": true
- }
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4"
}
},
- "node_modules/@docsearch/react/node_modules/@algolia/client-analytics": {
- "version": "5.12.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.12.0.tgz",
- "integrity": "sha512-EpTsSv6IW8maCfXCDIptgT7+mQJj7pImEkcNUnxR8yUKAHzTogTXv9yGm2WXOZFVuwstd2i0sImhQ1Vz8RH/hA==",
+ "node_modules/@csstools/css-color-parser": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.1.0.tgz",
+ "integrity": "sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"license": "MIT",
"dependencies": {
- "@algolia/client-common": "5.12.0",
- "@algolia/requester-browser-xhr": "5.12.0",
- "@algolia/requester-fetch": "5.12.0",
- "@algolia/requester-node-http": "5.12.0"
+ "@csstools/color-helpers": "^5.1.0",
+ "@csstools/css-calc": "^2.1.4"
},
"engines": {
- "node": ">= 14.0.0"
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4"
}
},
- "node_modules/@docsearch/react/node_modules/@algolia/client-personalization": {
- "version": "5.12.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.12.0.tgz",
- "integrity": "sha512-bUV9HtfkTBgpoVhxFrMkmVPG03ZN1Rtn51kiaEtukucdk3ggjR9Qu1YUfRSU2lFgxr9qJc8lTxwfvhjCeJRcqw==",
+ "node_modules/@csstools/css-parser-algorithms": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz",
+ "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"license": "MIT",
- "dependencies": {
- "@algolia/client-common": "5.12.0",
- "@algolia/requester-browser-xhr": "5.12.0",
- "@algolia/requester-fetch": "5.12.0",
- "@algolia/requester-node-http": "5.12.0"
- },
"engines": {
- "node": ">= 14.0.0"
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@csstools/css-tokenizer": "^3.0.4"
}
},
- "node_modules/@docsearch/react/node_modules/@algolia/recommend": {
- "version": "5.12.0",
- "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.12.0.tgz",
- "integrity": "sha512-0jmZyKvYnB/Bj5c7WKsKedOUjnr0UtXm0LVFUdQrxXfqOqvWv9n6Vpr65UjdYG4Q49kRQxhlwtal9WJYrYymXg==",
+ "node_modules/@csstools/css-tokenizer": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz",
+ "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"license": "MIT",
- "dependencies": {
- "@algolia/client-common": "5.12.0",
- "@algolia/requester-browser-xhr": "5.12.0",
- "@algolia/requester-fetch": "5.12.0",
- "@algolia/requester-node-http": "5.12.0"
- },
"engines": {
- "node": ">= 14.0.0"
+ "node": ">=18"
}
},
- "node_modules/@docsearch/react/node_modules/algoliasearch": {
- "version": "5.12.0",
- "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.12.0.tgz",
- "integrity": "sha512-psGBRYdGgik8I6m28iAB8xpubvjEt7UQU+w5MAJUA2324WHiGoHap5BPkkjB14rMaXeRts6pmOsrVIglGyOVwg==",
+ "node_modules/@csstools/media-query-list-parser": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.3.tgz",
+ "integrity": "sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"license": "MIT",
- "dependencies": {
- "@algolia/client-abtesting": "5.12.0",
- "@algolia/client-analytics": "5.12.0",
- "@algolia/client-common": "5.12.0",
- "@algolia/client-insights": "5.12.0",
- "@algolia/client-personalization": "5.12.0",
- "@algolia/client-query-suggestions": "5.12.0",
- "@algolia/client-search": "5.12.0",
- "@algolia/ingestion": "1.12.0",
- "@algolia/monitoring": "1.12.0",
- "@algolia/recommend": "5.12.0",
- "@algolia/requester-browser-xhr": "5.12.0",
- "@algolia/requester-fetch": "5.12.0",
- "@algolia/requester-node-http": "5.12.0"
- },
"engines": {
- "node": ">= 14.0.0"
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4"
}
},
- "node_modules/@docusaurus/babel": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@docusaurus/babel/-/babel-3.6.0.tgz",
- "integrity": "sha512-7CsoQFiadoq7AHSUIQNkI/lGfg9AQ2ZBzsf9BqfZGXkHwWDy6twuohEaG0PgQv1npSRSAB2dioVxhRSErnqKNA==",
- "license": "MIT",
- "dependencies": {
- "@babel/core": "^7.25.9",
+ "node_modules/@csstools/postcss-alpha-function": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-alpha-function/-/postcss-alpha-function-1.0.1.tgz",
+ "integrity": "sha512-isfLLwksH3yHkFXfCI2Gcaqg7wGGHZZwunoJzEZk0yKYIokgre6hYVFibKL3SYAoR1kBXova8LB+JoO5vZzi9w==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/css-color-parser": "^3.1.0",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-cascade-layers": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-5.0.2.tgz",
+ "integrity": "sha512-nWBE08nhO8uWl6kSAeCx4im7QfVko3zLrtgWZY4/bP87zrSPpSyN/3W3TDqz1jJuH+kbKOHXg5rJnK+ZVYcFFg==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/selector-specificity": "^5.0.0",
+ "postcss-selector-parser": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-cascade-layers/node_modules/@csstools/selector-specificity": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz",
+ "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss-selector-parser": "^7.0.0"
+ }
+ },
+ "node_modules/@csstools/postcss-cascade-layers/node_modules/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==",
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@csstools/postcss-color-function": {
+ "version": "4.0.12",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-4.0.12.tgz",
+ "integrity": "sha512-yx3cljQKRaSBc2hfh8rMZFZzChaFgwmO2JfFgFr1vMcF3C/uyy5I4RFIBOIWGq1D+XbKCG789CGkG6zzkLpagA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/css-color-parser": "^3.1.0",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-color-function-display-p3-linear": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function-display-p3-linear/-/postcss-color-function-display-p3-linear-1.0.1.tgz",
+ "integrity": "sha512-E5qusdzhlmO1TztYzDIi8XPdPoYOjoTY6HBYBCYSj+Gn4gQRBlvjgPQXzfzuPQqt8EhkC/SzPKObg4Mbn8/xMg==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/css-color-parser": "^3.1.0",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-color-mix-function": {
+ "version": "3.0.12",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.12.tgz",
+ "integrity": "sha512-4STERZfCP5Jcs13P1U5pTvI9SkgLgfMUMhdXW8IlJWkzOOOqhZIjcNhWtNJZes2nkBDsIKJ0CJtFtuaZ00moag==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/css-color-parser": "^3.1.0",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-color-mix-variadic-function-arguments": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-variadic-function-arguments/-/postcss-color-mix-variadic-function-arguments-1.0.2.tgz",
+ "integrity": "sha512-rM67Gp9lRAkTo+X31DUqMEq+iK+EFqsidfecmhrteErxJZb6tUoJBVQca1Vn1GpDql1s1rD1pKcuYzMsg7Z1KQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/css-color-parser": "^3.1.0",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-content-alt-text": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-content-alt-text/-/postcss-content-alt-text-2.0.8.tgz",
+ "integrity": "sha512-9SfEW9QCxEpTlNMnpSqFaHyzsiRpZ5J5+KqCu1u5/eEJAWsMhzT40qf0FIbeeglEvrGRMdDzAxMIz3wqoGSb+Q==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-contrast-color-function": {
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-contrast-color-function/-/postcss-contrast-color-function-2.0.12.tgz",
+ "integrity": "sha512-YbwWckjK3qwKjeYz/CijgcS7WDUCtKTd8ShLztm3/i5dhh4NaqzsbYnhm4bjrpFpnLZ31jVcbK8YL77z3GBPzA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/css-color-parser": "^3.1.0",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-exponential-functions": {
+ "version": "2.0.9",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-2.0.9.tgz",
+ "integrity": "sha512-abg2W/PI3HXwS/CZshSa79kNWNZHdJPMBXeZNyPQFbbj8sKO3jXxOt/wF7juJVjyDTc6JrvaUZYFcSBZBhaxjw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/css-calc": "^2.1.4",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-font-format-keywords": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-4.0.0.tgz",
+ "integrity": "sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/utilities": "^2.0.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-gamut-mapping": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-2.0.11.tgz",
+ "integrity": "sha512-fCpCUgZNE2piVJKC76zFsgVW1apF6dpYsqGyH8SIeCcM4pTEsRTWTLCaJIMKFEundsCKwY1rwfhtrio04RJ4Dw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/css-color-parser": "^3.1.0",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-gradients-interpolation-method": {
+ "version": "5.0.12",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.12.tgz",
+ "integrity": "sha512-jugzjwkUY0wtNrZlFeyXzimUL3hN4xMvoPnIXxoZqxDvjZRiSh+itgHcVUWzJ2VwD/VAMEgCLvtaJHX+4Vj3Ow==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/css-color-parser": "^3.1.0",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-hwb-function": {
+ "version": "4.0.12",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.12.tgz",
+ "integrity": "sha512-mL/+88Z53KrE4JdePYFJAQWFrcADEqsLprExCM04GDNgHIztwFzj0Mbhd/yxMBngq0NIlz58VVxjt5abNs1VhA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/css-color-parser": "^3.1.0",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-ic-unit": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-4.0.4.tgz",
+ "integrity": "sha512-yQ4VmossuOAql65sCPppVO1yfb7hDscf4GseF0VCA/DTDaBc0Wtf8MTqVPfjGYlT5+2buokG0Gp7y0atYZpwjg==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-initial": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-initial/-/postcss-initial-2.0.1.tgz",
+ "integrity": "sha512-L1wLVMSAZ4wovznquK0xmC7QSctzO4D0Is590bxpGqhqjboLXYA16dWZpfwImkdOgACdQ9PqXsuRroW6qPlEsg==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-is-pseudo-class": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-5.0.3.tgz",
+ "integrity": "sha512-jS/TY4SpG4gszAtIg7Qnf3AS2pjcUM5SzxpApOrlndMeGhIbaTzWBzzP/IApXoNWEW7OhcjkRT48jnAUIFXhAQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/selector-specificity": "^5.0.0",
+ "postcss-selector-parser": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-is-pseudo-class/node_modules/@csstools/selector-specificity": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz",
+ "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss-selector-parser": "^7.0.0"
+ }
+ },
+ "node_modules/@csstools/postcss-is-pseudo-class/node_modules/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==",
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@csstools/postcss-light-dark-function": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-light-dark-function/-/postcss-light-dark-function-2.0.11.tgz",
+ "integrity": "sha512-fNJcKXJdPM3Lyrbmgw2OBbaioU7yuKZtiXClf4sGdQttitijYlZMD5K7HrC/eF83VRWRrYq6OZ0Lx92leV2LFA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-logical-float-and-clear": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-3.0.0.tgz",
+ "integrity": "sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-logical-overflow": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overflow/-/postcss-logical-overflow-2.0.0.tgz",
+ "integrity": "sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-logical-overscroll-behavior": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overscroll-behavior/-/postcss-logical-overscroll-behavior-2.0.0.tgz",
+ "integrity": "sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-logical-resize": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-resize/-/postcss-logical-resize-3.0.0.tgz",
+ "integrity": "sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-logical-viewport-units": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-3.0.4.tgz",
+ "integrity": "sha512-q+eHV1haXA4w9xBwZLKjVKAWn3W2CMqmpNpZUk5kRprvSiBEGMgrNH3/sJZ8UA3JgyHaOt3jwT9uFa4wLX4EqQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/utilities": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-media-minmax": {
+ "version": "2.0.9",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-2.0.9.tgz",
+ "integrity": "sha512-af9Qw3uS3JhYLnCbqtZ9crTvvkR+0Se+bBqSr7ykAnl9yKhk6895z9rf+2F4dClIDJWxgn0iZZ1PSdkhrbs2ig==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "@csstools/css-calc": "^2.1.4",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/media-query-list-parser": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-3.0.5.tgz",
+ "integrity": "sha512-zhAe31xaaXOY2Px8IYfoVTB3wglbJUVigGphFLj6exb7cjZRH9A6adyE22XfFK3P2PzwRk0VDeTJmaxpluyrDg==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/media-query-list-parser": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-nested-calc": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-4.0.0.tgz",
+ "integrity": "sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/utilities": "^2.0.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-normalize-display-values": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.1.tgz",
+ "integrity": "sha512-TQUGBuRvxdc7TgNSTevYqrL8oItxiwPDixk20qCB5me/W8uF7BPbhRrAvFuhEoywQp/woRsUZ6SJ+sU5idZAIA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-oklab-function": {
+ "version": "4.0.12",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.12.tgz",
+ "integrity": "sha512-HhlSmnE1NKBhXsTnNGjxvhryKtO7tJd1w42DKOGFD6jSHtYOrsJTQDKPMwvOfrzUAk8t7GcpIfRyM7ssqHpFjg==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/css-color-parser": "^3.1.0",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-position-area-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-position-area-property/-/postcss-position-area-property-1.0.0.tgz",
+ "integrity": "sha512-fUP6KR8qV2NuUZV3Cw8itx0Ep90aRjAZxAEzC3vrl6yjFv+pFsQbR18UuQctEKmA72K9O27CoYiKEgXxkqjg8Q==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-progressive-custom-properties": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-4.2.1.tgz",
+ "integrity": "sha512-uPiiXf7IEKtUQXsxu6uWtOlRMXd2QWWy5fhxHDnPdXKCQckPP3E34ZgDoZ62r2iT+UOgWsSbM4NvHE5m3mAEdw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-property-rule-prelude-list": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-property-rule-prelude-list/-/postcss-property-rule-prelude-list-1.0.0.tgz",
+ "integrity": "sha512-IxuQjUXq19fobgmSSvUDO7fVwijDJaZMvWQugxfEUxmjBeDCVaDuMpsZ31MsTm5xbnhA+ElDi0+rQ7sQQGisFA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-random-function": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-random-function/-/postcss-random-function-2.0.1.tgz",
+ "integrity": "sha512-q+FQaNiRBhnoSNo+GzqGOIBKoHQ43lYz0ICrV+UudfWnEF6ksS6DsBIJSISKQT2Bvu3g4k6r7t0zYrk5pDlo8w==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/css-calc": "^2.1.4",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-relative-color-syntax": {
+ "version": "3.0.12",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.12.tgz",
+ "integrity": "sha512-0RLIeONxu/mtxRtf3o41Lq2ghLimw0w9ByLWnnEVuy89exmEEq8bynveBxNW3nyHqLAFEeNtVEmC1QK9MZ8Huw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/css-color-parser": "^3.1.0",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-scope-pseudo-class": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-4.0.1.tgz",
+ "integrity": "sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "postcss-selector-parser": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-scope-pseudo-class/node_modules/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==",
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@csstools/postcss-sign-functions": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-sign-functions/-/postcss-sign-functions-1.1.4.tgz",
+ "integrity": "sha512-P97h1XqRPcfcJndFdG95Gv/6ZzxUBBISem0IDqPZ7WMvc/wlO+yU0c5D/OCpZ5TJoTt63Ok3knGk64N+o6L2Pg==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/css-calc": "^2.1.4",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-stepped-value-functions": {
+ "version": "4.0.9",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-4.0.9.tgz",
+ "integrity": "sha512-h9btycWrsex4dNLeQfyU3y3w40LMQooJWFMm/SK9lrKguHDcFl4VMkncKKoXi2z5rM9YGWbUQABI8BT2UydIcA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/css-calc": "^2.1.4",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-syntax-descriptor-syntax-production": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-syntax-descriptor-syntax-production/-/postcss-syntax-descriptor-syntax-production-1.0.1.tgz",
+ "integrity": "sha512-GneqQWefjM//f4hJ/Kbox0C6f2T7+pi4/fqTqOFGTL3EjnvOReTqO1qUQ30CaUjkwjYq9qZ41hzarrAxCc4gow==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/css-tokenizer": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-system-ui-font-family": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-system-ui-font-family/-/postcss-system-ui-font-family-1.0.0.tgz",
+ "integrity": "sha512-s3xdBvfWYfoPSBsikDXbuorcMG1nN1M6GdU0qBsGfcmNR0A/qhloQZpTxjA3Xsyrk1VJvwb2pOfiOT3at/DuIQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-text-decoration-shorthand": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-4.0.3.tgz",
+ "integrity": "sha512-KSkGgZfx0kQjRIYnpsD7X2Om9BUXX/Kii77VBifQW9Ih929hK0KNjVngHDH0bFB9GmfWcR9vJYJJRvw/NQjkrA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/color-helpers": "^5.1.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-trigonometric-functions": {
+ "version": "4.0.9",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-4.0.9.tgz",
+ "integrity": "sha512-Hnh5zJUdpNrJqK9v1/E3BbrQhaDTj5YiX7P61TOvUhoDHnUmsNNxcDAgkQ32RrcWx9GVUvfUNPcUkn8R3vIX6A==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/css-calc": "^2.1.4",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-unset-value": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-4.0.0.tgz",
+ "integrity": "sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/utilities": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/utilities/-/utilities-2.0.0.tgz",
+ "integrity": "sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@discoveryjs/json-ext": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
+ "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/@docsearch/core": {
+ "version": "4.5.3",
+ "resolved": "https://registry.npmjs.org/@docsearch/core/-/core-4.5.3.tgz",
+ "integrity": "sha512-x/P5+HVzv9ALtbuJIfpkF8Eyc5RE8YCsFcOgLrrtWa9Ui+53ggZA5seIAanCRORbS4+m982lu7rZmebSiuMIcw==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": ">= 16.8.0 < 20.0.0",
+ "react": ">= 16.8.0 < 20.0.0",
+ "react-dom": ">= 16.8.0 < 20.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@docsearch/css": {
+ "version": "4.5.3",
+ "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-4.5.3.tgz",
+ "integrity": "sha512-kUpHaxn0AgI3LQfyzTYkNUuaFY4uEz/Ym9/N/FvyDE+PzSgZsCyDH9jE49B6N6f1eLCm9Yp64J9wENd6vypdxA==",
+ "license": "MIT"
+ },
+ "node_modules/@docsearch/react": {
+ "version": "4.5.3",
+ "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-4.5.3.tgz",
+ "integrity": "sha512-Hm3Lg/FD9HXV57WshhWOHOprbcObF5ptLzcjA5zdgJDzYOMwEN+AvY8heQ5YMTWyC6kW2d+Qk25AVlHnDWMSvA==",
+ "license": "MIT",
+ "dependencies": {
+ "@docsearch/core": "4.5.3",
+ "@docsearch/css": "4.5.3"
+ },
+ "peerDependencies": {
+ "@types/react": ">= 16.8.0 < 20.0.0",
+ "react": ">= 16.8.0 < 20.0.0",
+ "react-dom": ">= 16.8.0 < 20.0.0",
+ "search-insights": ">= 1 < 3"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ },
+ "search-insights": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@docusaurus/babel": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/babel/-/babel-3.9.2.tgz",
+ "integrity": "sha512-GEANdi/SgER+L7Japs25YiGil/AUDnFFHaCGPBbundxoWtCkA2lmy7/tFmgED4y1htAy6Oi4wkJEQdGssnw9MA==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.25.9",
"@babel/generator": "^7.25.9",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/plugin-transform-runtime": "^7.25.9",
@@ -2295,42 +3389,41 @@
"@babel/runtime": "^7.25.9",
"@babel/runtime-corejs3": "^7.25.9",
"@babel/traverse": "^7.25.9",
- "@docusaurus/logger": "3.6.0",
- "@docusaurus/utils": "3.6.0",
+ "@docusaurus/logger": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
"babel-plugin-dynamic-import-node": "^2.3.3",
"fs-extra": "^11.1.1",
"tslib": "^2.6.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
}
},
"node_modules/@docusaurus/bundler": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@docusaurus/bundler/-/bundler-3.6.0.tgz",
- "integrity": "sha512-o5T9HXkPKH0OQAifTxEXaebcO8kaz3tU1+wlIShZ2DKJHlsyWX3N4rToWBHroWnV/ZCT2XN3kLRzXASqrnb9Tw==",
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/bundler/-/bundler-3.9.2.tgz",
+ "integrity": "sha512-ZOVi6GYgTcsZcUzjblpzk3wH1Fya2VNpd5jtHoCCFcJlMQ1EYXZetfAnRHLcyiFeBABaI1ltTYbOBtH/gahGVA==",
"license": "MIT",
"dependencies": {
"@babel/core": "^7.25.9",
- "@docusaurus/babel": "3.6.0",
- "@docusaurus/cssnano-preset": "3.6.0",
- "@docusaurus/logger": "3.6.0",
- "@docusaurus/types": "3.6.0",
- "@docusaurus/utils": "3.6.0",
- "autoprefixer": "^10.4.14",
+ "@docusaurus/babel": "3.9.2",
+ "@docusaurus/cssnano-preset": "3.9.2",
+ "@docusaurus/logger": "3.9.2",
+ "@docusaurus/types": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
"babel-loader": "^9.2.1",
- "clean-css": "^5.3.2",
+ "clean-css": "^5.3.3",
"copy-webpack-plugin": "^11.0.0",
- "css-loader": "^6.8.1",
+ "css-loader": "^6.11.0",
"css-minimizer-webpack-plugin": "^5.0.1",
"cssnano": "^6.1.2",
"file-loader": "^6.2.0",
"html-minifier-terser": "^7.2.0",
- "mini-css-extract-plugin": "^2.9.1",
+ "mini-css-extract-plugin": "^2.9.2",
"null-loader": "^4.0.1",
- "postcss": "^8.4.26",
- "postcss-loader": "^7.3.3",
- "react-dev-utils": "^12.0.1",
+ "postcss": "^8.5.4",
+ "postcss-loader": "^7.3.4",
+ "postcss-preset-env": "^10.2.1",
"terser-webpack-plugin": "^5.3.9",
"tslib": "^2.6.0",
"url-loader": "^4.1.1",
@@ -2338,10 +3431,10 @@
"webpackbar": "^6.0.1"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
- "@docusaurus/faster": "3.5.2"
+ "@docusaurus/faster": "*"
},
"peerDependenciesMeta": {
"@docusaurus/faster": {
@@ -2350,18 +3443,18 @@
}
},
"node_modules/@docusaurus/core": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.6.0.tgz",
- "integrity": "sha512-lvRgMoKJJSRDt9+HhAqFcICV4kp/mw1cJJrLxIw4Q2XZnFGM1XUuwcbuaqWmGog+NcOLZaPCcCtZbn60EMCtjQ==",
- "license": "MIT",
- "dependencies": {
- "@docusaurus/babel": "3.6.0",
- "@docusaurus/bundler": "3.6.0",
- "@docusaurus/logger": "3.6.0",
- "@docusaurus/mdx-loader": "3.6.0",
- "@docusaurus/utils": "3.6.0",
- "@docusaurus/utils-common": "3.6.0",
- "@docusaurus/utils-validation": "3.6.0",
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.9.2.tgz",
+ "integrity": "sha512-HbjwKeC+pHUFBfLMNzuSjqFE/58+rLVKmOU3lxQrpsxLBOGosYco/Q0GduBb0/jEMRiyEqjNT/01rRdOMWq5pw==",
+ "license": "MIT",
+ "dependencies": {
+ "@docusaurus/babel": "3.9.2",
+ "@docusaurus/bundler": "3.9.2",
+ "@docusaurus/logger": "3.9.2",
+ "@docusaurus/mdx-loader": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "@docusaurus/utils-common": "3.9.2",
+ "@docusaurus/utils-validation": "3.9.2",
"boxen": "^6.2.1",
"chalk": "^4.1.2",
"chokidar": "^3.5.3",
@@ -2369,46 +3462,45 @@
"combine-promises": "^1.1.0",
"commander": "^5.1.0",
"core-js": "^3.31.1",
- "del": "^6.1.1",
"detect-port": "^1.5.1",
"escape-html": "^1.0.3",
"eta": "^2.2.0",
"eval": "^0.1.8",
+ "execa": "5.1.1",
"fs-extra": "^11.1.1",
"html-tags": "^3.3.1",
"html-webpack-plugin": "^5.6.0",
"leven": "^3.1.0",
"lodash": "^4.17.21",
+ "open": "^8.4.0",
"p-map": "^4.0.0",
"prompts": "^2.4.2",
- "react-dev-utils": "^12.0.1",
- "react-helmet-async": "^1.3.0",
+ "react-helmet-async": "npm:@slorber/react-helmet-async@1.3.0",
"react-loadable": "npm:@docusaurus/react-loadable@6.0.0",
"react-loadable-ssr-addon-v5-slorber": "^1.0.1",
"react-router": "^5.3.4",
"react-router-config": "^5.1.1",
"react-router-dom": "^5.3.4",
- "rtl-detect": "^1.0.4",
"semver": "^7.5.4",
"serve-handler": "^6.1.6",
- "shelljs": "^0.8.5",
+ "tinypool": "^1.0.2",
"tslib": "^2.6.0",
"update-notifier": "^6.0.2",
"webpack": "^5.95.0",
"webpack-bundle-analyzer": "^4.10.2",
- "webpack-dev-server": "^4.15.2",
+ "webpack-dev-server": "^5.2.2",
"webpack-merge": "^6.0.1"
},
"bin": {
"docusaurus": "bin/docusaurus.mjs"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
"@mdx-js/react": "^3.0.0",
- "react": "^18.0.0",
- "react-dom": "^18.0.0"
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
"node_modules/@docusaurus/core/node_modules/webpack-merge": {
@@ -2426,24 +3518,24 @@
}
},
"node_modules/@docusaurus/cssnano-preset": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.6.0.tgz",
- "integrity": "sha512-h3jlOXqqzNSoU+C4CZLNpFtD+v2xr1UBf4idZpwMgqid9r6lb5GS7tWKnQnauio6OipacbHbDXEX3JyT1PlDkg==",
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.9.2.tgz",
+ "integrity": "sha512-8gBKup94aGttRduABsj7bpPFTX7kbwu+xh3K9NMCF5K4bWBqTFYW+REKHF6iBVDHRJ4grZdIPbvkiHd/XNKRMQ==",
"license": "MIT",
"dependencies": {
"cssnano-preset-advanced": "^6.1.2",
- "postcss": "^8.4.38",
+ "postcss": "^8.5.4",
"postcss-sort-media-queries": "^5.2.0",
"tslib": "^2.6.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
}
},
"node_modules/@docusaurus/eslint-plugin": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@docusaurus/eslint-plugin/-/eslint-plugin-3.6.0.tgz",
- "integrity": "sha512-ILTdyegGbX0pbjDc2mqerO8WsCO7NBAsH/HOMoN6VvfV5T9J52rEG4DfGZXFAKAGLsH9J5Ct7vkTb5jTViZK2Q==",
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/eslint-plugin/-/eslint-plugin-3.9.2.tgz",
+ "integrity": "sha512-LnCrmrR4EtzpSiq6aoSfiY0Lf8P0WslGbBFZJ0olKXJIMxey8dpKevT1K/+tN87Lbn2H/VrdGGSPGlfVKmihAQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2451,41 +3543,41 @@
"tslib": "^2.6.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
"eslint": ">=6"
}
},
"node_modules/@docusaurus/logger": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.6.0.tgz",
- "integrity": "sha512-BcQhoXilXW0607cH/kO6P5Gt5KxCGfoJ+QDKNf3yO2S09/RsITlW+0QljXPbI3DklTrHrhRDmgGk1yX4nUhWTA==",
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.9.2.tgz",
+ "integrity": "sha512-/SVCc57ByARzGSU60c50rMyQlBuMIJCjcsJlkphxY6B0GV4UH3tcA1994N8fFfbJ9kX3jIBe/xg3XP5qBtGDbA==",
"license": "MIT",
"dependencies": {
"chalk": "^4.1.2",
"tslib": "^2.6.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
}
},
"node_modules/@docusaurus/mdx-loader": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.6.0.tgz",
- "integrity": "sha512-GhRzL1Af/AdSSrGesSPOU/iP/aXadTGmVKuysCxZDrQR2RtBtubQZ9aw+KvdFVV7R4K/CsbgD6J5oqrXlEPk3Q==",
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.9.2.tgz",
+ "integrity": "sha512-wiYoGwF9gdd6rev62xDU8AAM8JuLI/hlwOtCzMmYcspEkzecKrP8J8X+KpYnTlACBUUtXNJpSoCwFWJhLRevzQ==",
"license": "MIT",
"dependencies": {
- "@docusaurus/logger": "3.6.0",
- "@docusaurus/utils": "3.6.0",
- "@docusaurus/utils-validation": "3.6.0",
+ "@docusaurus/logger": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "@docusaurus/utils-validation": "3.9.2",
"@mdx-js/mdx": "^3.0.0",
"@slorber/remark-comment": "^1.0.0",
"escape-html": "^1.0.3",
"estree-util-value-to-estree": "^3.0.1",
"file-loader": "^6.2.0",
"fs-extra": "^11.1.1",
- "image-size": "^1.0.2",
+ "image-size": "^2.0.2",
"mdast-util-mdx": "^3.0.0",
"mdast-util-to-string": "^4.0.0",
"rehype-raw": "^7.0.0",
@@ -2502,25 +3594,25 @@
"webpack": "^5.88.1"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
- "react": "^18.0.0",
- "react-dom": "^18.0.0"
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
"node_modules/@docusaurus/module-type-aliases": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.6.0.tgz",
- "integrity": "sha512-szTrIN/6/fuk0xkf3XbRfdTFJzRQ8d1s3sQj5++58wltrT7v3yn1149oc9ryYjMpRcbsarGloQwMu7ofPe4XPg==",
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.9.2.tgz",
+ "integrity": "sha512-8qVe2QA9hVLzvnxP46ysuofJUIc/yYQ82tvA/rBTrnpXtCjNSFLxEZfd5U8cYZuJIVlkPxamsIgwd5tGZXfvew==",
"license": "MIT",
"dependencies": {
- "@docusaurus/types": "3.6.0",
+ "@docusaurus/types": "3.9.2",
"@types/history": "^4.7.11",
"@types/react": "*",
"@types/react-router-config": "*",
"@types/react-router-dom": "*",
- "react-helmet-async": "*",
+ "react-helmet-async": "npm:@slorber/react-helmet-async@1.3.0",
"react-loadable": "npm:@docusaurus/react-loadable@6.0.0"
},
"peerDependencies": {
@@ -2529,48 +3621,48 @@
}
},
"node_modules/@docusaurus/plugin-client-redirects": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.6.0.tgz",
- "integrity": "sha512-LIqRT6dtgxdENQH8XYwOOyxfKuzFD1ayJmIDCp9Yi/rbdcPE4vvTcESLGXOKvcyWZSfyCu+JA8Tyk4qpp+2J0w==",
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.9.2.tgz",
+ "integrity": "sha512-lUgMArI9vyOYMzLRBUILcg9vcPTCyyI2aiuXq/4npcMVqOr6GfmwtmBYWSbNMlIUM0147smm4WhpXD0KFboffw==",
"license": "MIT",
"dependencies": {
- "@docusaurus/core": "3.6.0",
- "@docusaurus/logger": "3.6.0",
- "@docusaurus/utils": "3.6.0",
- "@docusaurus/utils-common": "3.6.0",
- "@docusaurus/utils-validation": "3.6.0",
+ "@docusaurus/core": "3.9.2",
+ "@docusaurus/logger": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "@docusaurus/utils-common": "3.9.2",
+ "@docusaurus/utils-validation": "3.9.2",
"eta": "^2.2.0",
"fs-extra": "^11.1.1",
"lodash": "^4.17.21",
"tslib": "^2.6.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
- "react": "^18.0.0",
- "react-dom": "^18.0.0"
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
"node_modules/@docusaurus/plugin-content-blog": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.6.0.tgz",
- "integrity": "sha512-o4aT1/E0Ldpzs/hQff5uyoSriAhS/yqBhqSn+fvSw465AaqRsva6O7CZSYleuBq6x2bewyE3QJq2PcTiHhAd8g==",
- "license": "MIT",
- "dependencies": {
- "@docusaurus/core": "3.6.0",
- "@docusaurus/logger": "3.6.0",
- "@docusaurus/mdx-loader": "3.6.0",
- "@docusaurus/theme-common": "3.6.0",
- "@docusaurus/types": "3.6.0",
- "@docusaurus/utils": "3.6.0",
- "@docusaurus/utils-common": "3.6.0",
- "@docusaurus/utils-validation": "3.6.0",
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.9.2.tgz",
+ "integrity": "sha512-3I2HXy3L1QcjLJLGAoTvoBnpOwa6DPUa3Q0dMK19UTY9mhPkKQg/DYhAGTiBUKcTR0f08iw7kLPqOhIgdV3eVQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@docusaurus/core": "3.9.2",
+ "@docusaurus/logger": "3.9.2",
+ "@docusaurus/mdx-loader": "3.9.2",
+ "@docusaurus/theme-common": "3.9.2",
+ "@docusaurus/types": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "@docusaurus/utils-common": "3.9.2",
+ "@docusaurus/utils-validation": "3.9.2",
"cheerio": "1.0.0-rc.12",
"feed": "^4.2.2",
"fs-extra": "^11.1.1",
"lodash": "^4.17.21",
- "reading-time": "^1.5.0",
+ "schema-dts": "^1.1.2",
"srcset": "^4.0.0",
"tslib": "^2.6.0",
"unist-util-visit": "^5.0.0",
@@ -2578,226 +3670,267 @@
"webpack": "^5.88.1"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
"@docusaurus/plugin-content-docs": "*",
- "react": "^18.0.0",
- "react-dom": "^18.0.0"
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
"node_modules/@docusaurus/plugin-content-docs": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.6.0.tgz",
- "integrity": "sha512-c5gZOxocJKO/Zev2MEZInli+b+VNswDGuKHE6QtFgidhAJonwjh2kwj967RvWFaMMk62HlLJLZ+IGK2XsVy4Aw==",
- "license": "MIT",
- "dependencies": {
- "@docusaurus/core": "3.6.0",
- "@docusaurus/logger": "3.6.0",
- "@docusaurus/mdx-loader": "3.6.0",
- "@docusaurus/module-type-aliases": "3.6.0",
- "@docusaurus/theme-common": "3.6.0",
- "@docusaurus/types": "3.6.0",
- "@docusaurus/utils": "3.6.0",
- "@docusaurus/utils-common": "3.6.0",
- "@docusaurus/utils-validation": "3.6.0",
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.9.2.tgz",
+ "integrity": "sha512-C5wZsGuKTY8jEYsqdxhhFOe1ZDjH0uIYJ9T/jebHwkyxqnr4wW0jTkB72OMqNjsoQRcb0JN3PcSeTwFlVgzCZg==",
+ "license": "MIT",
+ "dependencies": {
+ "@docusaurus/core": "3.9.2",
+ "@docusaurus/logger": "3.9.2",
+ "@docusaurus/mdx-loader": "3.9.2",
+ "@docusaurus/module-type-aliases": "3.9.2",
+ "@docusaurus/theme-common": "3.9.2",
+ "@docusaurus/types": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "@docusaurus/utils-common": "3.9.2",
+ "@docusaurus/utils-validation": "3.9.2",
"@types/react-router-config": "^5.0.7",
"combine-promises": "^1.1.0",
"fs-extra": "^11.1.1",
"js-yaml": "^4.1.0",
"lodash": "^4.17.21",
+ "schema-dts": "^1.1.2",
"tslib": "^2.6.0",
"utility-types": "^3.10.0",
"webpack": "^5.88.1"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
- "react": "^18.0.0",
- "react-dom": "^18.0.0"
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
"node_modules/@docusaurus/plugin-content-pages": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.6.0.tgz",
- "integrity": "sha512-RKHhJrfkadHc7+tt1cP48NWifOrhkSRMPdXNYytzhoQrXlP6Ph+3tfQ4/n+nT0S3Y9+wwRxYqRqA380ZLt+QtQ==",
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.9.2.tgz",
+ "integrity": "sha512-s4849w/p4noXUrGpPUF0BPqIAfdAe76BLaRGAGKZ1gTDNiGxGcpsLcwJ9OTi1/V8A+AzvsmI9pkjie2zjIQZKA==",
"license": "MIT",
"dependencies": {
- "@docusaurus/core": "3.6.0",
- "@docusaurus/mdx-loader": "3.6.0",
- "@docusaurus/types": "3.6.0",
- "@docusaurus/utils": "3.6.0",
- "@docusaurus/utils-validation": "3.6.0",
+ "@docusaurus/core": "3.9.2",
+ "@docusaurus/mdx-loader": "3.9.2",
+ "@docusaurus/types": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "@docusaurus/utils-validation": "3.9.2",
"fs-extra": "^11.1.1",
"tslib": "^2.6.0",
"webpack": "^5.88.1"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
- "react": "^18.0.0",
- "react-dom": "^18.0.0"
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@docusaurus/plugin-css-cascade-layers": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-css-cascade-layers/-/plugin-css-cascade-layers-3.9.2.tgz",
+ "integrity": "sha512-w1s3+Ss+eOQbscGM4cfIFBlVg/QKxyYgj26k5AnakuHkKxH6004ZtuLe5awMBotIYF2bbGDoDhpgQ4r/kcj4rQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@docusaurus/core": "3.9.2",
+ "@docusaurus/types": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "@docusaurus/utils-validation": "3.9.2",
+ "tslib": "^2.6.0"
+ },
+ "engines": {
+ "node": ">=20.0"
}
},
"node_modules/@docusaurus/plugin-debug": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.6.0.tgz",
- "integrity": "sha512-o8T1Rl94COLdSlKvjYLQpRJQRU8WWZ8EX1B0yV0dQLNN8reyH7MQW+6z1ig4sQFfH3pnjPWVGHfuEjcib5m7Eg==",
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.9.2.tgz",
+ "integrity": "sha512-j7a5hWuAFxyQAkilZwhsQ/b3T7FfHZ+0dub6j/GxKNFJp2h9qk/P1Bp7vrGASnvA9KNQBBL1ZXTe7jlh4VdPdA==",
"license": "MIT",
"dependencies": {
- "@docusaurus/core": "3.6.0",
- "@docusaurus/types": "3.6.0",
- "@docusaurus/utils": "3.6.0",
+ "@docusaurus/core": "3.9.2",
+ "@docusaurus/types": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
"fs-extra": "^11.1.1",
- "react-json-view-lite": "^1.2.0",
+ "react-json-view-lite": "^2.3.0",
"tslib": "^2.6.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
- "react": "^18.0.0",
- "react-dom": "^18.0.0"
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
"node_modules/@docusaurus/plugin-google-analytics": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.6.0.tgz",
- "integrity": "sha512-kgRFbfpi6Hshj75YUztKyEMtI/kw0trPRwoTN4g+W1NK99R/vh8phTvhBTIMnDbetU79795LkwfG0rZ/ce6zWQ==",
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.9.2.tgz",
+ "integrity": "sha512-mAwwQJ1Us9jL/lVjXtErXto4p4/iaLlweC54yDUK1a97WfkC6Z2k5/769JsFgwOwOP+n5mUQGACXOEQ0XDuVUw==",
"license": "MIT",
"dependencies": {
- "@docusaurus/core": "3.6.0",
- "@docusaurus/types": "3.6.0",
- "@docusaurus/utils-validation": "3.6.0",
+ "@docusaurus/core": "3.9.2",
+ "@docusaurus/types": "3.9.2",
+ "@docusaurus/utils-validation": "3.9.2",
"tslib": "^2.6.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
- "react": "^18.0.0",
- "react-dom": "^18.0.0"
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
"node_modules/@docusaurus/plugin-google-gtag": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.6.0.tgz",
- "integrity": "sha512-nqu4IfjaO4UX+dojHL2BxHRS+sKj31CIMWYo49huQ3wTET0Oc3u/WGTaKd3ShTPDhkgiRhTOSTPUwJWrU55nHg==",
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.9.2.tgz",
+ "integrity": "sha512-YJ4lDCphabBtw19ooSlc1MnxtYGpjFV9rEdzjLsUnBCeis2djUyCozZaFhCg6NGEwOn7HDDyMh0yzcdRpnuIvA==",
"license": "MIT",
"dependencies": {
- "@docusaurus/core": "3.6.0",
- "@docusaurus/types": "3.6.0",
- "@docusaurus/utils-validation": "3.6.0",
+ "@docusaurus/core": "3.9.2",
+ "@docusaurus/types": "3.9.2",
+ "@docusaurus/utils-validation": "3.9.2",
"@types/gtag.js": "^0.0.12",
"tslib": "^2.6.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
- "react": "^18.0.0",
- "react-dom": "^18.0.0"
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
"node_modules/@docusaurus/plugin-google-tag-manager": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.6.0.tgz",
- "integrity": "sha512-OU6c5xI0nOVbEc9eImGvvsgNWe4vGm97t/W3aLHjWsHyNk3uwFNBQMHRvBUwAi9k/K3kyC5E7DWnc67REhdLOw==",
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.9.2.tgz",
+ "integrity": "sha512-LJtIrkZN/tuHD8NqDAW1Tnw0ekOwRTfobWPsdO15YxcicBo2ykKF0/D6n0vVBfd3srwr9Z6rzrIWYrMzBGrvNw==",
"license": "MIT",
"dependencies": {
- "@docusaurus/core": "3.6.0",
- "@docusaurus/types": "3.6.0",
- "@docusaurus/utils-validation": "3.6.0",
+ "@docusaurus/core": "3.9.2",
+ "@docusaurus/types": "3.9.2",
+ "@docusaurus/utils-validation": "3.9.2",
"tslib": "^2.6.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
- "react": "^18.0.0",
- "react-dom": "^18.0.0"
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
"node_modules/@docusaurus/plugin-sitemap": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.6.0.tgz",
- "integrity": "sha512-YB5XMdf9FjLhgbHY/cDbYhVxsgcpPIjxY9769HUgFOB7GVzItTLOR71W035R1BiR2CA5QAn3XOSg36WLRxlhQQ==",
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.9.2.tgz",
+ "integrity": "sha512-WLh7ymgDXjG8oPoM/T4/zUP7KcSuFYRZAUTl8vR6VzYkfc18GBM4xLhcT+AKOwun6kBivYKUJf+vlqYJkm+RHw==",
"license": "MIT",
"dependencies": {
- "@docusaurus/core": "3.6.0",
- "@docusaurus/logger": "3.6.0",
- "@docusaurus/types": "3.6.0",
- "@docusaurus/utils": "3.6.0",
- "@docusaurus/utils-common": "3.6.0",
- "@docusaurus/utils-validation": "3.6.0",
+ "@docusaurus/core": "3.9.2",
+ "@docusaurus/logger": "3.9.2",
+ "@docusaurus/types": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "@docusaurus/utils-common": "3.9.2",
+ "@docusaurus/utils-validation": "3.9.2",
"fs-extra": "^11.1.1",
"sitemap": "^7.1.1",
"tslib": "^2.6.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
+ },
+ "peerDependencies": {
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@docusaurus/plugin-svgr": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-svgr/-/plugin-svgr-3.9.2.tgz",
+ "integrity": "sha512-n+1DE+5b3Lnf27TgVU5jM1d4x5tUh2oW5LTsBxJX4PsAPV0JGcmI6p3yLYtEY0LRVEIJh+8RsdQmRE66wSV8mw==",
+ "license": "MIT",
+ "dependencies": {
+ "@docusaurus/core": "3.9.2",
+ "@docusaurus/types": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "@docusaurus/utils-validation": "3.9.2",
+ "@svgr/core": "8.1.0",
+ "@svgr/webpack": "^8.1.0",
+ "tslib": "^2.6.0",
+ "webpack": "^5.88.1"
+ },
+ "engines": {
+ "node": ">=20.0"
},
"peerDependencies": {
- "react": "^18.0.0",
- "react-dom": "^18.0.0"
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
"node_modules/@docusaurus/preset-classic": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.6.0.tgz",
- "integrity": "sha512-kpGNdQzr/Dpm7o3b1iaQrz4DMDx3WIeBbl4V4P4maa2zAQkTdlaP4CMgA5oKrRrpqPLnQFsUM/b+qf2glhl2Tw==",
- "license": "MIT",
- "dependencies": {
- "@docusaurus/core": "3.6.0",
- "@docusaurus/plugin-content-blog": "3.6.0",
- "@docusaurus/plugin-content-docs": "3.6.0",
- "@docusaurus/plugin-content-pages": "3.6.0",
- "@docusaurus/plugin-debug": "3.6.0",
- "@docusaurus/plugin-google-analytics": "3.6.0",
- "@docusaurus/plugin-google-gtag": "3.6.0",
- "@docusaurus/plugin-google-tag-manager": "3.6.0",
- "@docusaurus/plugin-sitemap": "3.6.0",
- "@docusaurus/theme-classic": "3.6.0",
- "@docusaurus/theme-common": "3.6.0",
- "@docusaurus/theme-search-algolia": "3.6.0",
- "@docusaurus/types": "3.6.0"
- },
- "engines": {
- "node": ">=18.0"
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.9.2.tgz",
+ "integrity": "sha512-IgyYO2Gvaigi21LuDIe+nvmN/dfGXAiMcV/murFqcpjnZc7jxFAxW+9LEjdPt61uZLxG4ByW/oUmX/DDK9t/8w==",
+ "license": "MIT",
+ "dependencies": {
+ "@docusaurus/core": "3.9.2",
+ "@docusaurus/plugin-content-blog": "3.9.2",
+ "@docusaurus/plugin-content-docs": "3.9.2",
+ "@docusaurus/plugin-content-pages": "3.9.2",
+ "@docusaurus/plugin-css-cascade-layers": "3.9.2",
+ "@docusaurus/plugin-debug": "3.9.2",
+ "@docusaurus/plugin-google-analytics": "3.9.2",
+ "@docusaurus/plugin-google-gtag": "3.9.2",
+ "@docusaurus/plugin-google-tag-manager": "3.9.2",
+ "@docusaurus/plugin-sitemap": "3.9.2",
+ "@docusaurus/plugin-svgr": "3.9.2",
+ "@docusaurus/theme-classic": "3.9.2",
+ "@docusaurus/theme-common": "3.9.2",
+ "@docusaurus/theme-search-algolia": "3.9.2",
+ "@docusaurus/types": "3.9.2"
+ },
+ "engines": {
+ "node": ">=20.0"
},
"peerDependencies": {
- "react": "^18.0.0",
- "react-dom": "^18.0.0"
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
"node_modules/@docusaurus/theme-classic": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.6.0.tgz",
- "integrity": "sha512-sAXNfwPL6uRD+BuHuKXZfAXud7SS7IK/JdrPuzyQxdO1gJKzI5GFfe1ED1QoJDNWJWJ01JHE5rSnwYLEADc2rQ==",
- "license": "MIT",
- "dependencies": {
- "@docusaurus/core": "3.6.0",
- "@docusaurus/logger": "3.6.0",
- "@docusaurus/mdx-loader": "3.6.0",
- "@docusaurus/module-type-aliases": "3.6.0",
- "@docusaurus/plugin-content-blog": "3.6.0",
- "@docusaurus/plugin-content-docs": "3.6.0",
- "@docusaurus/plugin-content-pages": "3.6.0",
- "@docusaurus/theme-common": "3.6.0",
- "@docusaurus/theme-translations": "3.6.0",
- "@docusaurus/types": "3.6.0",
- "@docusaurus/utils": "3.6.0",
- "@docusaurus/utils-common": "3.6.0",
- "@docusaurus/utils-validation": "3.6.0",
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.9.2.tgz",
+ "integrity": "sha512-IGUsArG5hhekXd7RDb11v94ycpJpFdJPkLnt10fFQWOVxAtq5/D7hT6lzc2fhyQKaaCE62qVajOMKL7OiAFAIA==",
+ "license": "MIT",
+ "dependencies": {
+ "@docusaurus/core": "3.9.2",
+ "@docusaurus/logger": "3.9.2",
+ "@docusaurus/mdx-loader": "3.9.2",
+ "@docusaurus/module-type-aliases": "3.9.2",
+ "@docusaurus/plugin-content-blog": "3.9.2",
+ "@docusaurus/plugin-content-docs": "3.9.2",
+ "@docusaurus/plugin-content-pages": "3.9.2",
+ "@docusaurus/theme-common": "3.9.2",
+ "@docusaurus/theme-translations": "3.9.2",
+ "@docusaurus/types": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "@docusaurus/utils-common": "3.9.2",
+ "@docusaurus/utils-validation": "3.9.2",
"@mdx-js/react": "^3.0.0",
"clsx": "^2.0.0",
- "copy-text-to-clipboard": "^3.2.0",
"infima": "0.2.0-alpha.45",
"lodash": "^4.17.21",
"nprogress": "^0.2.0",
- "postcss": "^8.4.26",
+ "postcss": "^8.5.4",
"prism-react-renderer": "^2.3.0",
"prismjs": "^1.29.0",
"react-router-dom": "^5.3.4",
@@ -2806,23 +3939,23 @@
"utility-types": "^3.10.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
- "react": "^18.0.0",
- "react-dom": "^18.0.0"
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
"node_modules/@docusaurus/theme-common": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.6.0.tgz",
- "integrity": "sha512-frjlYE5sRs+GuPs4XXlp9aMLI2O4H5FPpznDAXBrCm+8EpWRiIb443ePMxM3IyMCQ5bwFlki0PI9C+r4apstnw==",
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.9.2.tgz",
+ "integrity": "sha512-6c4DAbR6n6nPbnZhY2V3tzpnKnGL+6aOsLvFL26VRqhlczli9eWG0VDUNoCQEPnGwDMhPS42UhSAnz5pThm5Ag==",
"license": "MIT",
"dependencies": {
- "@docusaurus/mdx-loader": "3.6.0",
- "@docusaurus/module-type-aliases": "3.6.0",
- "@docusaurus/utils": "3.6.0",
- "@docusaurus/utils-common": "3.6.0",
+ "@docusaurus/mdx-loader": "3.9.2",
+ "@docusaurus/module-type-aliases": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "@docusaurus/utils-common": "3.9.2",
"@types/history": "^4.7.11",
"@types/react": "*",
"@types/react-router-config": "*",
@@ -2833,30 +3966,30 @@
"utility-types": "^3.10.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
"@docusaurus/plugin-content-docs": "*",
- "react": "^18.0.0",
- "react-dom": "^18.0.0"
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
"node_modules/@docusaurus/theme-search-algolia": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.6.0.tgz",
- "integrity": "sha512-4IwRUkxjrisR8LXBHeE4d2btraWdMficbgiVL3UHvJURmyvgzMBZQP8KrK8rjdXeu8SuRxSmeV6NSVomRvdbEg==",
- "license": "MIT",
- "dependencies": {
- "@docsearch/react": "^3.5.2",
- "@docusaurus/core": "3.6.0",
- "@docusaurus/logger": "3.6.0",
- "@docusaurus/plugin-content-docs": "3.6.0",
- "@docusaurus/theme-common": "3.6.0",
- "@docusaurus/theme-translations": "3.6.0",
- "@docusaurus/utils": "3.6.0",
- "@docusaurus/utils-validation": "3.6.0",
- "algoliasearch": "^4.18.0",
- "algoliasearch-helper": "^3.13.3",
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.9.2.tgz",
+ "integrity": "sha512-GBDSFNwjnh5/LdkxCKQHkgO2pIMX1447BxYUBG2wBiajS21uj64a+gH/qlbQjDLxmGrbrllBrtJkUHxIsiwRnw==",
+ "license": "MIT",
+ "dependencies": {
+ "@docsearch/react": "^3.9.0 || ^4.1.0",
+ "@docusaurus/core": "3.9.2",
+ "@docusaurus/logger": "3.9.2",
+ "@docusaurus/plugin-content-docs": "3.9.2",
+ "@docusaurus/theme-common": "3.9.2",
+ "@docusaurus/theme-translations": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "@docusaurus/utils-validation": "3.9.2",
+ "algoliasearch": "^5.37.0",
+ "algoliasearch-helper": "^3.26.0",
"clsx": "^2.0.0",
"eta": "^2.2.0",
"fs-extra": "^11.1.1",
@@ -2865,57 +3998,59 @@
"utility-types": "^3.10.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
- "react": "^18.0.0",
- "react-dom": "^18.0.0"
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
"node_modules/@docusaurus/theme-translations": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.6.0.tgz",
- "integrity": "sha512-L555X8lWE3fv8VaF0Bc1VnAgi10UvRKFcvADHiYR7Gj37ItaWP5i7xLHsSw7fi/SHTXe5wfIeCFNqUYHyCOHAQ==",
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.9.2.tgz",
+ "integrity": "sha512-vIryvpP18ON9T9rjgMRFLr2xJVDpw1rtagEGf8Ccce4CkTrvM/fRB8N2nyWYOW5u3DdjkwKw5fBa+3tbn9P4PA==",
"license": "MIT",
"dependencies": {
"fs-extra": "^11.1.1",
"tslib": "^2.6.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
}
},
"node_modules/@docusaurus/types": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.6.0.tgz",
- "integrity": "sha512-jADLgoZGWhAzThr+mRiyuFD4OUzt6jHnb7NRArRKorgxckqUBaPyFOau9hhbcSTHtU6ceyeWjN7FDt7uG2Hplw==",
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.9.2.tgz",
+ "integrity": "sha512-Ux1JUNswg+EfUEmajJjyhIohKceitY/yzjRUpu04WXgvVz+fbhVC0p+R0JhvEu4ytw8zIAys2hrdpQPBHRIa8Q==",
"license": "MIT",
"dependencies": {
"@mdx-js/mdx": "^3.0.0",
"@types/history": "^4.7.11",
+ "@types/mdast": "^4.0.2",
"@types/react": "*",
"commander": "^5.1.0",
"joi": "^17.9.2",
- "react-helmet-async": "^1.3.0",
+ "react-helmet-async": "npm:@slorber/react-helmet-async@1.3.0",
"utility-types": "^3.10.0",
"webpack": "^5.95.0",
"webpack-merge": "^5.9.0"
},
"peerDependencies": {
- "react": "^18.0.0",
- "react-dom": "^18.0.0"
+ "react": "^18.0.0 || ^19.0.0",
+ "react-dom": "^18.0.0 || ^19.0.0"
}
},
"node_modules/@docusaurus/utils": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.6.0.tgz",
- "integrity": "sha512-VKczAutI4mptiAw/WcYEu5WeVhQ6Q1zdIUl64SGw9K++9lziH+Kt10Ee8l2dMpRkiUk6zzK20kMNlX2WCUwXYQ==",
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.9.2.tgz",
+ "integrity": "sha512-lBSBiRruFurFKXr5Hbsl2thmGweAPmddhF3jb99U4EMDA5L+e5Y1rAkOS07Nvrup7HUMBDrCV45meaxZnt28nQ==",
"license": "MIT",
"dependencies": {
- "@docusaurus/logger": "3.6.0",
- "@docusaurus/utils-common": "3.6.0",
- "@svgr/webpack": "^8.1.0",
+ "@docusaurus/logger": "3.9.2",
+ "@docusaurus/types": "3.9.2",
+ "@docusaurus/utils-common": "3.9.2",
"escape-string-regexp": "^4.0.0",
+ "execa": "5.1.1",
"file-loader": "^6.2.0",
"fs-extra": "^11.1.1",
"github-slugger": "^1.5.0",
@@ -2925,55 +4060,40 @@
"js-yaml": "^4.1.0",
"lodash": "^4.17.21",
"micromatch": "^4.0.5",
+ "p-queue": "^6.6.2",
"prompts": "^2.4.2",
"resolve-pathname": "^3.0.0",
- "shelljs": "^0.8.5",
"tslib": "^2.6.0",
"url-loader": "^4.1.1",
"utility-types": "^3.10.0",
"webpack": "^5.88.1"
},
"engines": {
- "node": ">=18.0"
- },
- "peerDependencies": {
- "@docusaurus/types": "*"
- },
- "peerDependenciesMeta": {
- "@docusaurus/types": {
- "optional": true
- }
+ "node": ">=20.0"
}
},
"node_modules/@docusaurus/utils-common": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.6.0.tgz",
- "integrity": "sha512-diUDNfbw33GaZMmKwdTckT2IBfVouXLXRD+zphH9ywswuaEIKqixvuf5g41H7MBBrlMsxhna3uTMoB4B/OPDcA==",
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.9.2.tgz",
+ "integrity": "sha512-I53UC1QctruA6SWLvbjbhCpAw7+X7PePoe5pYcwTOEXD/PxeP8LnECAhTHHwWCblyUX5bMi4QLRkxvyZ+IT8Aw==",
"license": "MIT",
"dependencies": {
+ "@docusaurus/types": "3.9.2",
"tslib": "^2.6.0"
},
"engines": {
- "node": ">=18.0"
- },
- "peerDependencies": {
- "@docusaurus/types": "*"
- },
- "peerDependenciesMeta": {
- "@docusaurus/types": {
- "optional": true
- }
+ "node": ">=20.0"
}
},
"node_modules/@docusaurus/utils-validation": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.6.0.tgz",
- "integrity": "sha512-CRHiKKJEKA0GFlfOf71JWHl7PtwOyX0+Zg9ep9NFEZv6Lcx3RJ9nhl7p8HRjPL6deyYceavM//BsfW4pCI4BtA==",
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.9.2.tgz",
+ "integrity": "sha512-l7yk3X5VnNmATbwijJkexdhulNsQaNDwoagiwujXoxFbWLcxHQqNQ+c/IAlzrfMMOfa/8xSBZ7KEKDesE/2J7A==",
"license": "MIT",
"dependencies": {
- "@docusaurus/logger": "3.6.0",
- "@docusaurus/utils": "3.6.0",
- "@docusaurus/utils-common": "3.6.0",
+ "@docusaurus/logger": "3.9.2",
+ "@docusaurus/utils": "3.9.2",
+ "@docusaurus/utils-common": "3.9.2",
"fs-extra": "^11.2.0",
"joi": "^17.9.2",
"js-yaml": "^4.1.0",
@@ -2981,14 +4101,14 @@
"tslib": "^2.6.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
}
},
"node_modules/@eslint-community/eslint-utils": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
"integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
- "devOptional": true,
+ "dev": true,
"dependencies": {
"eslint-visitor-keys": "^3.3.0"
},
@@ -3003,7 +4123,7 @@
"version": "4.10.0",
"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
"integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
- "devOptional": true,
+ "dev": true,
"engines": {
"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
}
@@ -3012,7 +4132,7 @@
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
"integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
- "devOptional": true,
+ "dev": true,
"dependencies": {
"ajv": "^6.12.4",
"debug": "^4.3.2",
@@ -3035,7 +4155,7 @@
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "devOptional": true,
+ "dev": true,
"dependencies": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
@@ -3051,7 +4171,7 @@
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "devOptional": true,
+ "dev": true,
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -3061,7 +4181,7 @@
"version": "13.24.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
"integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
- "devOptional": true,
+ "dev": true,
"dependencies": {
"type-fest": "^0.20.2"
},
@@ -3076,13 +4196,13 @@
"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==",
- "devOptional": true
+ "dev": true
},
"node_modules/@eslint/eslintrc/node_modules/minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "devOptional": true,
+ "dev": true,
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -3094,173 +4214,570 @@
"version": "0.20.2",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "devOptional": true,
+ "dev": true,
"engines": {
"node": ">=10"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@eslint/js": {
+ "version": "8.56.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz",
+ "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@hapi/hoek": {
+ "version": "9.3.0",
+ "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
+ "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ=="
+ },
+ "node_modules/@hapi/topo": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz",
+ "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==",
+ "dependencies": {
+ "@hapi/hoek": "^9.0.0"
+ }
+ },
+ "node_modules/@humanwhocodes/config-array": {
+ "version": "0.11.14",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
+ "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==",
+ "dev": true,
+ "dependencies": {
+ "@humanwhocodes/object-schema": "^2.0.2",
+ "debug": "^4.3.1",
+ "minimatch": "^3.0.5"
+ },
+ "engines": {
+ "node": ">=10.10.0"
+ }
+ },
+ "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/@humanwhocodes/config-array/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/@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,
+ "engines": {
+ "node": ">=12.22"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
+ "node_modules/@humanwhocodes/object-schema": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz",
+ "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==",
+ "dev": true
+ },
+ "node_modules/@jest/schemas": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
+ "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
+ "license": "MIT",
+ "dependencies": {
+ "@sinclair/typebox": "^0.27.8"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.13",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
+ "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.0",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
+ "node_modules/@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==",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/source-map": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz",
+ "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.0",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ }
+ },
+ "node_modules/@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==",
+ "license": "MIT"
+ },
+ "node_modules/@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==",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@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==",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
+ "node_modules/@jsonjoy.com/buffers": {
+ "version": "17.65.0",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-17.65.0.tgz",
+ "integrity": "sha512-eBrIXd0/Ld3p9lpDDlMaMn6IEfWqtHMD+z61u0JrIiPzsV1r7m6xDZFRxJyvIFTEO+SWdYF9EiQbXZGd8BzPfA==",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
+ "node_modules/@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==",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
+ "node_modules/@jsonjoy.com/fs-core": {
+ "version": "4.56.10",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-core/-/fs-core-4.56.10.tgz",
+ "integrity": "sha512-PyAEA/3cnHhsGcdY+AmIU+ZPqTuZkDhCXQ2wkXypdLitSpd6d5Ivxhnq4wa2ETRWFVJGabYynBWxIijOswSmOw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jsonjoy.com/fs-node-builtins": "4.56.10",
+ "@jsonjoy.com/fs-node-utils": "4.56.10",
+ "thingies": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
+ "node_modules/@jsonjoy.com/fs-fsa": {
+ "version": "4.56.10",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-fsa/-/fs-fsa-4.56.10.tgz",
+ "integrity": "sha512-/FVK63ysNzTPOnCCcPoPHt77TOmachdMS422txM4KhxddLdbW1fIbFMYH0AM0ow/YchCyS5gqEjKLNyv71j/5Q==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jsonjoy.com/fs-core": "4.56.10",
+ "@jsonjoy.com/fs-node-builtins": "4.56.10",
+ "@jsonjoy.com/fs-node-utils": "4.56.10",
+ "thingies": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
+ "node_modules/@jsonjoy.com/fs-node": {
+ "version": "4.56.10",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node/-/fs-node-4.56.10.tgz",
+ "integrity": "sha512-7R4Gv3tkUdW3dXfXiOkqxkElxKNVdd8BDOWC0/dbERd0pXpPY+s2s1Mino+aTvkGrFPiY+mmVxA7zhskm4Ue4Q==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jsonjoy.com/fs-core": "4.56.10",
+ "@jsonjoy.com/fs-node-builtins": "4.56.10",
+ "@jsonjoy.com/fs-node-utils": "4.56.10",
+ "@jsonjoy.com/fs-print": "4.56.10",
+ "@jsonjoy.com/fs-snapshot": "4.56.10",
+ "glob-to-regex.js": "^1.0.0",
+ "thingies": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
}
},
- "node_modules/@eslint/js": {
- "version": "8.56.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz",
- "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==",
- "devOptional": true,
+ "node_modules/@jsonjoy.com/fs-node-builtins": {
+ "version": "4.56.10",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-builtins/-/fs-node-builtins-4.56.10.tgz",
+ "integrity": "sha512-uUnKz8R0YJyKq5jXpZtkGV9U0pJDt8hmYcLRrPjROheIfjMXsz82kXMgAA/qNg0wrZ1Kv+hrg7azqEZx6XZCVw==",
+ "license": "Apache-2.0",
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
}
},
- "node_modules/@hapi/hoek": {
- "version": "9.3.0",
- "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
- "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ=="
- },
- "node_modules/@hapi/topo": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz",
- "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==",
+ "node_modules/@jsonjoy.com/fs-node-to-fsa": {
+ "version": "4.56.10",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-to-fsa/-/fs-node-to-fsa-4.56.10.tgz",
+ "integrity": "sha512-oH+O6Y4lhn9NyG6aEoFwIBNKZeYy66toP5LJcDOMBgL99BKQMUf/zWJspdRhMdn/3hbzQsZ8EHHsuekbFLGUWw==",
+ "license": "Apache-2.0",
"dependencies": {
- "@hapi/hoek": "^9.0.0"
+ "@jsonjoy.com/fs-fsa": "4.56.10",
+ "@jsonjoy.com/fs-node-builtins": "4.56.10",
+ "@jsonjoy.com/fs-node-utils": "4.56.10"
+ },
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
}
},
- "node_modules/@humanwhocodes/config-array": {
- "version": "0.11.14",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
- "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==",
- "devOptional": true,
+ "node_modules/@jsonjoy.com/fs-node-utils": {
+ "version": "4.56.10",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-utils/-/fs-node-utils-4.56.10.tgz",
+ "integrity": "sha512-8EuPBgVI2aDPwFdaNQeNpHsyqPi3rr+85tMNG/lHvQLiVjzoZsvxA//Xd8aB567LUhy4QS03ptT+unkD/DIsNg==",
+ "license": "Apache-2.0",
"dependencies": {
- "@humanwhocodes/object-schema": "^2.0.2",
- "debug": "^4.3.1",
- "minimatch": "^3.0.5"
+ "@jsonjoy.com/fs-node-builtins": "4.56.10"
},
"engines": {
- "node": ">=10.10.0"
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
}
},
- "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "devOptional": true,
+ "node_modules/@jsonjoy.com/fs-print": {
+ "version": "4.56.10",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-print/-/fs-print-4.56.10.tgz",
+ "integrity": "sha512-JW4fp5mAYepzFsSGrQ48ep8FXxpg4niFWHdF78wDrFGof7F3tKDJln72QFDEn/27M1yHd4v7sKHHVPh78aWcEw==",
+ "license": "Apache-2.0",
"dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
+ "@jsonjoy.com/fs-node-utils": "4.56.10",
+ "tree-dump": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
}
},
- "node_modules/@humanwhocodes/config-array/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "devOptional": true,
+ "node_modules/@jsonjoy.com/fs-snapshot": {
+ "version": "4.56.10",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-snapshot/-/fs-snapshot-4.56.10.tgz",
+ "integrity": "sha512-DkR6l5fj7+qj0+fVKm/OOXMGfDFCGXLfyHkORH3DF8hxkpDgIHbhf/DwncBMs2igu/ST7OEkexn1gIqoU6Y+9g==",
+ "license": "Apache-2.0",
"dependencies": {
- "brace-expansion": "^1.1.7"
+ "@jsonjoy.com/buffers": "^17.65.0",
+ "@jsonjoy.com/fs-node-utils": "4.56.10",
+ "@jsonjoy.com/json-pack": "^17.65.0",
+ "@jsonjoy.com/util": "^17.65.0"
},
"engines": {
- "node": "*"
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
}
},
- "node_modules/@humanwhocodes/module-importer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
- "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
- "devOptional": true,
+ "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/base64": {
+ "version": "17.65.0",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-17.65.0.tgz",
+ "integrity": "sha512-Xrh7Fm/M0QAYpekSgmskdZYnFdSGnsxJ/tHaolA4bNwWdG9i65S8m83Meh7FOxyJyQAdo4d4J97NOomBLEfkDQ==",
+ "license": "Apache-2.0",
"engines": {
- "node": ">=12.22"
+ "node": ">=10.0"
},
"funding": {
"type": "github",
- "url": "https://github.com/sponsors/nzakas"
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
}
},
- "node_modules/@humanwhocodes/object-schema": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz",
- "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==",
- "devOptional": true
+ "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/codegen": {
+ "version": "17.65.0",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/codegen/-/codegen-17.65.0.tgz",
+ "integrity": "sha512-7MXcRYe7n3BG+fo3jicvjB0+6ypl2Y/bQp79Sp7KeSiiCgLqw4Oled6chVv07/xLVTdo3qa1CD0VCCnPaw+RGA==",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
},
- "node_modules/@jest/schemas": {
- "version": "29.6.3",
- "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
- "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
- "license": "MIT",
+ "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/json-pack": {
+ "version": "17.65.0",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-17.65.0.tgz",
+ "integrity": "sha512-e0SG/6qUCnVhHa0rjDJHgnXnbsacooHVqQHxspjvlYQSkHm+66wkHw6Gql+3u/WxI/b1VsOdUi0M+fOtkgKGdQ==",
+ "license": "Apache-2.0",
"dependencies": {
- "@sinclair/typebox": "^0.27.8"
+ "@jsonjoy.com/base64": "17.65.0",
+ "@jsonjoy.com/buffers": "17.65.0",
+ "@jsonjoy.com/codegen": "17.65.0",
+ "@jsonjoy.com/json-pointer": "17.65.0",
+ "@jsonjoy.com/util": "17.65.0",
+ "hyperdyperid": "^1.2.0",
+ "thingies": "^2.5.0",
+ "tree-dump": "^1.1.0"
},
"engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
}
},
- "node_modules/@jest/types": {
- "version": "29.6.3",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
- "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
- "license": "MIT",
+ "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/json-pointer": {
+ "version": "17.65.0",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pointer/-/json-pointer-17.65.0.tgz",
+ "integrity": "sha512-uhTe+XhlIZpWOxgPcnO+iSCDgKKBpwkDVTyYiXX9VayGV8HSFVJM67M6pUE71zdnXF1W0Da21AvnhlmdwYPpow==",
+ "license": "Apache-2.0",
"dependencies": {
- "@jest/schemas": "^29.6.3",
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^3.0.0",
- "@types/node": "*",
- "@types/yargs": "^17.0.8",
- "chalk": "^4.0.0"
+ "@jsonjoy.com/util": "17.65.0"
},
"engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
}
},
- "node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
- "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
- "license": "MIT",
+ "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/util": {
+ "version": "17.65.0",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-17.65.0.tgz",
+ "integrity": "sha512-cWiEHZccQORf96q2y6zU3wDeIVPeidmGqd9cNKJRYoVHTV0S1eHPy5JTbHpMnGfDvtvujQwQozOqgO9ABu6h0w==",
+ "license": "Apache-2.0",
"dependencies": {
- "@jridgewell/set-array": "^1.2.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.24"
+ "@jsonjoy.com/buffers": "17.65.0",
+ "@jsonjoy.com/codegen": "17.65.0"
},
"engines": {
- "node": ">=6.0.0"
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
}
},
- "node_modules/@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==",
+ "node_modules/@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==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@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"
+ },
"engines": {
- "node": ">=6.0.0"
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
}
},
- "node_modules/@jridgewell/set-array": {
+ "node_modules/@jsonjoy.com/json-pack/node_modules/@jsonjoy.com/buffers": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
- "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
- "license": "MIT",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz",
+ "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==",
+ "license": "Apache-2.0",
"engines": {
- "node": ">=6.0.0"
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
}
},
- "node_modules/@jridgewell/source-map": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz",
- "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==",
+ "node_modules/@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==",
+ "license": "Apache-2.0",
"dependencies": {
- "@jridgewell/gen-mapping": "^0.3.0",
- "@jridgewell/trace-mapping": "^0.3.9"
+ "@jsonjoy.com/codegen": "^1.0.0",
+ "@jsonjoy.com/util": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
}
},
- "node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.15",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
- "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
- },
- "node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.25",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
- "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
- "license": "MIT",
+ "node_modules/@jsonjoy.com/util": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.9.0.tgz",
+ "integrity": "sha512-pLuQo+VPRnN8hfPqUTLTHk126wuYdXVxE6aDmjSeV4NCAgyxWbiOIeNJVtID3h1Vzpoi9m4jXezf73I6LgabgQ==",
+ "license": "Apache-2.0",
"dependencies": {
- "@jridgewell/resolve-uri": "^3.1.0",
- "@jridgewell/sourcemap-codec": "^1.4.14"
+ "@jsonjoy.com/buffers": "^1.0.0",
+ "@jsonjoy.com/codegen": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
+ "node_modules/@jsonjoy.com/util/node_modules/@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==",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
}
},
"node_modules/@leichtgewicht/ip-codec": {
@@ -3319,6 +4836,18 @@
"react": ">=16"
}
},
+ "node_modules/@noble/hashes": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz",
+ "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 16"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ }
+ },
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -3339,16 +4868,164 @@
"node": ">= 8"
}
},
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@peculiar/asn1-cms": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-cms/-/asn1-cms-2.6.0.tgz",
+ "integrity": "sha512-2uZqP+ggSncESeUF/9Su8rWqGclEfEiz1SyU02WX5fUONFfkjzS2Z/F1Li0ofSmf4JqYXIOdCAZqIXAIBAT1OA==",
+ "license": "MIT",
+ "dependencies": {
+ "@peculiar/asn1-schema": "^2.6.0",
+ "@peculiar/asn1-x509": "^2.6.0",
+ "@peculiar/asn1-x509-attr": "^2.6.0",
+ "asn1js": "^3.0.6",
+ "tslib": "^2.8.1"
+ }
+ },
+ "node_modules/@peculiar/asn1-csr": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-csr/-/asn1-csr-2.6.0.tgz",
+ "integrity": "sha512-BeWIu5VpTIhfRysfEp73SGbwjjoLL/JWXhJ/9mo4vXnz3tRGm+NGm3KNcRzQ9VMVqwYS2RHlolz21svzRXIHPQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@peculiar/asn1-schema": "^2.6.0",
+ "@peculiar/asn1-x509": "^2.6.0",
+ "asn1js": "^3.0.6",
+ "tslib": "^2.8.1"
+ }
+ },
+ "node_modules/@peculiar/asn1-ecc": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-ecc/-/asn1-ecc-2.6.0.tgz",
+ "integrity": "sha512-FF3LMGq6SfAOwUG2sKpPXblibn6XnEIKa+SryvUl5Pik+WR9rmRA3OCiwz8R3lVXnYnyRkSZsSLdml8H3UiOcw==",
+ "license": "MIT",
+ "dependencies": {
+ "@peculiar/asn1-schema": "^2.6.0",
+ "@peculiar/asn1-x509": "^2.6.0",
+ "asn1js": "^3.0.6",
+ "tslib": "^2.8.1"
+ }
+ },
+ "node_modules/@peculiar/asn1-pfx": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-pfx/-/asn1-pfx-2.6.0.tgz",
+ "integrity": "sha512-rtUvtf+tyKGgokHHmZzeUojRZJYPxoD/jaN1+VAB4kKR7tXrnDCA/RAWXAIhMJJC+7W27IIRGe9djvxKgsldCQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@peculiar/asn1-cms": "^2.6.0",
+ "@peculiar/asn1-pkcs8": "^2.6.0",
+ "@peculiar/asn1-rsa": "^2.6.0",
+ "@peculiar/asn1-schema": "^2.6.0",
+ "asn1js": "^3.0.6",
+ "tslib": "^2.8.1"
+ }
+ },
+ "node_modules/@peculiar/asn1-pkcs8": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs8/-/asn1-pkcs8-2.6.0.tgz",
+ "integrity": "sha512-KyQ4D8G/NrS7Fw3XCJrngxmjwO/3htnA0lL9gDICvEQ+GJ+EPFqldcJQTwPIdvx98Tua+WjkdKHSC0/Km7T+lA==",
+ "license": "MIT",
+ "dependencies": {
+ "@peculiar/asn1-schema": "^2.6.0",
+ "@peculiar/asn1-x509": "^2.6.0",
+ "asn1js": "^3.0.6",
+ "tslib": "^2.8.1"
+ }
+ },
+ "node_modules/@peculiar/asn1-pkcs9": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs9/-/asn1-pkcs9-2.6.0.tgz",
+ "integrity": "sha512-b78OQ6OciW0aqZxdzliXGYHASeCvvw5caqidbpQRYW2mBtXIX2WhofNXTEe7NyxTb0P6J62kAAWLwn0HuMF1Fw==",
+ "license": "MIT",
+ "dependencies": {
+ "@peculiar/asn1-cms": "^2.6.0",
+ "@peculiar/asn1-pfx": "^2.6.0",
+ "@peculiar/asn1-pkcs8": "^2.6.0",
+ "@peculiar/asn1-schema": "^2.6.0",
+ "@peculiar/asn1-x509": "^2.6.0",
+ "@peculiar/asn1-x509-attr": "^2.6.0",
+ "asn1js": "^3.0.6",
+ "tslib": "^2.8.1"
+ }
+ },
+ "node_modules/@peculiar/asn1-rsa": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-rsa/-/asn1-rsa-2.6.0.tgz",
+ "integrity": "sha512-Nu4C19tsrTsCp9fDrH+sdcOKoVfdfoQQ7S3VqjJU6vedR7tY3RLkQ5oguOIB3zFW33USDUuYZnPEQYySlgha4w==",
+ "license": "MIT",
+ "dependencies": {
+ "@peculiar/asn1-schema": "^2.6.0",
+ "@peculiar/asn1-x509": "^2.6.0",
+ "asn1js": "^3.0.6",
+ "tslib": "^2.8.1"
+ }
+ },
+ "node_modules/@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==",
+ "license": "MIT",
+ "dependencies": {
+ "asn1js": "^3.0.6",
+ "pvtsutils": "^1.3.6",
+ "tslib": "^2.8.1"
+ }
+ },
+ "node_modules/@peculiar/asn1-x509": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.6.0.tgz",
+ "integrity": "sha512-uzYbPEpoQiBoTq0/+jZtpM6Gq6zADBx+JNFP3yqRgziWBxQ/Dt/HcuvRfm9zJTPdRcBqPNdaRHTVwpyiq6iNMA==",
+ "license": "MIT",
+ "dependencies": {
+ "@peculiar/asn1-schema": "^2.6.0",
+ "asn1js": "^3.0.6",
+ "pvtsutils": "^1.3.6",
+ "tslib": "^2.8.1"
+ }
+ },
+ "node_modules/@peculiar/asn1-x509-attr": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509-attr/-/asn1-x509-attr-2.6.0.tgz",
+ "integrity": "sha512-MuIAXFX3/dc8gmoZBkwJWxUWOSvG4MMDntXhrOZpJVMkYX+MYc/rUAU2uJOved9iJEoiUx7//3D8oG83a78UJA==",
+ "license": "MIT",
"dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
+ "@peculiar/asn1-schema": "^2.6.0",
+ "@peculiar/asn1-x509": "^2.6.0",
+ "asn1js": "^3.0.6",
+ "tslib": "^2.8.1"
+ }
+ },
+ "node_modules/@peculiar/x509": {
+ "version": "1.14.3",
+ "resolved": "https://registry.npmjs.org/@peculiar/x509/-/x509-1.14.3.tgz",
+ "integrity": "sha512-C2Xj8FZ0uHWeCXXqX5B4/gVFQmtSkiuOolzAgutjTfseNOHT3pUjljDZsTSxXFGgio54bCzVFqmEOUrIVk8RDA==",
+ "license": "MIT",
+ "dependencies": {
+ "@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"
},
"engines": {
- "node": ">= 8"
+ "node": ">=20.0.0"
}
},
"node_modules/@pkgr/core": {
@@ -3737,9 +5414,9 @@
}
},
"node_modules/@types/body-parser": {
- "version": "1.19.5",
- "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz",
- "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==",
+ "version": "1.19.6",
+ "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz",
+ "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==",
"license": "MIT",
"dependencies": {
"@types/connect": "*",
@@ -3815,33 +5492,21 @@
}
},
"node_modules/@types/express": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz",
- "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==",
+ "version": "4.17.25",
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz",
+ "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==",
"license": "MIT",
"dependencies": {
"@types/body-parser": "*",
"@types/express-serve-static-core": "^4.17.33",
"@types/qs": "*",
- "@types/serve-static": "*"
+ "@types/serve-static": "^1"
}
},
"node_modules/@types/express-serve-static-core": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.1.tgz",
- "integrity": "sha512-CRICJIl0N5cXDONAdlTv5ShATZ4HEwk6kDDIW2/w9qOWKg+NU/5F8wYRWCrONad0/UKkloNSmmyN/wX4rtpbVA==",
- "license": "MIT",
- "dependencies": {
- "@types/node": "*",
- "@types/qs": "*",
- "@types/range-parser": "*",
- "@types/send": "*"
- }
- },
- "node_modules/@types/express/node_modules/@types/express-serve-static-core": {
- "version": "4.19.6",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz",
- "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==",
+ "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==",
"license": "MIT",
"dependencies": {
"@types/node": "*",
@@ -3880,15 +5545,15 @@
"integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA=="
},
"node_modules/@types/http-errors": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz",
- "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==",
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz",
+ "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==",
"license": "MIT"
},
"node_modules/@types/http-proxy": {
- "version": "1.17.15",
- "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz",
- "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==",
+ "version": "1.17.17",
+ "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.17.tgz",
+ "integrity": "sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==",
"license": "MIT",
"dependencies": {
"@types/node": "*"
@@ -3967,20 +5632,6 @@
"undici-types": "~5.26.4"
}
},
- "node_modules/@types/node-forge": {
- "version": "1.3.11",
- "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz",
- "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==",
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/parse-json": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz",
- "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw=="
- },
"node_modules/@types/prismjs": {
"version": "1.26.3",
"resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.3.tgz",
@@ -3992,9 +5643,9 @@
"integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng=="
},
"node_modules/@types/qs": {
- "version": "6.9.16",
- "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.16.tgz",
- "integrity": "sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==",
+ "version": "6.14.0",
+ "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz",
+ "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==",
"license": "MIT"
},
"node_modules/@types/range-parser": {
@@ -4043,9 +5694,9 @@
}
},
"node_modules/@types/retry": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz",
- "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==",
+ "version": "0.12.2",
+ "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz",
+ "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==",
"license": "MIT"
},
"node_modules/@types/sax": {
@@ -4069,12 +5720,11 @@
"dev": true
},
"node_modules/@types/send": {
- "version": "0.17.4",
- "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz",
- "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz",
+ "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==",
"license": "MIT",
"dependencies": {
- "@types/mime": "^1",
"@types/node": "*"
}
},
@@ -4088,14 +5738,24 @@
}
},
"node_modules/@types/serve-static": {
- "version": "1.15.7",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz",
- "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==",
+ "version": "1.15.10",
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz",
+ "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==",
"license": "MIT",
"dependencies": {
"@types/http-errors": "*",
"@types/node": "*",
- "@types/send": "*"
+ "@types/send": "<1"
+ }
+ },
+ "node_modules/@types/serve-static/node_modules/@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==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mime": "^1",
+ "@types/node": "*"
}
},
"node_modules/@types/sockjs": {
@@ -4113,18 +5773,18 @@
"integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ=="
},
"node_modules/@types/ws": {
- "version": "8.5.13",
- "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.13.tgz",
- "integrity": "sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==",
+ "version": "8.18.1",
+ "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz",
+ "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==",
"license": "MIT",
"dependencies": {
"@types/node": "*"
}
},
"node_modules/@types/yargs": {
- "version": "17.0.33",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz",
- "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==",
+ "version": "17.0.35",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz",
+ "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==",
"license": "MIT",
"dependencies": {
"@types/yargs-parser": "*"
@@ -4474,15 +6134,15 @@
}
},
"node_modules/ajv": {
- "version": "8.11.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
- "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
+ "version": "8.17.1",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
+ "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
"license": "MIT",
"dependencies": {
- "fast-deep-equal": "^3.1.1",
+ "fast-deep-equal": "^3.1.3",
+ "fast-uri": "^3.0.1",
"json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
+ "require-from-string": "^2.0.2"
},
"funding": {
"type": "github",
@@ -4493,6 +6153,7 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
"integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
+ "license": "MIT",
"dependencies": {
"ajv": "^8.0.0"
},
@@ -4505,78 +6166,53 @@
}
}
},
- "node_modules/algoliasearch": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.24.0.tgz",
- "integrity": "sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g==",
- "license": "MIT",
- "dependencies": {
- "@algolia/cache-browser-local-storage": "4.24.0",
- "@algolia/cache-common": "4.24.0",
- "@algolia/cache-in-memory": "4.24.0",
- "@algolia/client-account": "4.24.0",
- "@algolia/client-analytics": "4.24.0",
- "@algolia/client-common": "4.24.0",
- "@algolia/client-personalization": "4.24.0",
- "@algolia/client-search": "4.24.0",
- "@algolia/logger-common": "4.24.0",
- "@algolia/logger-console": "4.24.0",
- "@algolia/recommend": "4.24.0",
- "@algolia/requester-browser-xhr": "4.24.0",
- "@algolia/requester-common": "4.24.0",
- "@algolia/requester-node-http": "4.24.0",
- "@algolia/transporter": "4.24.0"
- }
- },
- "node_modules/algoliasearch-helper": {
- "version": "3.22.5",
- "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.22.5.tgz",
- "integrity": "sha512-lWvhdnc+aKOKx8jyA3bsdEgHzm/sglC4cYdMG4xSQyRiPLJVJtH/IVYZG3Hp6PkTEhQqhyVYkeP9z2IlcHJsWw==",
+ "node_modules/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==",
"license": "MIT",
"dependencies": {
- "@algolia/events": "^4.0.1"
+ "fast-deep-equal": "^3.1.3"
},
"peerDependencies": {
- "algoliasearch": ">= 3.1 < 6"
- }
- },
- "node_modules/algoliasearch/node_modules/@algolia/client-common": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz",
- "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==",
- "license": "MIT",
- "dependencies": {
- "@algolia/requester-common": "4.24.0",
- "@algolia/transporter": "4.24.0"
- }
- },
- "node_modules/algoliasearch/node_modules/@algolia/client-search": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz",
- "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==",
- "license": "MIT",
- "dependencies": {
- "@algolia/client-common": "4.24.0",
- "@algolia/requester-common": "4.24.0",
- "@algolia/transporter": "4.24.0"
+ "ajv": "^8.8.2"
}
},
- "node_modules/algoliasearch/node_modules/@algolia/requester-browser-xhr": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.24.0.tgz",
- "integrity": "sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==",
- "license": "MIT",
- "dependencies": {
- "@algolia/requester-common": "4.24.0"
+ "node_modules/algoliasearch": {
+ "version": "5.47.0",
+ "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.47.0.tgz",
+ "integrity": "sha512-AGtz2U7zOV4DlsuYV84tLp2tBbA7RPtLA44jbVH4TTpDcc1dIWmULjHSsunlhscbzDydnjuFlNhflR3nV4VJaQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/abtesting": "1.13.0",
+ "@algolia/client-abtesting": "5.47.0",
+ "@algolia/client-analytics": "5.47.0",
+ "@algolia/client-common": "5.47.0",
+ "@algolia/client-insights": "5.47.0",
+ "@algolia/client-personalization": "5.47.0",
+ "@algolia/client-query-suggestions": "5.47.0",
+ "@algolia/client-search": "5.47.0",
+ "@algolia/ingestion": "1.47.0",
+ "@algolia/monitoring": "1.47.0",
+ "@algolia/recommend": "5.47.0",
+ "@algolia/requester-browser-xhr": "5.47.0",
+ "@algolia/requester-fetch": "5.47.0",
+ "@algolia/requester-node-http": "5.47.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
}
},
- "node_modules/algoliasearch/node_modules/@algolia/requester-node-http": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.24.0.tgz",
- "integrity": "sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==",
+ "node_modules/algoliasearch-helper": {
+ "version": "3.27.0",
+ "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.27.0.tgz",
+ "integrity": "sha512-eNYchRerbsvk2doHOMfdS1/B6Tm70oGtu8mzQlrNzbCeQ8p1MjCW8t/BL6iZ5PD+cL5NNMgTMyMnmiXZ1sgmNw==",
"license": "MIT",
"dependencies": {
- "@algolia/requester-common": "4.24.0"
+ "@algolia/events": "^4.0.1"
+ },
+ "peerDependencies": {
+ "algoliasearch": ">= 3.1 < 6"
}
},
"node_modules/ansi-align": {
@@ -4833,6 +6469,20 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/asn1js": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.7.tgz",
+ "integrity": "sha512-uLvq6KJu04qoQM6gvBfKFjlh6Gl0vOKQuR5cJMDHQkmwfMOQeN3F3SHCv9SNYSL+CRoHvOGFfllDlVz03GQjvQ==",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "pvtsutils": "^1.3.6",
+ "pvutils": "^1.1.3",
+ "tslib": "^2.8.1"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
"node_modules/ast-types-flow": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz",
@@ -4856,18 +6506,10 @@
"has-symbols": "^1.0.3"
}
},
- "node_modules/at-least-node": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
- "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
- "engines": {
- "node": ">= 4.0.0"
- }
- },
"node_modules/autoprefixer": {
- "version": "10.4.20",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz",
- "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==",
+ "version": "10.4.24",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.24.tgz",
+ "integrity": "sha512-uHZg7N9ULTVbutaIsDRoUkoS8/h3bdsmVJYZ5l3wv8Cp/6UIIoRDm90hZ+BwxUj/hGBEzLxdHNSKuFpn8WOyZw==",
"funding": [
{
"type": "opencollective",
@@ -4884,11 +6526,10 @@
],
"license": "MIT",
"dependencies": {
- "browserslist": "^4.23.3",
- "caniuse-lite": "^1.0.30001646",
- "fraction.js": "^4.3.7",
- "normalize-range": "^0.1.2",
- "picocolors": "^1.0.1",
+ "browserslist": "^4.28.1",
+ "caniuse-lite": "^1.0.30001766",
+ "fraction.js": "^5.3.4",
+ "picocolors": "^1.1.1",
"postcss-value-parser": "^4.2.0"
},
"bin": {
@@ -4958,13 +6599,13 @@
}
},
"node_modules/babel-plugin-polyfill-corejs2": {
- "version": "0.4.11",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz",
- "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==",
+ "version": "0.4.15",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.15.tgz",
+ "integrity": "sha512-hR3GwrRwHUfYwGfrisXPIDP3JcYfBrW7wKE7+Au6wDYl7fm/ka1NEII6kORzxNU556JjfidZeBsO10kYvtV1aw==",
"license": "MIT",
"dependencies": {
- "@babel/compat-data": "^7.22.6",
- "@babel/helper-define-polyfill-provider": "^0.6.2",
+ "@babel/compat-data": "^7.28.6",
+ "@babel/helper-define-polyfill-provider": "^0.6.6",
"semver": "^6.3.1"
},
"peerDependencies": {
@@ -4994,12 +6635,12 @@
}
},
"node_modules/babel-plugin-polyfill-regenerator": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz",
- "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==",
+ "version": "0.6.6",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.6.tgz",
+ "integrity": "sha512-hYm+XLYRMvupxiQzrvXUj7YyvFFVfv5gI0R71AJzudg1g2AI2vyCPPIFEBjk162/wFzti3inBHo7isWFuEVS/A==",
"license": "MIT",
"dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.6.2"
+ "@babel/helper-define-polyfill-provider": "^0.6.6"
},
"peerDependencies": {
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
@@ -5019,6 +6660,15 @@
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
},
+ "node_modules/baseline-browser-mapping": {
+ "version": "2.9.19",
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz",
+ "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==",
+ "license": "Apache-2.0",
+ "bin": {
+ "baseline-browser-mapping": "dist/cli.js"
+ }
+ },
"node_modules/batch": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
@@ -5042,23 +6692,23 @@
}
},
"node_modules/body-parser": {
- "version": "1.20.3",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz",
- "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==",
+ "version": "1.20.4",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz",
+ "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==",
"license": "MIT",
"dependencies": {
- "bytes": "3.1.2",
+ "bytes": "~3.1.2",
"content-type": "~1.0.5",
"debug": "2.6.9",
"depd": "2.0.0",
- "destroy": "1.2.0",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "on-finished": "2.4.1",
- "qs": "6.13.0",
- "raw-body": "2.5.2",
+ "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"
+ "unpipe": "~1.0.0"
},
"engines": {
"node": ">= 0.8",
@@ -5083,18 +6733,6 @@
"ms": "2.0.0"
}
},
- "node_modules/body-parser/node_modules/iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "license": "MIT",
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/body-parser/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
@@ -5102,9 +6740,9 @@
"license": "MIT"
},
"node_modules/bonjour-service": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz",
- "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz",
+ "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==",
"license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.3",
@@ -5149,9 +6787,9 @@
}
},
"node_modules/browserslist": {
- "version": "4.24.2",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz",
- "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==",
+ "version": "4.28.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz",
+ "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==",
"funding": [
{
"type": "opencollective",
@@ -5168,10 +6806,11 @@
],
"license": "MIT",
"dependencies": {
- "caniuse-lite": "^1.0.30001669",
- "electron-to-chromium": "^1.5.41",
- "node-releases": "^2.0.18",
- "update-browserslist-db": "^1.1.1"
+ "baseline-browser-mapping": "^2.9.0",
+ "caniuse-lite": "^1.0.30001759",
+ "electron-to-chromium": "^1.5.263",
+ "node-releases": "^2.0.27",
+ "update-browserslist-db": "^1.2.0"
},
"bin": {
"browserslist": "cli.js"
@@ -5185,6 +6824,21 @@
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
},
+ "node_modules/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==",
+ "license": "MIT",
+ "dependencies": {
+ "run-applescript": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/bytes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
@@ -5194,6 +6848,15 @@
"node": ">= 0.8"
}
},
+ "node_modules/bytestreamjs": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/bytestreamjs/-/bytestreamjs-2.0.1.tgz",
+ "integrity": "sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
"node_modules/cacheable-lookup": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz",
@@ -5249,6 +6912,35 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/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==",
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/call-bound": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
+ "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "get-intrinsic": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/callsites": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
@@ -5290,9 +6982,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001677",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001677.tgz",
- "integrity": "sha512-fmfjsOlJUpMWu+mAAtZZZHz7UEwsUxIIvu1TJfO1HqFQvB/B+ii0xr9B5HpbZY/mC4XZ8SvjHJqtAY6pDPQEog==",
+ "version": "1.0.30001767",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001767.tgz",
+ "integrity": "sha512-34+zUAMhSH+r+9eKmYG+k2Rpt8XttfE4yXAjoZvkAPs15xcYQhyBYdalJ65BzivAvGRMViEjy6oKr/S91loekQ==",
"funding": [
{
"type": "opencollective",
@@ -5381,6 +7073,7 @@
"version": "1.0.0-rc.12",
"resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz",
"integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==",
+ "license": "MIT",
"dependencies": {
"cheerio-select": "^2.1.0",
"dom-serializer": "^2.0.0",
@@ -5401,6 +7094,7 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz",
"integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==",
+ "license": "BSD-2-Clause",
"dependencies": {
"boolbase": "^1.0.0",
"css-select": "^5.1.0",
@@ -5414,15 +7108,10 @@
}
},
"node_modules/chokidar": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ],
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "license": "MIT",
"dependencies": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
@@ -5435,6 +7124,9 @@
"engines": {
"node": ">= 8.10.0"
},
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ },
"optionalDependencies": {
"fsevents": "~2.3.2"
}
@@ -5594,6 +7286,12 @@
"integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==",
"license": "MIT"
},
+ "node_modules/colorette": {
+ "version": "2.0.20",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
+ "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
+ "license": "MIT"
+ },
"node_modules/combine-promises": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz",
@@ -5638,16 +7336,16 @@
}
},
"node_modules/compression": {
- "version": "1.7.5",
- "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.5.tgz",
- "integrity": "sha512-bQJ0YRck5ak3LgtnpKkiabX5pNF7tMUh1BSy2ZBOTh0Dim0BUu6aPPwByIns6/A5Prh8PufSPerMDUklpzes2Q==",
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz",
+ "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==",
"license": "MIT",
"dependencies": {
"bytes": "3.1.2",
"compressible": "~2.0.18",
"debug": "2.6.9",
"negotiator": "~0.6.4",
- "on-headers": "~1.0.2",
+ "on-headers": "~1.1.0",
"safe-buffer": "5.2.1",
"vary": "~1.1.2"
},
@@ -5727,9 +7425,9 @@
}
},
"node_modules/consola": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz",
- "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==",
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz",
+ "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==",
"license": "MIT",
"engines": {
"node": "^14.18.0 || >=16.10.0"
@@ -5759,31 +7457,20 @@
"integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="
},
"node_modules/cookie": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz",
- "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==",
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
+ "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
"license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/cookie-signature": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
- "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz",
+ "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==",
"license": "MIT"
},
- "node_modules/copy-text-to-clipboard": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz",
- "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/copy-webpack-plugin": {
"version": "11.0.0",
"resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz",
@@ -5862,12 +7549,12 @@
}
},
"node_modules/core-js-compat": {
- "version": "3.39.0",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.39.0.tgz",
- "integrity": "sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==",
+ "version": "3.48.0",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.48.0.tgz",
+ "integrity": "sha512-OM4cAF3D6VtH/WkLtWvyNC56EZVXsZdU3iqaMG2B4WvYrlqU831pc4UtG5yp0sE9z8Y02wVN7PjW5Zf9Gt0f1Q==",
"license": "MIT",
"dependencies": {
- "browserslist": "^4.24.2"
+ "browserslist": "^4.28.1"
},
"funding": {
"type": "opencollective",
@@ -5875,9 +7562,9 @@
}
},
"node_modules/core-js-pure": {
- "version": "3.39.0",
- "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.39.0.tgz",
- "integrity": "sha512-7fEcWwKI4rJinnK+wLTezeg2smbFFdSBP6E2kQZNbnzM2s1rpKQ6aaRteZSSg7FLU3P0HGGVo/gbpfanU36urg==",
+ "version": "3.48.0",
+ "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.48.0.tgz",
+ "integrity": "sha512-1slJgk89tWC51HQ1AEqG+s2VuwpTRr8ocu4n20QUcH1v9lAN0RXen0Q0AABa/DK1I7RrNWLucplOHMx8hfTGTw==",
"hasInstallScript": true,
"license": "MIT",
"funding": {
@@ -5955,10 +7642,48 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/css-blank-pseudo": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-7.0.1.tgz",
+ "integrity": "sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "postcss-selector-parser": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/css-blank-pseudo/node_modules/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==",
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/css-declaration-sorter": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz",
- "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==",
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.3.1.tgz",
+ "integrity": "sha512-gz6x+KkgNCjxq3Var03pRYLhyNfwhkKF1g/yoLgDNtFvVu0/fOLV9C8fFEZRjACp/XQLumjAYo7JVjzH3wLbxA==",
"license": "ISC",
"engines": {
"node": "^14 || ^16 || >=18"
@@ -5967,6 +7692,68 @@
"postcss": "^8.0.9"
}
},
+ "node_modules/css-has-pseudo": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-7.0.3.tgz",
+ "integrity": "sha512-oG+vKuGyqe/xvEMoxAQrhi7uY16deJR3i7wwhBerVrGQKSqUC5GiOVxTpM9F9B9hw0J+eKeOWLH7E9gZ1Dr5rA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/selector-specificity": "^5.0.0",
+ "postcss-selector-parser": "^7.0.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/css-has-pseudo/node_modules/@csstools/selector-specificity": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz",
+ "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss-selector-parser": "^7.0.0"
+ }
+ },
+ "node_modules/css-has-pseudo/node_modules/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==",
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/css-loader": {
"version": "6.11.0",
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz",
@@ -6041,9 +7828,31 @@
"esbuild": {
"optional": true
},
- "lightningcss": {
- "optional": true
+ "lightningcss": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/css-prefers-color-scheme": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-10.0.0.tgz",
+ "integrity": "sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
}
+ ],
+ "license": "MIT-0",
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
}
},
"node_modules/css-select": {
@@ -6085,6 +7894,22 @@
"url": "https://github.com/sponsors/fb55"
}
},
+ "node_modules/cssdb": {
+ "version": "8.7.1",
+ "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-8.7.1.tgz",
+ "integrity": "sha512-+F6LKx48RrdGOtE4DT5jz7Uo+VeyKXpK797FAevIkzjV8bMHz6xTO5F7gNDcRCHmPgD5jj2g6QCsY9zmVrh38A==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ }
+ ],
+ "license": "MIT-0"
+ },
"node_modules/cssesc": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
@@ -6245,11 +8070,12 @@
"license": "MIT"
},
"node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "license": "MIT",
"dependencies": {
- "ms": "2.1.2"
+ "ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
@@ -6309,7 +8135,7 @@
"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==",
- "devOptional": true
+ "dev": true
},
"node_modules/deepmerge": {
"version": "4.3.1",
@@ -6319,16 +8145,32 @@
"node": ">=0.10.0"
}
},
- "node_modules/default-gateway": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz",
- "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==",
- "license": "BSD-2-Clause",
+ "node_modules/default-browser": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.4.0.tgz",
+ "integrity": "sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==",
+ "license": "MIT",
"dependencies": {
- "execa": "^5.0.0"
+ "bundle-name": "^4.1.0",
+ "default-browser-id": "^5.0.0"
},
"engines": {
- "node": ">= 10"
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/default-browser-id": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz",
+ "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/defer-to-connect": {
@@ -6380,27 +8222,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/del": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz",
- "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==",
- "dependencies": {
- "globby": "^11.0.1",
- "graceful-fs": "^4.2.4",
- "is-glob": "^4.0.1",
- "is-path-cwd": "^2.2.0",
- "is-path-inside": "^3.0.2",
- "p-map": "^4.0.0",
- "rimraf": "^3.0.2",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/depd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
@@ -6447,35 +8268,6 @@
"detect-port": "bin/detect-port.js"
}
},
- "node_modules/detect-port-alt": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz",
- "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==",
- "dependencies": {
- "address": "^1.0.1",
- "debug": "^2.6.0"
- },
- "bin": {
- "detect": "bin/detect-port",
- "detect-port": "bin/detect-port"
- },
- "engines": {
- "node": ">= 4.2.1"
- }
- },
- "node_modules/detect-port-alt/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/detect-port-alt/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
- },
"node_modules/devlop": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz",
@@ -6515,7 +8307,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
"integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
- "devOptional": true,
+ "dev": true,
"dependencies": {
"esutils": "^2.0.2"
},
@@ -6699,6 +8491,20 @@
"url": "https://github.com/motdotla/dotenv?sponsor=1"
}
},
+ "node_modules/dunder-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
+ "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.2.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/duplexer": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
@@ -6716,9 +8522,9 @@
"license": "MIT"
},
"node_modules/electron-to-chromium": {
- "version": "1.5.50",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.50.tgz",
- "integrity": "sha512-eMVObiUQ2LdgeO1F/ySTXsvqvxb6ZH2zPGaMYsWzRDdOddUa77tdmI0ltg+L16UpbWdhPmuF3wIQYyQq65WfZw==",
+ "version": "1.5.283",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.283.tgz",
+ "integrity": "sha512-3vifjt1HgrGW/h76UEeny+adYApveS9dH2h3p57JYzBSXJIKUJAvtmIytDKjcSCt9xHfrNCFJ7gts6vkhuq++w==",
"license": "ISC"
},
"node_modules/emoji-regex": {
@@ -6843,13 +8649,10 @@
}
},
"node_modules/es-define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
- "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
+ "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
"license": "MIT",
- "dependencies": {
- "get-intrinsic": "^1.2.4"
- },
"engines": {
"node": ">= 0.4"
}
@@ -6890,6 +8693,18 @@
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz",
"integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w=="
},
+ "node_modules/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==",
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/es-set-tostringtag": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz",
@@ -6970,7 +8785,7 @@
"version": "8.56.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz",
"integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==",
- "devOptional": true,
+ "dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.6.1",
@@ -7419,7 +9234,7 @@
"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==",
- "devOptional": true,
+ "dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
@@ -7431,7 +9246,7 @@
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "devOptional": true,
+ "dev": true,
"dependencies": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
@@ -7447,7 +9262,7 @@
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "devOptional": true,
+ "dev": true,
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -7457,7 +9272,7 @@
"version": "7.2.2",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
"integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
- "devOptional": true,
+ "dev": true,
"dependencies": {
"esrecurse": "^4.3.0",
"estraverse": "^5.2.0"
@@ -7473,7 +9288,7 @@
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
"integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "devOptional": true,
+ "dev": true,
"dependencies": {
"is-glob": "^4.0.3"
},
@@ -7485,7 +9300,7 @@
"version": "13.24.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
"integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
- "devOptional": true,
+ "dev": true,
"dependencies": {
"type-fest": "^0.20.2"
},
@@ -7500,13 +9315,13 @@
"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==",
- "devOptional": true
+ "dev": true
},
"node_modules/eslint/node_modules/minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "devOptional": true,
+ "dev": true,
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -7518,7 +9333,7 @@
"version": "0.20.2",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "devOptional": true,
+ "dev": true,
"engines": {
"node": ">=10"
},
@@ -7530,7 +9345,7 @@
"version": "9.6.1",
"resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
"integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
- "devOptional": true,
+ "dev": true,
"dependencies": {
"acorn": "^8.9.0",
"acorn-jsx": "^5.3.2",
@@ -7559,7 +9374,7 @@
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
"integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
- "devOptional": true,
+ "dev": true,
"dependencies": {
"estraverse": "^5.1.0"
},
@@ -7750,45 +9565,49 @@
}
},
"node_modules/express": {
- "version": "4.21.1",
- "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz",
- "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==",
+ "version": "4.22.1",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz",
+ "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==",
"license": "MIT",
"dependencies": {
"accepts": "~1.3.8",
"array-flatten": "1.1.1",
- "body-parser": "1.20.3",
- "content-disposition": "0.5.4",
+ "body-parser": "~1.20.3",
+ "content-disposition": "~0.5.4",
"content-type": "~1.0.4",
- "cookie": "0.7.1",
- "cookie-signature": "1.0.6",
+ "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",
+ "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",
+ "on-finished": "~2.4.1",
"parseurl": "~1.3.3",
- "path-to-regexp": "0.1.10",
+ "path-to-regexp": "~0.1.12",
"proxy-addr": "~2.0.7",
- "qs": "6.13.0",
+ "qs": "~6.14.0",
"range-parser": "~1.2.1",
"safe-buffer": "5.2.1",
- "send": "0.19.0",
- "serve-static": "1.16.2",
+ "send": "~0.19.0",
+ "serve-static": "~1.16.2",
"setprototypeof": "1.2.0",
- "statuses": "2.0.1",
+ "statuses": "~2.0.1",
"type-is": "~1.6.18",
"utils-merge": "1.0.1",
"vary": "~1.1.2"
},
"engines": {
"node": ">= 0.10.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
"node_modules/express/node_modules/content-disposition": {
@@ -7819,9 +9638,9 @@
"license": "MIT"
},
"node_modules/express/node_modules/path-to-regexp": {
- "version": "0.1.10",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz",
- "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==",
+ "version": "0.1.12",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz",
+ "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==",
"license": "MIT"
},
"node_modules/express/node_modules/range-parser": {
@@ -7884,12 +9703,22 @@
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
"integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
- "devOptional": true
+ "dev": true
},
"node_modules/fast-uri": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.3.tgz",
- "integrity": "sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz",
+ "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fastify"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/fastify"
+ }
+ ],
"license": "BSD-3-Clause"
},
"node_modules/fastq": {
@@ -7928,6 +9757,7 @@
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz",
"integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==",
+ "license": "MIT",
"dependencies": {
"xml-js": "^1.6.11"
},
@@ -7963,7 +9793,7 @@
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
"integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
- "devOptional": true,
+ "dev": true,
"dependencies": {
"flat-cache": "^3.0.4"
},
@@ -8035,14 +9865,6 @@
"url": "https://opencollective.com/webpack"
}
},
- "node_modules/filesize": {
- "version": "8.0.7",
- "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz",
- "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==",
- "engines": {
- "node": ">= 0.4.0"
- }
- },
"node_modules/fill-range": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
@@ -8055,17 +9877,17 @@
}
},
"node_modules/finalhandler": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz",
- "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz",
+ "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==",
"license": "MIT",
"dependencies": {
"debug": "2.6.9",
"encodeurl": "~2.0.0",
"escape-html": "~1.0.3",
- "on-finished": "2.4.1",
+ "on-finished": "~2.4.1",
"parseurl": "~1.3.3",
- "statuses": "2.0.1",
+ "statuses": "~2.0.2",
"unpipe": "~1.0.0"
},
"engines": {
@@ -8107,6 +9929,7 @@
"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,
"dependencies": {
"locate-path": "^6.0.0",
"path-exists": "^4.0.0"
@@ -8124,195 +9947,55 @@
"integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
"bin": {
"flat": "cli.js"
- }
- },
- "node_modules/flat-cache": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
- "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
- "devOptional": true,
- "dependencies": {
- "flatted": "^3.2.9",
- "keyv": "^4.5.3",
- "rimraf": "^3.0.2"
- },
- "engines": {
- "node": "^10.12.0 || >=12.0.0"
- }
- },
- "node_modules/flatted": {
- "version": "3.2.9",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz",
- "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==",
- "devOptional": true
- },
- "node_modules/follow-redirects": {
- "version": "1.15.9",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz",
- "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==",
- "funding": [
- {
- "type": "individual",
- "url": "https://github.com/sponsors/RubenVerborgh"
- }
- ],
- "license": "MIT",
- "engines": {
- "node": ">=4.0"
- },
- "peerDependenciesMeta": {
- "debug": {
- "optional": true
- }
- }
- },
- "node_modules/for-each": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
- "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
- "dev": true,
- "dependencies": {
- "is-callable": "^1.1.3"
- }
- },
- "node_modules/fork-ts-checker-webpack-plugin": {
- "version": "6.5.3",
- "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz",
- "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==",
- "dependencies": {
- "@babel/code-frame": "^7.8.3",
- "@types/json-schema": "^7.0.5",
- "chalk": "^4.1.0",
- "chokidar": "^3.4.2",
- "cosmiconfig": "^6.0.0",
- "deepmerge": "^4.2.2",
- "fs-extra": "^9.0.0",
- "glob": "^7.1.6",
- "memfs": "^3.1.2",
- "minimatch": "^3.0.4",
- "schema-utils": "2.7.0",
- "semver": "^7.3.2",
- "tapable": "^1.0.0"
- },
- "engines": {
- "node": ">=10",
- "yarn": ">=1.0.0"
- },
- "peerDependencies": {
- "eslint": ">= 6",
- "typescript": ">= 2.7",
- "vue-template-compiler": "*",
- "webpack": ">= 4"
- },
- "peerDependenciesMeta": {
- "eslint": {
- "optional": true
- },
- "vue-template-compiler": {
- "optional": true
- }
- }
- },
- "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv-keywords": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
- "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
- "peerDependencies": {
- "ajv": "^6.9.1"
- }
- },
- "node_modules/fork-ts-checker-webpack-plugin/node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
- "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
- "dependencies": {
- "@types/parse-json": "^4.0.0",
- "import-fresh": "^3.1.0",
- "parse-json": "^5.0.0",
- "path-type": "^4.0.0",
- "yaml": "^1.7.2"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
- "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
- "dependencies": {
- "at-least-node": "^1.0.0",
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/fork-ts-checker-webpack-plugin/node_modules/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=="
- },
- "node_modules/fork-ts-checker-webpack-plugin/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ }
+ },
+ "node_modules/flat-cache": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
+ "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
+ "dev": true,
"dependencies": {
- "brace-expansion": "^1.1.7"
+ "flatted": "^3.2.9",
+ "keyv": "^4.5.3",
+ "rimraf": "^3.0.2"
},
"engines": {
- "node": "*"
+ "node": "^10.12.0 || >=12.0.0"
}
},
- "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
- "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==",
- "dependencies": {
- "@types/json-schema": "^7.0.4",
- "ajv": "^6.12.2",
- "ajv-keywords": "^3.4.1"
- },
+ "node_modules/flatted": {
+ "version": "3.2.9",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz",
+ "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==",
+ "dev": true
+ },
+ "node_modules/follow-redirects": {
+ "version": "1.15.11",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz",
+ "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
+ "license": "MIT",
"engines": {
- "node": ">= 8.9.0"
+ "node": ">=4.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
}
},
- "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
- "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
- "engines": {
- "node": ">=6"
+ "node_modules/for-each": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
+ "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
+ "dev": true,
+ "dependencies": {
+ "is-callable": "^1.1.3"
}
},
"node_modules/form-data-encoder": {
@@ -8341,15 +10024,15 @@
}
},
"node_modules/fraction.js": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz",
- "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==",
+ "version": "5.3.4",
+ "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz",
+ "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==",
"license": "MIT",
"engines": {
"node": "*"
},
"funding": {
- "type": "patreon",
+ "type": "github",
"url": "https://github.com/sponsors/rawify"
}
},
@@ -8375,15 +10058,11 @@
"node": ">=14.14"
}
},
- "node_modules/fs-monkey": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz",
- "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew=="
- },
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
+ "dev": true
},
"node_modules/fsevents": {
"version": "2.3.3",
@@ -8442,16 +10121,21 @@
}
},
"node_modules/get-intrinsic": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
- "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
"license": "MIT",
"dependencies": {
+ "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",
- "has-proto": "^1.0.1",
- "has-symbols": "^1.0.3",
- "hasown": "^2.0.0"
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2",
+ "math-intrinsics": "^1.1.0"
},
"engines": {
"node": ">= 0.4"
@@ -8465,6 +10149,19 @@
"resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz",
"integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g=="
},
+ "node_modules/get-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
+ "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
+ "license": "MIT",
+ "dependencies": {
+ "dunder-proto": "^1.0.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/get-stream": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
@@ -8501,6 +10198,7 @@
"version": "7.2.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@@ -8527,6 +10225,22 @@
"node": ">= 6"
}
},
+ "node_modules/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==",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
"node_modules/glob-to-regexp": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
@@ -8537,6 +10251,7 @@
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -8546,6 +10261,7 @@
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -8575,41 +10291,6 @@
"node": ">=10"
}
},
- "node_modules/global-modules": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
- "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
- "dependencies": {
- "global-prefix": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/global-prefix": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
- "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
- "dependencies": {
- "ini": "^1.3.5",
- "kind-of": "^6.0.2",
- "which": "^1.3.1"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/global-prefix/node_modules/which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "which": "bin/which"
- }
- },
"node_modules/globals": {
"version": "11.12.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
@@ -8654,11 +10335,12 @@
}
},
"node_modules/gopd": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
- "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
- "dependencies": {
- "get-intrinsic": "^1.1.3"
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
+ "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -8708,7 +10390,7 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
"integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
- "devOptional": true
+ "dev": true
},
"node_modules/gray-matter": {
"version": "4.0.3",
@@ -8797,6 +10479,7 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
"integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
+ "dev": true,
"engines": {
"node": ">= 0.4"
},
@@ -8805,9 +10488,10 @@
}
},
"node_modules/has-symbols": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
- "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -8842,9 +10526,10 @@
}
},
"node_modules/hasown": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz",
- "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "license": "MIT",
"dependencies": {
"function-bind": "^1.1.2"
},
@@ -9096,22 +10781,6 @@
"safe-buffer": "~5.1.0"
}
},
- "node_modules/html-entities": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz",
- "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/mdevils"
- },
- {
- "type": "patreon",
- "url": "https://patreon.com/mdevils"
- }
- ],
- "license": "MIT"
- },
"node_modules/html-escaper": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
@@ -9238,6 +10907,7 @@
"url": "https://github.com/sponsors/fb55"
}
],
+ "license": "MIT",
"dependencies": {
"domelementtype": "^2.3.0",
"domhandler": "^5.0.3",
@@ -9257,25 +10927,29 @@
"license": "MIT"
},
"node_modules/http-errors": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
- "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
+ "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==",
"license": "MIT",
"dependencies": {
- "depd": "2.0.0",
- "inherits": "2.0.4",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "toidentifier": "1.0.1"
+ "depd": "~2.0.0",
+ "inherits": "~2.0.4",
+ "setprototypeof": "~1.2.0",
+ "statuses": "~2.0.2",
+ "toidentifier": "~1.0.1"
},
"engines": {
"node": ">= 0.8"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
"node_modules/http-parser-js": {
- "version": "0.5.8",
- "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz",
- "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==",
+ "version": "0.5.10",
+ "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz",
+ "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==",
"license": "MIT"
},
"node_modules/http-proxy": {
@@ -9293,9 +10967,9 @@
}
},
"node_modules/http-proxy-middleware": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz",
- "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==",
+ "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==",
"license": "MIT",
"dependencies": {
"@types/http-proxy": "^1.17.8",
@@ -9349,6 +11023,27 @@
"node": ">=10.17.0"
}
},
+ "node_modules/hyperdyperid": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz",
+ "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.18"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "license": "MIT",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/icss-utils": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
@@ -9370,12 +11065,10 @@
}
},
"node_modules/image-size": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz",
- "integrity": "sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==",
- "dependencies": {
- "queue": "6.0.2"
- },
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/image-size/-/image-size-2.0.2.tgz",
+ "integrity": "sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==",
+ "license": "MIT",
"bin": {
"image-size": "bin/image-size.js"
},
@@ -9383,15 +11076,6 @@
"node": ">=16.x"
}
},
- "node_modules/immer": {
- "version": "9.0.21",
- "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz",
- "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==",
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/immer"
- }
- },
"node_modules/import-fresh": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
@@ -9444,6 +11128,7 @@
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "dev": true,
"dependencies": {
"once": "^1.3.0",
"wrappy": "1"
@@ -9478,14 +11163,6 @@
"node": ">= 0.4"
}
},
- "node_modules/interpret": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
- "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
- "engines": {
- "node": ">= 0.10"
- }
- },
"node_modules/invariant": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
@@ -9495,9 +11172,9 @@
}
},
"node_modules/ipaddr.js": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz",
- "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.3.0.tgz",
+ "integrity": "sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==",
"license": "MIT",
"engines": {
"node": ">= 10"
@@ -9622,11 +11299,15 @@
}
},
"node_modules/is-core-module": {
- "version": "2.13.1",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
- "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
+ "version": "2.16.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
+ "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
+ "license": "MIT",
"dependencies": {
- "hasown": "^2.0.0"
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -9741,6 +11422,39 @@
"url": "https://github.com/sponsors/wooorm"
}
},
+ "node_modules/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==",
+ "license": "MIT",
+ "dependencies": {
+ "is-docker": "^3.0.0"
+ },
+ "bin": {
+ "is-inside-container": "cli.js"
+ },
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-inside-container/node_modules/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==",
+ "license": "MIT",
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/is-installed-globally": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz",
@@ -9777,6 +11491,18 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-network-error": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.3.0.tgz",
+ "integrity": "sha512-6oIwpsgRfnDiyEDLMay/GqCl3HoAtH5+RUKW29gYkL0QA+ipzpDLA16yQs7/RHCSu+BwgbJaOUqa4A99qNVQVw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/is-npm": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz",
@@ -9819,14 +11545,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/is-path-cwd": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
- "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/is-path-inside": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
@@ -9878,14 +11596,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/is-root": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz",
- "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/is-set": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz",
@@ -10161,13 +11871,14 @@
"node_modules/json-schema-traverse": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "license": "MIT"
},
"node_modules/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==",
- "devOptional": true
+ "dev": true
},
"node_modules/json5": {
"version": "2.2.3",
@@ -10288,13 +11999,13 @@
}
},
"node_modules/launch-editor": {
- "version": "2.9.1",
- "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz",
- "integrity": "sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==",
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.12.0.tgz",
+ "integrity": "sha512-giOHXoOtifjdHqUamwKq6c49GzBdLjvxrd2D+Q4V6uOHopJv7p9VJxikDsQ/CBXZbEITgUqSVHXLTG3VhPP1Dg==",
"license": "MIT",
"dependencies": {
- "picocolors": "^1.0.0",
- "shell-quote": "^1.8.1"
+ "picocolors": "^1.1.1",
+ "shell-quote": "^1.8.3"
}
},
"node_modules/leven": {
@@ -10309,7 +12020,7 @@
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
"integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
- "devOptional": true,
+ "dev": true,
"dependencies": {
"prelude-ls": "^1.2.1",
"type-check": "~0.4.0"
@@ -10319,9 +12030,9 @@
}
},
"node_modules/lilconfig": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz",
- "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==",
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz",
+ "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==",
"license": "MIT",
"engines": {
"node": ">=14"
@@ -10360,6 +12071,7 @@
"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,
"dependencies": {
"p-locate": "^5.0.0"
},
@@ -10391,7 +12103,7 @@
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "devOptional": true
+ "dev": true
},
"node_modules/lodash.uniq": {
"version": "4.5.0",
@@ -10467,6 +12179,15 @@
"url": "https://github.com/sponsors/wooorm"
}
},
+ "node_modules/math-intrinsics": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+ "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/mdast-util-directive": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz",
@@ -10880,14 +12601,32 @@
}
},
"node_modules/memfs": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz",
- "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==",
+ "version": "4.56.10",
+ "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.56.10.tgz",
+ "integrity": "sha512-eLvzyrwqLHnLYalJP7YZ3wBe79MXktMdfQbvMrVD80K+NhrIukCVBvgP30zTJYEEDh9hZ/ep9z0KOdD7FSHo7w==",
+ "license": "Apache-2.0",
"dependencies": {
- "fs-monkey": "^1.0.4"
+ "@jsonjoy.com/fs-core": "4.56.10",
+ "@jsonjoy.com/fs-fsa": "4.56.10",
+ "@jsonjoy.com/fs-node": "4.56.10",
+ "@jsonjoy.com/fs-node-builtins": "4.56.10",
+ "@jsonjoy.com/fs-node-to-fsa": "4.56.10",
+ "@jsonjoy.com/fs-node-utils": "4.56.10",
+ "@jsonjoy.com/fs-print": "4.56.10",
+ "@jsonjoy.com/fs-snapshot": "4.56.10",
+ "@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"
},
- "engines": {
- "node": ">= 4.0.0"
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
}
},
"node_modules/merge-descriptors": {
@@ -12733,9 +14472,9 @@
}
},
"node_modules/mini-css-extract-plugin": {
- "version": "2.9.2",
- "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz",
- "integrity": "sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==",
+ "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==",
"license": "MIT",
"dependencies": {
"schema-utils": "^4.0.0",
@@ -12755,7 +14494,8 @@
"node_modules/minimalistic-assert": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
- "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="
+ "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
+ "license": "ISC"
},
"node_modules/minimist": {
"version": "1.2.8",
@@ -12775,9 +14515,10 @@
}
},
"node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "license": "MIT"
},
"node_modules/multicast-dns": {
"version": "7.2.5",
@@ -12793,9 +14534,9 @@
}
},
"node_modules/nanoid": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
- "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
+ "version": "3.3.11",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
+ "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
"funding": [
{
"type": "github",
@@ -12814,7 +14555,7 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
- "devOptional": true
+ "dev": true
},
"node_modules/negotiator": {
"version": "0.6.4",
@@ -12853,19 +14594,10 @@
"node": ">=18"
}
},
- "node_modules/node-forge": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
- "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
- "license": "(BSD-3-Clause OR GPL-2.0)",
- "engines": {
- "node": ">= 6.13.0"
- }
- },
"node_modules/node-releases": {
- "version": "2.0.18",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz",
- "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==",
+ "version": "2.0.27",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz",
+ "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==",
"license": "MIT"
},
"node_modules/normalize-path": {
@@ -12876,15 +14608,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/normalize-range": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
- "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/npm-run-path": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
@@ -12992,9 +14715,13 @@
}
},
"node_modules/object-inspect": {
- "version": "1.13.1",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
- "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
+ "version": "1.13.4",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
+ "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -13116,9 +14843,9 @@
}
},
"node_modules/on-headers": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
- "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz",
+ "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -13128,6 +14855,7 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dev": true,
"dependencies": {
"wrappy": "1"
}
@@ -13176,7 +14904,7 @@
"version": "0.9.3",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
"integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==",
- "devOptional": true,
+ "dev": true,
"dependencies": {
"@aashutoshrathi/word-wrap": "^1.2.3",
"deep-is": "^0.1.3",
@@ -13197,10 +14925,20 @@
"node": ">=12.20"
}
},
+ "node_modules/p-finally": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/p-limit": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
"integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dev": true,
"dependencies": {
"yocto-queue": "^0.1.0"
},
@@ -13215,6 +14953,7 @@
"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,
"dependencies": {
"p-limit": "^3.0.2"
},
@@ -13239,25 +14978,49 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/p-queue": {
+ "version": "6.6.2",
+ "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz",
+ "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==",
+ "license": "MIT",
+ "dependencies": {
+ "eventemitter3": "^4.0.4",
+ "p-timeout": "^3.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/p-retry": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz",
- "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==",
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz",
+ "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==",
"license": "MIT",
"dependencies": {
- "@types/retry": "0.12.0",
+ "@types/retry": "0.12.2",
+ "is-network-error": "^1.0.0",
"retry": "^0.13.1"
},
"engines": {
- "node": ">=8"
+ "node": ">=16.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "node_modules/p-timeout": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz",
+ "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==",
+ "license": "MIT",
+ "dependencies": {
+ "p-finally": "^1.0.0"
+ },
"engines": {
- "node": ">=6"
+ "node": ">=8"
}
},
"node_modules/package-json": {
@@ -13341,7 +15104,8 @@
"node_modules/parse-numeric-range": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz",
- "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ=="
+ "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==",
+ "license": "ISC"
},
"node_modules/parse5": {
"version": "7.1.2",
@@ -13355,11 +15119,12 @@
}
},
"node_modules/parse5-htmlparser2-tree-adapter": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz",
- "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz",
+ "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==",
+ "license": "MIT",
"dependencies": {
- "domhandler": "^5.0.2",
+ "domhandler": "^5.0.3",
"parse5": "^7.0.0"
},
"funding": {
@@ -13388,6 +15153,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true,
"engines": {
"node": ">=8"
}
@@ -13396,6 +15162,7 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+ "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -13548,9 +15315,9 @@
}
},
"node_modules/pkg-dir/node_modules/yocto-queue": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz",
- "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz",
+ "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==",
"license": "MIT",
"engines": {
"node": ">=12.20"
@@ -13559,115 +15326,199 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/pkg-up": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz",
- "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==",
+ "node_modules/pkijs": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/pkijs/-/pkijs-3.3.3.tgz",
+ "integrity": "sha512-+KD8hJtqQMYoTuL1bbGOqxb4z+nZkTAwVdNtWwe8Tc2xNbEmdJYIYoc6Qt0uF55e6YW6KuTHw1DjQ18gMhzepw==",
+ "license": "BSD-3-Clause",
"dependencies": {
- "find-up": "^3.0.0"
+ "@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"
},
"engines": {
- "node": ">=8"
+ "node": ">=16.0.0"
}
},
- "node_modules/pkg-up/node_modules/find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "node_modules/postcss": {
+ "version": "8.5.6",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
+ "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
"dependencies": {
- "locate-path": "^3.0.0"
+ "nanoid": "^3.3.11",
+ "picocolors": "^1.1.1",
+ "source-map-js": "^1.2.1"
},
"engines": {
- "node": ">=6"
+ "node": "^10 || ^12 || >=14"
}
},
- "node_modules/pkg-up/node_modules/locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "node_modules/postcss-attribute-case-insensitive": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-7.0.1.tgz",
+ "integrity": "sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT",
"dependencies": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
+ "postcss-selector-parser": "^7.0.0"
},
"engines": {
- "node": ">=6"
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
}
},
- "node_modules/pkg-up/node_modules/p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "node_modules/postcss-attribute-case-insensitive/node_modules/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==",
+ "license": "MIT",
"dependencies": {
- "p-try": "^2.0.0"
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
},
"engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=4"
}
},
- "node_modules/pkg-up/node_modules/p-locate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "node_modules/postcss-calc": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz",
+ "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==",
+ "license": "MIT",
"dependencies": {
- "p-limit": "^2.0.0"
+ "postcss-selector-parser": "^6.0.11",
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": ">=6"
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.2"
}
},
- "node_modules/pkg-up/node_modules/path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
+ "node_modules/postcss-clamp": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz",
+ "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==",
+ "license": "MIT",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
"engines": {
- "node": ">=4"
+ "node": ">=7.6.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.6"
}
},
- "node_modules/postcss": {
- "version": "8.4.47",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz",
- "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==",
+ "node_modules/postcss-color-functional-notation": {
+ "version": "7.0.12",
+ "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.12.tgz",
+ "integrity": "sha512-TLCW9fN5kvO/u38/uesdpbx3e8AkTYhMvDZYa9JpmImWuTE99bDQ7GU7hdOADIZsiI9/zuxfAJxny/khknp1Zw==",
"funding": [
{
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
},
{
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss"
- },
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/css-color-parser": "^3.1.0",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/postcss-color-hex-alpha": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-10.0.0.tgz",
+ "integrity": "sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w==",
+ "funding": [
{
"type": "github",
- "url": "https://github.com/sponsors/ai"
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
}
],
"license": "MIT",
"dependencies": {
- "nanoid": "^3.3.7",
- "picocolors": "^1.1.0",
- "source-map-js": "^1.2.1"
+ "@csstools/utilities": "^2.0.0",
+ "postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": "^10 || ^12 || >=14"
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
}
},
- "node_modules/postcss-calc": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz",
- "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==",
- "license": "MIT",
+ "node_modules/postcss-color-rebeccapurple": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-10.0.0.tgz",
+ "integrity": "sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"dependencies": {
- "postcss-selector-parser": "^6.0.11",
+ "@csstools/utilities": "^2.0.0",
"postcss-value-parser": "^4.2.0"
},
"engines": {
- "node": "^14 || ^16 || >=18.0"
+ "node": ">=18"
},
"peerDependencies": {
- "postcss": "^8.2.2"
+ "postcss": "^8.4"
}
},
"node_modules/postcss-colormin": {
@@ -13676,32 +15527,168 @@
"integrity": "sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==",
"license": "MIT",
"dependencies": {
- "browserslist": "^4.23.0",
- "caniuse-api": "^3.0.0",
- "colord": "^2.9.3",
- "postcss-value-parser": "^4.2.0"
+ "browserslist": "^4.23.0",
+ "caniuse-api": "^3.0.0",
+ "colord": "^2.9.3",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
+ }
+ },
+ "node_modules/postcss-convert-values": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz",
+ "integrity": "sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==",
+ "license": "MIT",
+ "dependencies": {
+ "browserslist": "^4.23.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
+ }
+ },
+ "node_modules/postcss-custom-media": {
+ "version": "11.0.6",
+ "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-11.0.6.tgz",
+ "integrity": "sha512-C4lD4b7mUIw+RZhtY7qUbf4eADmb7Ey8BFA2px9jUbwg7pjTZDl4KY4bvlUV+/vXQvzQRfiGEVJyAbtOsCMInw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "@csstools/cascade-layer-name-parser": "^2.0.5",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/media-query-list-parser": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/postcss-custom-properties": {
+ "version": "14.0.6",
+ "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-14.0.6.tgz",
+ "integrity": "sha512-fTYSp3xuk4BUeVhxCSJdIPhDLpJfNakZKoiTDx7yRGCdlZrSJR7mWKVOBS4sBF+5poPQFMj2YdXx1VHItBGihQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "@csstools/cascade-layer-name-parser": "^2.0.5",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/utilities": "^2.0.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/postcss-custom-selectors": {
+ "version": "8.0.5",
+ "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-8.0.5.tgz",
+ "integrity": "sha512-9PGmckHQswiB2usSO6XMSswO2yFWVoCAuih1yl9FVcwkscLjRKjwsjM3t+NIWpSU2Jx3eOiK2+t4vVTQaoCHHg==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "@csstools/cascade-layer-name-parser": "^2.0.5",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "postcss-selector-parser": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/postcss-custom-selectors/node_modules/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==",
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/postcss-dir-pseudo-class": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-9.0.1.tgz",
+ "integrity": "sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "postcss-selector-parser": "^7.0.0"
},
"engines": {
- "node": "^14 || ^16 || >=18.0"
+ "node": ">=18"
},
"peerDependencies": {
- "postcss": "^8.4.31"
+ "postcss": "^8.4"
}
},
- "node_modules/postcss-convert-values": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz",
- "integrity": "sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==",
+ "node_modules/postcss-dir-pseudo-class/node_modules/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==",
"license": "MIT",
"dependencies": {
- "browserslist": "^4.23.0",
- "postcss-value-parser": "^4.2.0"
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
},
"engines": {
- "node": "^14 || ^16 || >=18.0"
- },
- "peerDependencies": {
- "postcss": "^8.4.31"
+ "node": ">=4"
}
},
"node_modules/postcss-discard-comments": {
@@ -13767,6 +15754,195 @@
"postcss": "^8.4.31"
}
},
+ "node_modules/postcss-double-position-gradients": {
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-6.0.4.tgz",
+ "integrity": "sha512-m6IKmxo7FxSP5nF2l63QbCC3r+bWpFUWmZXZf096WxG0m7Vl1Q1+ruFOhpdDRmKrRS+S3Jtk+TVk/7z0+BVK6g==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/postcss-focus-visible": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-10.0.1.tgz",
+ "integrity": "sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "postcss-selector-parser": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/postcss-focus-visible/node_modules/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==",
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/postcss-focus-within": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-9.0.1.tgz",
+ "integrity": "sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "postcss-selector-parser": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/postcss-focus-within/node_modules/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==",
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/postcss-font-variant": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz",
+ "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==",
+ "license": "MIT",
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "node_modules/postcss-gap-properties": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-6.0.0.tgz",
+ "integrity": "sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/postcss-image-set-function": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-7.0.0.tgz",
+ "integrity": "sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/utilities": "^2.0.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/postcss-lab-function": {
+ "version": "7.0.12",
+ "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-7.0.12.tgz",
+ "integrity": "sha512-tUcyRk1ZTPec3OuKFsqtRzW2Go5lehW29XA21lZ65XmzQkz43VY2tyWEC202F7W3mILOjw0voOiuxRGTsN+J9w==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/css-color-parser": "^3.1.0",
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
"node_modules/postcss-loader": {
"version": "7.3.4",
"resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.4.tgz",
@@ -13789,6 +15965,31 @@
"webpack": "^5.0.0"
}
},
+ "node_modules/postcss-logical": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-8.1.0.tgz",
+ "integrity": "sha512-pL1hXFQ2fEXNKiNiAgtfA005T9FBxky5zkX6s4GZM2D8RkVgRqz3f4g1JUoq925zXv495qk8UNldDwh8uGEDoA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
"node_modules/postcss-merge-idents": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz",
@@ -13916,13 +16117,13 @@
}
},
"node_modules/postcss-modules-local-by-default": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz",
- "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==",
+ "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==",
"license": "MIT",
"dependencies": {
"icss-utils": "^5.0.0",
- "postcss-selector-parser": "^6.0.2",
+ "postcss-selector-parser": "^7.0.0",
"postcss-value-parser": "^4.1.0"
},
"engines": {
@@ -13932,13 +16133,26 @@
"postcss": "^8.1.0"
}
},
+ "node_modules/postcss-modules-local-by-default/node_modules/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==",
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/postcss-modules-scope": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz",
- "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz",
+ "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==",
"license": "ISC",
"dependencies": {
- "postcss-selector-parser": "^6.0.4"
+ "postcss-selector-parser": "^7.0.0"
},
"engines": {
"node": "^10 || ^12 || >= 14"
@@ -13947,19 +16161,116 @@
"postcss": "^8.1.0"
}
},
+ "node_modules/postcss-modules-scope/node_modules/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==",
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/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==",
"license": "ISC",
"dependencies": {
- "icss-utils": "^5.0.0"
+ "icss-utils": "^5.0.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >= 14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "node_modules/postcss-nesting": {
+ "version": "13.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-13.0.2.tgz",
+ "integrity": "sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/selector-resolve-nested": "^3.1.0",
+ "@csstools/selector-specificity": "^5.0.0",
+ "postcss-selector-parser": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/postcss-nesting/node_modules/@csstools/selector-resolve-nested": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@csstools/selector-resolve-nested/-/selector-resolve-nested-3.1.0.tgz",
+ "integrity": "sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss-selector-parser": "^7.0.0"
+ }
+ },
+ "node_modules/postcss-nesting/node_modules/@csstools/selector-specificity": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz",
+ "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss-selector-parser": "^7.0.0"
+ }
+ },
+ "node_modules/postcss-nesting/node_modules/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==",
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
},
"engines": {
- "node": "^10 || ^12 || >= 14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
+ "node": ">=4"
}
},
"node_modules/postcss-normalize-charset": {
@@ -14095,6 +16406,28 @@
"postcss": "^8.4.31"
}
},
+ "node_modules/postcss-opacity-percentage": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-3.0.0.tgz",
+ "integrity": "sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ==",
+ "funding": [
+ {
+ "type": "kofi",
+ "url": "https://ko-fi.com/mrcgrtz"
+ },
+ {
+ "type": "liberapay",
+ "url": "https://liberapay.com/mrcgrtz"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
"node_modules/postcss-ordered-values": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz",
@@ -14111,6 +16444,198 @@
"postcss": "^8.4.31"
}
},
+ "node_modules/postcss-overflow-shorthand": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-6.0.0.tgz",
+ "integrity": "sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/postcss-page-break": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz",
+ "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==",
+ "license": "MIT",
+ "peerDependencies": {
+ "postcss": "^8"
+ }
+ },
+ "node_modules/postcss-place": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-10.0.0.tgz",
+ "integrity": "sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/postcss-preset-env": {
+ "version": "10.6.1",
+ "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-10.6.1.tgz",
+ "integrity": "sha512-yrk74d9EvY+W7+lO9Aj1QmjWY9q5NsKjK2V9drkOPZB/X6KZ0B3igKsHUYakb7oYVhnioWypQX3xGuePf89f3g==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/postcss-alpha-function": "^1.0.1",
+ "@csstools/postcss-cascade-layers": "^5.0.2",
+ "@csstools/postcss-color-function": "^4.0.12",
+ "@csstools/postcss-color-function-display-p3-linear": "^1.0.1",
+ "@csstools/postcss-color-mix-function": "^3.0.12",
+ "@csstools/postcss-color-mix-variadic-function-arguments": "^1.0.2",
+ "@csstools/postcss-content-alt-text": "^2.0.8",
+ "@csstools/postcss-contrast-color-function": "^2.0.12",
+ "@csstools/postcss-exponential-functions": "^2.0.9",
+ "@csstools/postcss-font-format-keywords": "^4.0.0",
+ "@csstools/postcss-gamut-mapping": "^2.0.11",
+ "@csstools/postcss-gradients-interpolation-method": "^5.0.12",
+ "@csstools/postcss-hwb-function": "^4.0.12",
+ "@csstools/postcss-ic-unit": "^4.0.4",
+ "@csstools/postcss-initial": "^2.0.1",
+ "@csstools/postcss-is-pseudo-class": "^5.0.3",
+ "@csstools/postcss-light-dark-function": "^2.0.11",
+ "@csstools/postcss-logical-float-and-clear": "^3.0.0",
+ "@csstools/postcss-logical-overflow": "^2.0.0",
+ "@csstools/postcss-logical-overscroll-behavior": "^2.0.0",
+ "@csstools/postcss-logical-resize": "^3.0.0",
+ "@csstools/postcss-logical-viewport-units": "^3.0.4",
+ "@csstools/postcss-media-minmax": "^2.0.9",
+ "@csstools/postcss-media-queries-aspect-ratio-number-values": "^3.0.5",
+ "@csstools/postcss-nested-calc": "^4.0.0",
+ "@csstools/postcss-normalize-display-values": "^4.0.1",
+ "@csstools/postcss-oklab-function": "^4.0.12",
+ "@csstools/postcss-position-area-property": "^1.0.0",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/postcss-property-rule-prelude-list": "^1.0.0",
+ "@csstools/postcss-random-function": "^2.0.1",
+ "@csstools/postcss-relative-color-syntax": "^3.0.12",
+ "@csstools/postcss-scope-pseudo-class": "^4.0.1",
+ "@csstools/postcss-sign-functions": "^1.1.4",
+ "@csstools/postcss-stepped-value-functions": "^4.0.9",
+ "@csstools/postcss-syntax-descriptor-syntax-production": "^1.0.1",
+ "@csstools/postcss-system-ui-font-family": "^1.0.0",
+ "@csstools/postcss-text-decoration-shorthand": "^4.0.3",
+ "@csstools/postcss-trigonometric-functions": "^4.0.9",
+ "@csstools/postcss-unset-value": "^4.0.0",
+ "autoprefixer": "^10.4.23",
+ "browserslist": "^4.28.1",
+ "css-blank-pseudo": "^7.0.1",
+ "css-has-pseudo": "^7.0.3",
+ "css-prefers-color-scheme": "^10.0.0",
+ "cssdb": "^8.6.0",
+ "postcss-attribute-case-insensitive": "^7.0.1",
+ "postcss-clamp": "^4.1.0",
+ "postcss-color-functional-notation": "^7.0.12",
+ "postcss-color-hex-alpha": "^10.0.0",
+ "postcss-color-rebeccapurple": "^10.0.0",
+ "postcss-custom-media": "^11.0.6",
+ "postcss-custom-properties": "^14.0.6",
+ "postcss-custom-selectors": "^8.0.5",
+ "postcss-dir-pseudo-class": "^9.0.1",
+ "postcss-double-position-gradients": "^6.0.4",
+ "postcss-focus-visible": "^10.0.1",
+ "postcss-focus-within": "^9.0.1",
+ "postcss-font-variant": "^5.0.0",
+ "postcss-gap-properties": "^6.0.0",
+ "postcss-image-set-function": "^7.0.0",
+ "postcss-lab-function": "^7.0.12",
+ "postcss-logical": "^8.1.0",
+ "postcss-nesting": "^13.0.2",
+ "postcss-opacity-percentage": "^3.0.0",
+ "postcss-overflow-shorthand": "^6.0.0",
+ "postcss-page-break": "^3.0.4",
+ "postcss-place": "^10.0.0",
+ "postcss-pseudo-class-any-link": "^10.0.1",
+ "postcss-replace-overflow-wrap": "^4.0.0",
+ "postcss-selector-not": "^8.0.1"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/postcss-pseudo-class-any-link": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-10.0.1.tgz",
+ "integrity": "sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "postcss-selector-parser": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/postcss-pseudo-class-any-link/node_modules/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==",
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/postcss-reduce-idents": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz",
@@ -14157,6 +16682,53 @@
"postcss": "^8.4.31"
}
},
+ "node_modules/postcss-replace-overflow-wrap": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz",
+ "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==",
+ "license": "MIT",
+ "peerDependencies": {
+ "postcss": "^8.0.3"
+ }
+ },
+ "node_modules/postcss-selector-not": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-8.0.1.tgz",
+ "integrity": "sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "postcss-selector-parser": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/postcss-selector-not/node_modules/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==",
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/postcss-selector-parser": {
"version": "6.1.2",
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
@@ -14238,7 +16810,7 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
"integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
- "devOptional": true,
+ "dev": true,
"engines": {
"node": ">= 0.8.0"
}
@@ -14301,9 +16873,9 @@
}
},
"node_modules/prismjs": {
- "version": "1.29.0",
- "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz",
- "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==",
+ "version": "1.30.0",
+ "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz",
+ "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==",
"license": "MIT",
"engines": {
"node": ">=6"
@@ -14395,13 +16967,31 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/pvtsutils": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.6.tgz",
+ "integrity": "sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.8.1"
+ }
+ },
+ "node_modules/pvutils": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.5.tgz",
+ "integrity": "sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
"node_modules/qs": {
- "version": "6.13.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
- "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
+ "version": "6.14.1",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz",
+ "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==",
"license": "BSD-3-Clause",
"dependencies": {
- "side-channel": "^1.0.6"
+ "side-channel": "^1.1.0"
},
"engines": {
"node": ">=0.6"
@@ -14410,14 +17000,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/queue": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz",
- "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==",
- "dependencies": {
- "inherits": "~2.0.3"
- }
- },
"node_modules/queue-microtask": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
@@ -14466,15 +17048,15 @@
}
},
"node_modules/raw-body": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
- "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
+ "version": "2.5.3",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz",
+ "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==",
"license": "MIT",
"dependencies": {
- "bytes": "3.1.2",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
+ "bytes": "~3.1.2",
+ "http-errors": "~2.0.1",
+ "iconv-lite": "~0.4.24",
+ "unpipe": "~1.0.0"
},
"engines": {
"node": ">= 0.8"
@@ -14489,18 +17071,6 @@
"node": ">= 0.8"
}
},
- "node_modules/raw-body/node_modules/iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "license": "MIT",
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/rc": {
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
@@ -14534,48 +17104,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/react-dev-utils": {
- "version": "12.0.1",
- "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz",
- "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==",
- "dependencies": {
- "@babel/code-frame": "^7.16.0",
- "address": "^1.1.2",
- "browserslist": "^4.18.1",
- "chalk": "^4.1.2",
- "cross-spawn": "^7.0.3",
- "detect-port-alt": "^1.1.6",
- "escape-string-regexp": "^4.0.0",
- "filesize": "^8.0.6",
- "find-up": "^5.0.0",
- "fork-ts-checker-webpack-plugin": "^6.5.0",
- "global-modules": "^2.0.0",
- "globby": "^11.0.4",
- "gzip-size": "^6.0.0",
- "immer": "^9.0.7",
- "is-root": "^2.1.0",
- "loader-utils": "^3.2.0",
- "open": "^8.4.0",
- "pkg-up": "^3.1.0",
- "prompts": "^2.4.2",
- "react-error-overlay": "^6.0.11",
- "recursive-readdir": "^2.2.2",
- "shell-quote": "^1.7.3",
- "strip-ansi": "^6.0.1",
- "text-table": "^0.2.0"
- },
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/react-dev-utils/node_modules/loader-utils": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz",
- "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==",
- "engines": {
- "node": ">= 12.13.0"
- }
- },
"node_modules/react-dom": {
"version": "18.2.0",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
@@ -14588,11 +17116,6 @@
"react": "^18.2.0"
}
},
- "node_modules/react-error-overlay": {
- "version": "6.0.11",
- "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz",
- "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg=="
- },
"node_modules/react-fast-compare": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz",
@@ -14620,15 +17143,15 @@
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
},
"node_modules/react-json-view-lite": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-1.5.0.tgz",
- "integrity": "sha512-nWqA1E4jKPklL2jvHWs6s+7Na0qNgw9HCP6xehdQJeg6nPBTFZgGwyko9Q0oj+jQWKTTVRS30u0toM5wiuL3iw==",
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-2.5.0.tgz",
+ "integrity": "sha512-tk7o7QG9oYyELWHL8xiMQ8x4WzjCzbWNyig3uexmkLb54r8jO0yH3WCWx8UZS0c49eSA4QUmG5caiRJ8fAn58g==",
"license": "MIT",
"engines": {
- "node": ">=14"
+ "node": ">=18"
},
"peerDependencies": {
- "react": "^16.13.1 || ^17.0.0 || ^18.0.0"
+ "react": "^18.0.0 || ^19.0.0"
}
},
"node_modules/react-loadable": {
@@ -14707,6 +17230,20 @@
"react": ">=15"
}
},
+ "node_modules/readable-stream": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/readdirp": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
@@ -14718,52 +17255,11 @@
"node": ">=8.10.0"
}
},
- "node_modules/reading-time": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz",
- "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg=="
- },
- "node_modules/rechoir": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
- "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==",
- "dependencies": {
- "resolve": "^1.1.6"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/recursive-readdir": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz",
- "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==",
- "dependencies": {
- "minimatch": "^3.0.5"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/recursive-readdir/node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/recursive-readdir/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
+ "node_modules/reflect-metadata": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz",
+ "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==",
+ "license": "Apache-2.0"
},
"node_modules/reflect.getprototypeof": {
"version": "1.0.4",
@@ -15158,6 +17654,7 @@
"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==",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -15177,17 +17674,21 @@
"license": "MIT"
},
"node_modules/resolve": {
- "version": "1.22.8",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
- "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
+ "version": "1.22.11",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
+ "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==",
+ "license": "MIT",
"dependencies": {
- "is-core-module": "^2.13.0",
+ "is-core-module": "^2.16.1",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
},
"bin": {
"resolve": "bin/resolve"
},
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -15246,6 +17747,7 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
"dependencies": {
"glob": "^7.1.3"
},
@@ -15256,11 +17758,6 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/rtl-detect": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz",
- "integrity": "sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ=="
- },
"node_modules/rtlcss": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-4.3.0.tgz",
@@ -15279,6 +17776,18 @@
"node": ">=12.0.0"
}
},
+ "node_modules/run-applescript": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz",
+ "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/run-parallel": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
@@ -15364,12 +17873,17 @@
"node_modules/safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "license": "MIT"
},
"node_modules/sax": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz",
- "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA=="
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.4.tgz",
+ "integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==",
+ "license": "BlueOak-1.0.0",
+ "engines": {
+ "node": ">=11.0.0"
+ }
},
"node_modules/scheduler": {
"version": "0.23.0",
@@ -15379,10 +17893,16 @@
"loose-envify": "^1.1.0"
}
},
+ "node_modules/schema-dts": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/schema-dts/-/schema-dts-1.1.5.tgz",
+ "integrity": "sha512-RJr9EaCmsLzBX2NDiO5Z3ux2BVosNZN5jo0gWgsyKvxKIUL5R3swNvoorulAeL9kLB0iTSX7V6aokhla2m7xbg==",
+ "license": "Apache-2.0"
+ },
"node_modules/schema-utils": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz",
- "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==",
+ "version": "4.3.3",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz",
+ "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==",
"license": "MIT",
"dependencies": {
"@types/json-schema": "^7.0.9",
@@ -15391,48 +17911,13 @@
"ajv-keywords": "^5.1.0"
},
"engines": {
- "node": ">= 12.13.0"
+ "node": ">= 10.13.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/webpack"
}
},
- "node_modules/schema-utils/node_modules/ajv": {
- "version": "8.17.1",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
- "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
- "license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.3",
- "fast-uri": "^3.0.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/schema-utils/node_modules/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==",
- "license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.3"
- },
- "peerDependencies": {
- "ajv": "^8.8.2"
- }
- },
- "node_modules/search-insights": {
- "version": "2.17.2",
- "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.17.2.tgz",
- "integrity": "sha512-zFNpOpUO+tY2D85KrxJ+aqwnIfdEGi06UH2+xEb+Bp9Mwznmauqc9djbnBibJO5mpfUPPa8st6Sx65+vbeO45g==",
- "license": "MIT",
- "peer": true
- },
"node_modules/section-matter": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz",
@@ -15452,16 +17937,16 @@
"license": "MIT"
},
"node_modules/selfsigned": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz",
- "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==",
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-5.5.0.tgz",
+ "integrity": "sha512-ftnu3TW4+3eBfLRFnDEkzGxSF/10BJBkaLJuBHZX0kiPS7bRdlpZGu6YGt4KngMkdTwJE6MbjavFpqHvqVt+Ew==",
"license": "MIT",
"dependencies": {
- "@types/node-forge": "^1.3.0",
- "node-forge": "^1"
+ "@peculiar/x509": "^1.14.2",
+ "pkijs": "^3.3.3"
},
"engines": {
- "node": ">=10"
+ "node": ">=18"
}
},
"node_modules/semver": {
@@ -15491,24 +17976,24 @@
}
},
"node_modules/send": {
- "version": "0.19.0",
- "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
- "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
+ "version": "0.19.2",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz",
+ "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==",
"license": "MIT",
"dependencies": {
"debug": "2.6.9",
"depd": "2.0.0",
"destroy": "1.2.0",
- "encodeurl": "~1.0.2",
+ "encodeurl": "~2.0.0",
"escape-html": "~1.0.3",
"etag": "~1.8.1",
- "fresh": "0.5.2",
- "http-errors": "2.0.0",
+ "fresh": "~0.5.2",
+ "http-errors": "~2.0.1",
"mime": "1.6.0",
"ms": "2.1.3",
- "on-finished": "2.4.1",
+ "on-finished": "~2.4.1",
"range-parser": "~1.2.1",
- "statuses": "2.0.1"
+ "statuses": "~2.0.2"
},
"engines": {
"node": ">= 0.8.0"
@@ -15529,21 +18014,6 @@
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"license": "MIT"
},
- "node_modules/send/node_modules/encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/send/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "license": "MIT"
- },
"node_modules/send/node_modules/range-parser": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
@@ -15626,21 +18096,25 @@
"license": "MIT"
},
"node_modules/serve-index": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
- "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==",
+ "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==",
"license": "MIT",
"dependencies": {
- "accepts": "~1.3.4",
+ "accepts": "~1.3.8",
"batch": "0.6.1",
"debug": "2.6.9",
"escape-html": "~1.0.3",
- "http-errors": "~1.6.2",
- "mime-types": "~2.1.17",
- "parseurl": "~1.3.2"
+ "http-errors": "~1.8.0",
+ "mime-types": "~2.1.35",
+ "parseurl": "~1.3.3"
},
"engines": {
"node": ">= 0.8.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
"node_modules/serve-index/node_modules/debug": {
@@ -15662,38 +18136,27 @@
}
},
"node_modules/serve-index/node_modules/http-errors": {
- "version": "1.6.3",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
- "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==",
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz",
+ "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==",
"license": "MIT",
"dependencies": {
"depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.0",
- "statuses": ">= 1.4.0 < 2"
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": ">= 1.5.0 < 2",
+ "toidentifier": "1.0.1"
},
"engines": {
"node": ">= 0.6"
}
},
- "node_modules/serve-index/node_modules/inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==",
- "license": "ISC"
- },
"node_modules/serve-index/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"license": "MIT"
},
- "node_modules/serve-index/node_modules/setprototypeof": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
- "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
- "license": "ISC"
- },
"node_modules/serve-index/node_modules/statuses": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
@@ -15704,15 +18167,15 @@
}
},
"node_modules/serve-static": {
- "version": "1.16.2",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
- "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
+ "version": "1.16.3",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz",
+ "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==",
"license": "MIT",
"dependencies": {
"encodeurl": "~2.0.0",
"escape-html": "~1.0.3",
"parseurl": "~1.3.3",
- "send": "0.19.0"
+ "send": "~0.19.1"
},
"engines": {
"node": ">= 0.8.0"
@@ -15791,39 +18254,81 @@
}
},
"node_modules/shell-quote": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz",
- "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==",
+ "version": "1.8.3",
+ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz",
+ "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/shelljs": {
- "version": "0.8.5",
- "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz",
- "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==",
+ "node_modules/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==",
+ "license": "MIT",
"dependencies": {
- "glob": "^7.0.0",
- "interpret": "^1.0.0",
- "rechoir": "^0.6.2"
+ "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"
},
- "bin": {
- "shjs": "bin/shjs"
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/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==",
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.3"
},
"engines": {
- "node": ">=4"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/side-channel": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
- "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
+ "node_modules/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==",
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.7",
+ "call-bound": "^1.0.2",
"es-errors": "^1.3.0",
- "get-intrinsic": "^1.2.4",
- "object-inspect": "^1.13.1"
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/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==",
+ "license": "MIT",
+ "dependencies": {
+ "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"
},
"engines": {
"node": ">= 0.4"
@@ -16003,20 +18508,6 @@
"wbuf": "^1.7.3"
}
},
- "node_modules/spdy-transport/node_modules/readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "license": "MIT",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/sprintf-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
@@ -16026,6 +18517,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz",
"integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==",
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -16034,24 +18526,25 @@
}
},
"node_modules/statuses": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
+ "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/std-env": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz",
- "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==",
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz",
+ "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==",
"license": "MIT"
},
"node_modules/string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "license": "MIT",
"dependencies": {
"safe-buffer": "~5.2.0"
}
@@ -16476,7 +18969,24 @@
"node_modules/text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw=="
+ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
+ "dev": true
+ },
+ "node_modules/thingies": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/thingies/-/thingies-2.5.0.tgz",
+ "integrity": "sha512-s+2Bwztg6PhWUD7XMfeYm5qliDdSiZm7M7n8KjTkIsm3l/2lgVRc2/Gx/v+ZX8lT4FMA+i8aQvhcWylldc+ZNw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.18"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "^2"
+ }
},
"node_modules/thunky": {
"version": "1.1.0",
@@ -16494,6 +19004,15 @@
"resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
"integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="
},
+ "node_modules/tinypool": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz",
+ "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==",
+ "license": "MIT",
+ "engines": {
+ "node": "^18.0.0 || >=20.0.0"
+ }
+ },
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@@ -16523,6 +19042,22 @@
"node": ">=6"
}
},
+ "node_modules/tree-dump": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.1.0.tgz",
+ "integrity": "sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
"node_modules/trim-lines": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz",
@@ -16566,9 +19101,10 @@
}
},
"node_modules/tslib": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
- "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
},
"node_modules/tsutils": {
"version": "3.21.0",
@@ -16591,11 +19127,29 @@
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
"dev": true
},
+ "node_modules/tsyringe": {
+ "version": "4.10.0",
+ "resolved": "https://registry.npmjs.org/tsyringe/-/tsyringe-4.10.0.tgz",
+ "integrity": "sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^1.9.3"
+ },
+ "engines": {
+ "node": ">= 6.0.0"
+ }
+ },
+ "node_modules/tsyringe/node_modules/tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "license": "0BSD"
+ },
"node_modules/type-check": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
"integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
- "devOptional": true,
+ "dev": true,
"dependencies": {
"prelude-ls": "^1.2.1"
},
@@ -16704,6 +19258,7 @@
"version": "5.3.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
"integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
+ "devOptional": true,
"peer": true,
"bin": {
"tsc": "bin/tsc",
@@ -16919,9 +19474,9 @@
}
},
"node_modules/update-browserslist-db": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz",
- "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==",
+ "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==",
"funding": [
{
"type": "opencollective",
@@ -16939,7 +19494,7 @@
"license": "MIT",
"dependencies": {
"escalade": "^3.2.0",
- "picocolors": "^1.1.0"
+ "picocolors": "^1.1.1"
},
"bin": {
"update-browserslist-db": "cli.js"
@@ -17100,7 +19655,8 @@
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+ "license": "MIT"
},
"node_modules/utila": {
"version": "0.4.0",
@@ -17128,6 +19684,7 @@
"version": "8.3.2",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "license": "MIT",
"bin": {
"uuid": "dist/bin/uuid"
}
@@ -17299,33 +19856,58 @@
}
},
"node_modules/webpack-dev-middleware": {
- "version": "5.3.4",
- "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz",
- "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==",
+ "version": "7.4.5",
+ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.5.tgz",
+ "integrity": "sha512-uxQ6YqGdE4hgDKNf7hUiPXOdtkXvBJXrfEGYSx7P7LC8hnUYGK70X6xQXUvXeNyBDDcsiQXpG2m3G9vxowaEuA==",
"license": "MIT",
"dependencies": {
"colorette": "^2.0.10",
- "memfs": "^3.4.3",
- "mime-types": "^2.1.31",
+ "memfs": "^4.43.1",
+ "mime-types": "^3.0.1",
+ "on-finished": "^2.4.1",
"range-parser": "^1.2.1",
"schema-utils": "^4.0.0"
},
"engines": {
- "node": ">= 12.13.0"
+ "node": ">= 18.12.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/webpack"
},
"peerDependencies": {
- "webpack": "^4.0.0 || ^5.0.0"
+ "webpack": "^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "webpack": {
+ "optional": true
+ }
}
},
- "node_modules/webpack-dev-middleware/node_modules/colorette": {
- "version": "2.0.20",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
- "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
- "license": "MIT"
+ "node_modules/webpack-dev-middleware/node_modules/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==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/webpack-dev-middleware/node_modules/mime-types": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz",
+ "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==",
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": "^1.54.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
},
"node_modules/webpack-dev-middleware/node_modules/range-parser": {
"version": "1.2.1",
@@ -17337,54 +19919,52 @@
}
},
"node_modules/webpack-dev-server": {
- "version": "4.15.2",
- "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz",
- "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==",
- "license": "MIT",
- "dependencies": {
- "@types/bonjour": "^3.5.9",
- "@types/connect-history-api-fallback": "^1.3.5",
- "@types/express": "^4.17.13",
- "@types/serve-index": "^1.9.1",
- "@types/serve-static": "^1.13.10",
- "@types/sockjs": "^0.3.33",
- "@types/ws": "^8.5.5",
+ "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==",
+ "license": "MIT",
+ "dependencies": {
+ "@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.0.11",
- "chokidar": "^3.5.3",
+ "bonjour-service": "^1.2.1",
+ "chokidar": "^3.6.0",
"colorette": "^2.0.10",
- "compression": "^1.7.4",
+ "compression": "^1.8.1",
"connect-history-api-fallback": "^2.0.0",
- "default-gateway": "^6.0.3",
- "express": "^4.17.3",
+ "express": "^4.22.1",
"graceful-fs": "^4.2.6",
- "html-entities": "^2.3.2",
- "http-proxy-middleware": "^2.0.3",
- "ipaddr.js": "^2.0.1",
- "launch-editor": "^2.6.0",
- "open": "^8.0.9",
- "p-retry": "^4.5.0",
- "rimraf": "^3.0.2",
- "schema-utils": "^4.0.0",
- "selfsigned": "^2.1.1",
+ "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": "^5.3.4",
- "ws": "^8.13.0"
+ "webpack-dev-middleware": "^7.4.2",
+ "ws": "^8.18.0"
},
"bin": {
"webpack-dev-server": "bin/webpack-dev-server.js"
},
"engines": {
- "node": ">= 12.13.0"
+ "node": ">= 18.12.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/webpack"
},
"peerDependencies": {
- "webpack": "^4.37.0 || ^5.0.0"
+ "webpack": "^5.0.0"
},
"peerDependenciesMeta": {
"webpack": {
@@ -17395,16 +19975,40 @@
}
}
},
- "node_modules/webpack-dev-server/node_modules/colorette": {
- "version": "2.0.20",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
- "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
- "license": "MIT"
+ "node_modules/webpack-dev-server/node_modules/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==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/open": {
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz",
+ "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==",
+ "license": "MIT",
+ "dependencies": {
+ "default-browser": "^5.2.1",
+ "define-lazy-prop": "^3.0.0",
+ "is-inside-container": "^1.0.0",
+ "wsl-utils": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
},
"node_modules/webpack-dev-server/node_modules/ws": {
- "version": "8.18.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz",
- "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
+ "version": "8.19.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz",
+ "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==",
"license": "MIT",
"engines": {
"node": ">=10.0.0"
@@ -17753,7 +20357,8 @@
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+ "dev": true
},
"node_modules/write-file-atomic": {
"version": "3.0.3",
@@ -17787,6 +20392,36 @@
}
}
},
+ "node_modules/wsl-utils": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz",
+ "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==",
+ "license": "MIT",
+ "dependencies": {
+ "is-wsl": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/wsl-utils/node_modules/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==",
+ "license": "MIT",
+ "dependencies": {
+ "is-inside-container": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/xdg-basedir": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz",
@@ -17802,6 +20437,7 @@
"version": "1.6.11",
"resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz",
"integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==",
+ "license": "MIT",
"dependencies": {
"sax": "^1.2.4"
},
@@ -17815,14 +20451,6 @@
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
"license": "ISC"
},
- "node_modules/yaml": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
- "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/yet-another-react-lightbox": {
"version": "3.16.0",
"resolved": "https://registry.npmjs.org/yet-another-react-lightbox/-/yet-another-react-lightbox-3.16.0.tgz",
@@ -17839,6 +20467,7 @@
"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,
"engines": {
"node": ">=10"
},
diff --git a/package.json b/package.json
index 52a83fa8cd..da050b75be 100644
--- a/package.json
+++ b/package.json
@@ -12,7 +12,8 @@
"clear": "docusaurus clear",
"serve": "docusaurus serve",
"write-translations": "docusaurus write-translations",
- "write-heading-ids": "docusaurus write-heading-ids"
+ "write-heading-ids": "docusaurus write-heading-ids",
+ "version": "docusaurus docs:version"
},
"repository": {
"type": "git",
@@ -25,9 +26,9 @@
},
"homepage": "https://github.com/reportportal/documentation#readme",
"dependencies": {
- "@docusaurus/core": "^3.6.0",
- "@docusaurus/plugin-client-redirects": "^3.6.0",
- "@docusaurus/preset-classic": "^3.6.0",
+ "@docusaurus/core": "^3.9.2",
+ "@docusaurus/plugin-client-redirects": "^3.9.2",
+ "@docusaurus/preset-classic": "^3.9.2",
"@mdx-js/react": "3.0.0",
"clsx": "^2.0.0",
"dotenv": "^16.3.1",
@@ -38,9 +39,9 @@
"yet-another-react-lightbox": "^3.15.6"
},
"devDependencies": {
- "@docusaurus/eslint-plugin": "^3.6.0",
- "@docusaurus/module-type-aliases": "^3.6.0",
- "@docusaurus/types": "^3.3.2",
+ "@docusaurus/eslint-plugin": "^3.9.2",
+ "@docusaurus/module-type-aliases": "^3.9.2",
+ "@docusaurus/types": "^3.9.2",
"docusaurus-mdx-checker": "^3.0.0",
"eslint": "^8.56.0",
"eslint-config-airbnb": "^19.0.4",
diff --git a/src/css/custom.css b/src/css/custom.css
index 9e3e454e8f..1333f46f86 100644
--- a/src/css/custom.css
+++ b/src/css/custom.css
@@ -97,4 +97,32 @@ h1 {
.version-button .dropdown--right .dropdown__menu {
left: 0px;
+}
+
+.navbar__item.dropdown.dropdown--hoverable.dropdown--right {
+ border: 1px solid var(--ifm-color-primary);
+ border-radius: 20px;
+ padding: 4px 12px;
+ transition: all 0.2s ease;
+}
+
+.navbar__item.dropdown.dropdown--hoverable.dropdown--right:hover {
+ background-color: var(--ifm-color-primary);
+}
+
+.navbar__item.dropdown.dropdown--hoverable.dropdown--right:hover .navbar__link {
+ color: #fff;
+}
+
+.navbar__item.dropdown.dropdown--hoverable.dropdown--right .navbar__link {
+ padding: 0;
+ font-size: 14px;
+}
+
+.navbar__item.dropdown.dropdown--hoverable.dropdown--right .navbar__link::after {
+ border-color: var(--ifm-color-primary) transparent transparent;
+}
+
+.navbar__item.dropdown.dropdown--hoverable.dropdown--right:hover .navbar__link::after {
+ border-color: #fff transparent transparent;
}
\ No newline at end of file
diff --git a/versioned_docs/version-26.1/FAQ/img/ApiService.png b/versioned_docs/version-26.1/FAQ/img/ApiService.png
new file mode 100644
index 0000000000..71fd10a4cf
Binary files /dev/null and b/versioned_docs/version-26.1/FAQ/img/ApiService.png differ
diff --git a/versioned_docs/version-26.1/FAQ/img/DemoPersonal.png b/versioned_docs/version-26.1/FAQ/img/DemoPersonal.png
new file mode 100644
index 0000000000..3052c12a64
Binary files /dev/null and b/versioned_docs/version-26.1/FAQ/img/DemoPersonal.png differ
diff --git a/versioned_docs/version-26.1/FAQ/img/DemoShared.png b/versioned_docs/version-26.1/FAQ/img/DemoShared.png
new file mode 100644
index 0000000000..a84d20ec38
Binary files /dev/null and b/versioned_docs/version-26.1/FAQ/img/DemoShared.png differ
diff --git a/versioned_docs/version-26.1/FAQ/img/NewVersions.png b/versioned_docs/version-26.1/FAQ/img/NewVersions.png
new file mode 100644
index 0000000000..6857717c4e
Binary files /dev/null and b/versioned_docs/version-26.1/FAQ/img/NewVersions.png differ
diff --git a/versioned_docs/version-26.1/FAQ/index.md b/versioned_docs/version-26.1/FAQ/index.md
new file mode 100644
index 0000000000..5ab8576bfd
--- /dev/null
+++ b/versioned_docs/version-26.1/FAQ/index.md
@@ -0,0 +1,182 @@
+---
+title: FAQ
+sidebar_position: 24
+description: Find quick answers about installing, integrating, and using ReportPortal, from AI features and licenses to dashboards, integrations, and performance guidance.
+---
+
+# FAQ
+
+
+On this page, we have put together a list of the most frequently asked questions. Here, you can find prompt responses.
+
+1. [Does on-prem installed ReportPortal make any external calls? What are the content and nature of these calls?](/FAQ/#1-does-on-prem-installed-reportportal-make-any-external-calls-what-are-the-content-and-nature-of-these-calls)
+2. [Assuming ReportPortal locally caches logs to understand their content, where are these stored, and what are the associated retention policies?](/FAQ/#2-assuming-reportportal-locally-caches-logs-to-understand-their-content-where-are-these-stored-and-what-are-the-associated-retention-policies)
+3. [How is data encrypted in transit and at rest?](/FAQ/#3-how-is-data-encrypted-in-transit-and-at-rest)
+4. [Does the containerized solution function as a standalone, or can it be integrated with K8S or other orchestration platforms? Is there a helm chart available?](/FAQ/#4-does-the-containerized-solution-function-as-a-standalone-or-can-it-be-integrated-with-k8s-or-other-orchestration-platforms-is-there-a-helm-chart-available)
+5. [Is there any training available to use ReportPortal effectively?](/FAQ/#5-is-there-any-training-available-to-use-reportportal-effectively)
+6. [Is there a demo available?](/FAQ/#6-is-there-a-demo-available)
+7. [How can I begin using ReportPortal?](/FAQ/#7-how-can-i-begin-using-reportportal)
+8. [Does the tool integrate with my existing test automation framework?](/FAQ/#8-does-the-tool-integrate-with-my-existing-test-automation-framework)
+9. [What type of license does ReportPortal use?](/FAQ/#9-what-type-of-license-does-reportportal-use)
+10. [Does ReportPortal have any paid features?](/FAQ/#10-does-reportportal-have-any-paid-features)
+11. [Does ReportPortal use AI?](/FAQ/#11-does-reportportal-use-ai)
+12. [Do we need specific infrastructure prerequisites to avoid performance problems?](/FAQ/#12-do-we-need-specific-infrastructure-prerequisites-to-avoid-performance-problems)
+13. [What types of reports can I generate with the ReportPortal?](/FAQ/#13-what-types-of-reports-can-i-generate-with-the-reportportal)
+14. [Can ReportPortal aggregate performance test results?](/FAQ/#14-can-reportportal-aggregate-performance-test-results)
+15. [Does ReportPortal have integration with Jira?](/FAQ/#15-does-reportportal-have-integration-with-jira)
+16. [How can I check the ReportPortal version?](/FAQ/#16-how-can-i-check-the-reportportal-version)
+17. [How can I check if the ReportPortal API is working?](/FAQ/#17-how-can-i-check-if-the-reportportal-api-is-working)
+18. [What are the application limits in ReportPortal?](/FAQ/#18-what-are-the-application-limits-in-reportportal)
+
+#### 1. Does on-prem installed ReportPortal make any external calls? What are the content and nature of these calls?
+
+All test results and testing data reside in-house, within your instance of ReportPortal. However, there are two types of external calls that ReportPortal makes. The first checks our status page for the latest version and informs users of it on the login page. The second sends anonymized data to [Google Analytics](/terms-and-conditions/GoogleAnalyticsUsageByReportPortal), helping us refine the user experience and better understand application usage. This can be toggled off if desired.
+
+#### 2. Assuming ReportPortal locally caches logs to understand their content, where are these stored, and what are the associated retention policies?
+
+ReportPortal utilizes PostgreSQL for its database, MinIO and the local system for file storage, and OpenSearch for log indexing and ML processes.
+
+Retention policies can be set and adjusted within the application on a per-project basis.
+
+#### 3. How is data encrypted in transit and at rest?
+
+We use encryption in transit via SSL for our SaaS instances. For on-prem installation it depends on your LoadBalancer.
+
+We use encryption at rest for our SaaS instances. It is provided by AWS and configured during VM provisioning. For on-prem installation it depends on your DevOps.
+
+#### 4. Does the containerized solution function as a standalone, or can it be integrated with K8S or other orchestration platforms? Is there a helm chart available?
+
+ReportPortal is containerized and can be orchestrated using either docker-compose or [Kubernetes](https://github.com/reportportal/kubernetes/tree/develop/reportportal).
+
+#### 5. Is there any training available to use ReportPortal effectively?
+
+Check our [Tutorial](/tutorial/) and read [blog post](https://reportportal.io/blog/Tips-to-get-ReportPortal-benefits) with tips to get ReportPortal benefits. We also recommend investigate [our documentation](https://reportportal.io/docs/) where you can find screenshots and video instructions on ReportPortal functionality.
+
+#### 6. Is there a demo available?
+
+You can explore ReportPortal without installation by visiting our [demo instance](https://demo.reportportal.io/) which offers:
+* Free trial available indefinitely
+* Data is flushed every 24 hours
+* All enterprise features included
+
+You can either join a shared project or create a personal one.
+
+When a user visits the demo instance, they can log in using the default/pre-filled credentials. In this case, they will access a **shared project** that is available to everyone using the same demo account. This means that anything they report will be visible to all users and can be modified or managed by anyone.
+
+
+
+Alternatively, the user can log in via GitHub. In this case, a **personal project** and user account will be created just for them. Only that user will be able to view and manage the data reported within their personal project.
+
+
+
+If you need a personalized demo session, please leave your [contact details](https://reportportal.io/contact-us/general/). To get a quick overview, check out our [demo video](https://www.youtube.com/watch?v=AKA_O8lcIdc).
+
+#### 7. How can I begin using ReportPortal?
+
+The initial steps involve installing and configuring the tool. [Installation steps](/installation-steps) you can find in our documentation.
+
+#### 8. Does the tool integrate with my existing test automation framework?
+
+ReportPortal can be integrated with common testing frameworks and CI tools. Consult [this section](/log-data-in-reportportal/test-framework-integration) of the documentation for detailed information on test framework integration. And use following links for Integration with CI/CD: [Integration with GitLab CI](/26.1/quality-gates/IntegrationWithCICD/IntegrationWithGitLabCI/), [Integration with Jenkins](/26.1/quality-gates/IntegrationWithCICD/IntegrationWithJenkins/).
+
+#### 9. What type of license does ReportPortal use?
+
+ReportPortal is licensed under Apache v2.0, which means it’s free to use, comes with no liability and warranty, and there is no service and support included. And can be utilized even for commercial usage.
+
+#### 10. Does ReportPortal have any paid features?
+
+We offer two premium features:
+
+* [Quality Gates](/26.1/quality-gates/) – a set of predefined criteria that must be met for a test run to be considered successful.
+* [SCIM Server](/features/SCIMServerFeature) – helps automate user management by syncing users and their access rights between your identity provider and ReportPortal.
+
+#### 11. Does ReportPortal use AI?
+
+We provide ML-driven failure triage. Read [this article](https://reportportal.io/blog/How-we-use-AI) to know how we use AI.
+
+#### 12. Do we need specific infrastructure prerequisites to avoid performance problems?
+
+Look into [Hardware Requirements](/installation-steps/HardwareRequirements).
+
+#### 13. What types of reports can I generate with the ReportPortal?
+
+ReportPortal has a lot of widgets to visualize test results and understand the state of the product. Most popular our widgets: [Overall statistics chart](/dashboards-and-widgets/OverallStatistics), [Launch statistics chart](/dashboards-and-widgets/LaunchStatisticsChart), [Failed cases trend chart](/dashboards-and-widgets/FailedCasesTrendChart), [Launch execution and issue statistic](/dashboards-and-widgets/LaunchExecutionAndIssueStatistic), [Component health check](/dashboards-and-widgets/ComponentHealthCheck).
+
+Depending on your needs, you can create either a report for a [single test run](/dashboards-and-widgets/PossibleDashboardsInReportPortal#report-for-one-tests-run-a-dashboard-for-an-engineer) or a [Build/Release/Sprint Report](/dashboards-and-widgets/PossibleDashboardsInReportPortal#build--release-sprint-report-a-dashboard-for-a-team-leads-pm-dm). ReportPortal also allows you to generate various types of [test automation reports](https://reportportal.io/blog/how-to-create-test-report-with-reportportal) using widgets, including:
+
+* Summary Report
+* Detailed Test Case Report
+* Trend Analysis Report
+* Failure Analysis Report
+* Execution History Report
+
+#### 14. Can ReportPortal aggregate performance test results?
+
+We do not support direct integration with performance testing frameworks, but as a workaround you can [import performance test results](https://github.com/reportportal/reportportal/issues/1820) in JUnit format into ReportPortal.
+
+#### 15. Does ReportPortal have integration with Jira?
+
+Our test automation reporting dashboard have integration with following Bug Tracking Systems: [Jira Server](/plugins/bug-tracking/AtlassianJiraServer), [Jira Cloud](/plugins/bug-tracking/AtlassianJiraCloud), [Azure DevOps](/plugins/bug-tracking/AzureDevOps), [GitLab](/plugins/bug-tracking/GitLab), [Monday](/plugins/bug-tracking/Monday) and [Rally](/plugins/bug-tracking/Rally).
+
+#### 16. How can I check the ReportPortal version?
+
+You can find the current version of ReportPortal on the login page. Simply hover your mouse over the ```i``` icon next to the "New versions are available" message to see the version details.
+
+
+
+#### 17. How can I check if the ReportPortal API is working?
+
+Open your browser and go to the following URL: ```http://{your-hostname}/composite/info```. This page provides essential information about the API's status.
+
+
+
+#### 18. What are the application limits in ReportPortal?
+
+ReportPortal has defined application limits to maintain stable performance and consistent API behavior across all projects and endpoints. Below is the complete list of limits and recommendations:
+
+**1. Pagination & Collections**
+
+**Max page size: 300** items per page across collection endpoints:
+- Launches
+- Dashboards
+- Filters
+- Project members
+- Suites / Tests / Steps / Logs
+- Widgets
+
+**2. Dashboards & Widgets**
+
+- **Dashboards per project:** up to **3,000** (increased from 300 in version 24.2).
+- **Dashboard name length: 3–55** characters, must be unique per user per project.
+- **Widget fullscreen auto-refresh:** occurs every **30 seconds**.
+- **Test Case Search widget results cap: 300** total cases (10 per page × 30 pages).
+
+**3. Attributes & Text Fields**
+
+- **Attribute key length:** up to **512** characters.
+- **Attribute value length:** up to **512** characters.
+- **Quality Gate name length** (Managed Plugin): **1–55** characters.
+
+**4. Files, Uploads & Storage**
+
+- **API attachment uploads:** default limit **64 MB** (configurable at the service-api level).
+- **JUnit/Robot imports via UI:** up to **32 MB** per ZIP/XML file.
+- **User avatars:**
+ - Accepted formats: **JPEG, PNG, GIF**
+ - Maximum size: **1 MB**
+ - Maximum dimensions: **300×500 px**
+- **RabbitMQ message size:** infrastructure-dependent; it’s recommended to keep log payloads reasonably sized, as very large logs may be rejected to process.
+
+**5. API Behavior & Miscellaneous**
+
+- **Rate limiting:** none built-in; throughput and concurrency depend on infrastructure capacity.
+- **Import timeout UX:** works similar to ```/v2``` reporting, depends on infrastructure.
+
+**6. Launch Merge**
+
+- **No hard cap**, but treat **around 20 launches** per merge as a safe operational limit, unless you have tested higher based on your infrastructure size and data distribution.
+
+:::note
+All bulk operations triggered from the “Make decision” modal are limited to 300 test items per request.
+When more items are selected, the operation must be divided into multiple requests.
+:::
diff --git a/versioned_docs/version-26.1/admin-panel/AllProjectsPage.mdx b/versioned_docs/version-26.1/admin-panel/AllProjectsPage.mdx
new file mode 100644
index 0000000000..11dd2f2b9b
--- /dev/null
+++ b/versioned_docs/version-26.1/admin-panel/AllProjectsPage.mdx
@@ -0,0 +1,184 @@
+---
+sidebar_position: 1
+sidebar_label: All Projects page
+description: Manage all projects in ReportPortal with administrator privileges. View project details, settings, and user access for comprehensive test automation reporting tools administration.
+---
+
+# All Projects page
+
+Users with the `Administrator` role have access to the ReportPortal "Administrate" section.
+
+In "Administrate" section you can:
+
+- Manage projects: create a project, delete a project, update project settings.
+
+- Manage users: create a user, invite a user to ReportPortal, delete a user, update a user project role, assign a user to projects/unassign a user from
+projects.
+
+To go to the "Administrate" section, open menu at the bottom of the page and select "Administrate" option.
+
+All existing projects are displayed on the "Projects" page.
+
+For each project, the following information is displayed:
+
+- Project name - the link to the "Dashboards" page of a project
+- Project type: "Internal" or "Personal"
+- Number of assigned team members
+- Number of launches
+- Last Launch date
+- "See detailed information" button
+- Ellipsis button
+
+By clicking on ellipsis button, a dropdown with the next options appears:
+
+- Members
+- Settings
+- Assign/Unassign
+- Delete
+
+:::note
+Administrator has access to a project even if they are not assigned to this project.
+:::
+
+## Projects Navigation – Sorting and Search
+
+By default, projects are sorted by the name in our test automation reporting dashboard.
+
+You can sort projects using the buttons from the "Sort by" section at the top.
+The sorting can be performed by: Creation date, Name, Members, Launches, Last Launch date, Project Type, Organization.
+
+To find a project quickly, type 3 or more symbols of the project name into the
+"Search" field.
+
+
+
+All Projects page allows:
+ - to create a project
+ - to update project settings
+ - to invite users
+ - to view project information
+ - to delete a project (except PERSONAL project)
+
+## Create projects
+
+To create a project:
+
+1. Login into the ReportPortal instance as an `Administrator`.
+2. Open menu at the bottom.
+3. Click the 'Administrate' link.
+4. Select 'Projects' from the left-hand sidebar.
+5. Click the 'Add New Project' button in the right top corner.
+6. Then enter a name of the project.
+7. Click the 'Add' button.
+
+A confirmation message in the status bar should appear.
+
+:::note
+The name of the project should contain between 3-256 symbols.
+It can include Latin and numeric characters, as well as underscores and dashes.
+The name should be unique and cannot be changed after saving.
+:::
+An Admin can configure the project settings or leave them as the default.
+Project members with PROJECT_MANAGER roles are able to set up the project settings.
+To know how project settings could be updated, go to the [Project Settings](/configuration/ProjectSettings) section.
+
+## Modify project settings
+
+To modify project settings please refer to [Project Settings](/configuration/ProjectSettings)
+
+## Invite user on "All Projects" page
+
+:::info
+Depending on the toggle state in [Server Settings](/admin-panel/ServerSettings), the ability to manually invite external users to ReportPortal can be disabled.
+:::
+
+To invite a user to a project on "All Projects" page, perform the following steps:
+
+1. Login into the ReportPortal instance as an `Administrator`.
+
+2. Navigate to the "Administrate" section -> "All Projects" page
+
+3. Click on ellipsis button on the project preview.
+
+4. Select the "Members" option.
+
+5. Click on the "Invite User" button.
+
+6. Enter the email address of the user in case he/she is not present in ReportPortal database
+ or enter his/her login name in the "Login or email" field. In case the user is already available in ReportPortal, his/her name will appear in the suggestion list.
+If not, the Admin should enter correct email address.
+
+7. Select an appropriate role in the "Project role" dropdown.
+
+8. Click on the "Invite" button.
+
+9. In the case the user is already available in ReportPortal she/he will be assigned to the project.
+If not, the email with the invitation link will be sent to user email address.
+
+10. The user will receive an email with the link to the registration page.
+When the user clicks the link, he/she will see a registration form.
+
+11. The user needs to fill in the registration form and click the "Register"
+button to complete the registration.
+
+12. The user will be assigned to the project that the invitation was sent from, and to "Personal Project" with the PROJECT
+ MANAGER project role.
+
+
+
+:::note
+The link for registration will be active until the user registers in the system for up to,
+but not exceeding 24 hours.
+:::
+
+## Detailed project info
+
+1. Login into ReportPortal instance as `Administrator`.
+
+2. Navigate to the "Administrate" section -\> "All Projects" page.
+
+3. Click "See detailed information" button.
+
+4. View aggregated data of the selected project. Available period options are:
+ - last 6 months
+ - last 3 months
+ - last month.
+
+## Delete projects
+
+To delete a project, perform the following steps:
+
+1. Login into ReportPortal instance as `Administrator`.
+
+2. Navigate to the "Administrate" section -> "All Projects" page.
+
+3. Click on ellipsis button on the project preview.
+
+4. Click on the "Delete" option. A warning pop-up message will appear.
+
+5. Click "Delete". The project will be deleted from ReportPortal.
+
+
+
+:::note
+PERSONAL PROJECTS cannot be deleted from the system.
+:::
+## Use Case 1
+
+**Situation:** We have a small team. Everybody can see everything. We need one dashboard which shows information about the whole project.
+
+**Solution:** Create one project. Assign all users on the created project. View all types of test cases (UI, API, Unit and so on) on this project. Divide executions by custom filters. Create a dashboard with a widget based on filters.
+
+**Pros:** You have a dashboard that can combine all results needed for your team. You need to configure only one project.
+
+**Cons:** All team members can see all results, you can not configure permissions rules.
+
+## Use Case 2
+
+**Situation:** We have a big team with a difficult permission structure and nested streams. Only persons with granted permissions can see results of a certain stream.
+
+**Solution:** Create separate projects for different streams. Assign users to appropriate projects. Create a dashboard with a widget based on filters for each project.
+
+**Pros:** Security, only users with granted permission will have access to the data.
+
+**Cons:** You can not see a single dashboard for several dashboards.
diff --git a/versioned_docs/version-26.1/admin-panel/AllUsersPage.mdx b/versioned_docs/version-26.1/admin-panel/AllUsersPage.mdx
new file mode 100644
index 0000000000..7e303f90d1
--- /dev/null
+++ b/versioned_docs/version-26.1/admin-panel/AllUsersPage.mdx
@@ -0,0 +1,202 @@
+---
+sidebar_position: 2
+sidebar_label: All Users page
+description: Manage all users in ReportPortal with administrator privileges. View user details, roles, and permissions for comprehensive test automation reporting tools administration.
+---
+
+# All Users page
+
+The "All Users" page in "Administrate" section provides the access to see all available users in the our Testops system.
+
+The page provides next information:
+ * user's information: login, full name, email address
+ * last login date: in 'time ago' format
+ * projects on which users are assigned and roles on them
+ * Delete button: only Admin is able to delete user from the system
+
+"All Users" page allows:
+ - to add and invite new ReportPortal users.
+ - to assign users to the projects with any project role.
+ - to unassign users from projects.
+ - to update project role
+ - to delete users from ReportPortal.
+
+ReportPortal allows to create a new user account on the "All Users" page in the "Administration" section.
+
+## Add user
+
+:::info
+Depending on the toggle state in [Server Settings](/admin-panel/ServerSettings), the ability to manually invite external users to ReportPortal can be disabled.
+:::
+
+To add a user on the "All Users" page, perform the following steps:
+
+1. Login into ReportPortal instance as `Administrator`.
+
+2. Navigate to the "Administrate" section -> "All users" page.
+
+3. Click on the "Add User" button.
+
+4. Fill all fields with valid data in the "Add user" form and click on the "Add" button.
+
+A new user will be added to the system and assigned to the selected project, and to "Personal Project" with the
+PROJECT MANAGER project role. Message with authorization data will be sent to the user's email.
+
+:::note
+If you do not need a personal project, `ADMINISTRATOR` can delete it. This project will be removed from the instance. But if the user is unassigned from all projects in the system, and he/she will log in to the ReportPortal after that - the deleted personal project will be created once more time.
+:::
+
+
+
+:::note
+This is the only place in the system where an Administrator can be created
+from. "Project role" is disabled, if Administrator has been selected in the
+"Account role" field. The "ProjectRole" parameter is not specified for
+Administrator, the Administrator has full privileges on the project.
+:::
+
+:::important
+Please, do not forget to review project roles on regular basis. We recommend to do it at least quarterly.
+:::
+
+## Invite user on the "All Users" page
+
+:::info
+Depending on the toggle state in [Server Settings](/admin-panel/ServerSettings), the ability to manually invite external users to ReportPortal can be disabled.
+:::
+
+To invite a user on the "All Users" page, perform the following steps:
+
+1. Login into ReportPortal instance as `Administrator`.
+
+2. Navigate to the "Administrate" section -\> "All users" page.
+
+3. Click on the "Invite User" button.
+
+4. Fill all fields with valid data in the "Invite user" form and click on the "Invite" button. The invitation
+ has been sent. You can copy the link to the invitation from the "Link to
+ invitation" field.
+
+5. The user will receive an email with the link to the invitation. Registration
+link will be active until the user registers in the system by this reference,
+but not more than 24 hours. When the user clicks the link, he/she will see a registration form.
+
+6. The user needs to fill in the registration form and click the "Register" button to complete the registration.
+The user will be assigned to the project that was specified by you during the invitation,
+and to "Personal Project" with the PROJECT MANAGER project role.
+
+
+
+## Assign user on project
+
+To assign user on the "All Users" page, perform the following
+steps:
+
+1. Login into ReportPortal instance as `Administrator`.
+
+2. Navigate to the "Administrate" section -> "All Users" page.
+
+3. Find a user and their projects in the "Projects and roles" column.
+
+4. Click on the name of any project.
+
+5. Click "Add project" button.
+
+6. Fill the name of project.
+
+7. Select a project role.
+
+8. Click on the "Tick" button. - The user will be assigned to the project.
+
+## Unassign user from the project
+
+To unassign a user from the project, perform the following steps:
+
+1. Navigate to the "Administrate" section -> "All Users" page.
+
+2. Find a user and their project in the "Projects and roles" column.
+
+3. Click on the name of project.
+
+4. Click on "Cross" icon near the needed project.
+
+5. Confirm the action. - The user will be unassigned from the project.
+
+
+
+:::note
+Users can not be unassigned from their own personal projects.
+:::
+
+## Edit user's project role
+
+To edit a user project role on the "All Users" page, perform the following
+steps:
+
+1. Login into ReportPortal instance as `Administrator`.
+
+2. Navigate to the "Administrate" section -\> "All Users" page.
+
+3. Find a user and their project in the "Projects and roles" column.
+
+4. Click on the name of project.
+
+5. Select a new value from the "Project Role" drop-down.
+
+6. Click on the tick button.
+
+
+
+## Delete user
+
+To delete a user from ReportPortal, perform the following steps:
+
+1. Login into ReportPortal instance as `Administrator`.
+
+2. Navigate to the "Administrate" section -> "All Users" page.
+
+3. Select a user and click the "Delete" button.
+
+4. The warning message will be displayed.
+
+5. Click the "Delete" button. The user will be deleted from the ReportPortal. All launches that the user owns on the projects will be kept in ReportPortal.
+
+
+
+## Edit user account role
+
+The only space in ReportPortal where user can get the Administrator rights is All Users page.
+
+**Give ADMINISTRATOR role**
+
+To give Administrator role for any user, perform the following steps:
+
+1. Login into the ReportPortal instance as `Administrator`.
+
+2. Navigate to the "Administrate" section -> "All Users" page.
+
+3. Hover over user's name. - "Make admin" button will be displayed.
+
+4. Click on the "Make admin" button. - A confirmation message will be shown.
+
+5. Click "Change" button on pop-up window. Account role User will be changed to
+ Administrator. The user account will be marked with "admin" label.
+
+
+
+**Take away ADMINISTRATOR role**
+
+To take away Administrator account role, perform the following steps:
+
+1. Login into ReportPortal instance as `Administrator`.
+
+2. Navigate to the "Administrate" section -> "All Users" page.
+
+3. Click on the "Admin" button near the user's name.
+
+4. A confirm message will be shown.
+
+5. Click "Change" button. Account role "Administrator" will be changed to
+ "User".
+
+
diff --git a/versioned_docs/version-26.1/admin-panel/EventMonitoring.mdx b/versioned_docs/version-26.1/admin-panel/EventMonitoring.mdx
new file mode 100644
index 0000000000..3ddeba9d6b
--- /dev/null
+++ b/versioned_docs/version-26.1/admin-panel/EventMonitoring.mdx
@@ -0,0 +1,68 @@
+---
+sidebar_position: 3
+sidebar_label: Event monitoring
+description: Monitor all activities and events in ReportPortal at project and instance levels for comprehensive test automation reporting tools administration and auditing.
+---
+
+# Event monitoring
+
+Starting from version 23.2, ReportPortal can monitor all activities (events) at both the project and instance levels.
+
+## Project level event monitoring
+
+To view the list of all activities within your project, open the menu at the bottom of the page as an `Administrator` and select the "Administrate" option. All existing projects are listed on the "All Projects" page. Click on the ellipsis button next to the project and choose the "Monitoring" option from the dropdown.
+
+Here, you will find a table with the following columns: Time, User, Action, Object Type, Object Name, Old Value, and New Value.
+
+
+
+### Time
+
+This column displays the time in a "time ago" format (e.g., "10 minutes ago"). Hovering over it, the system should show the precise action time.
+
+### User
+
+This column shows who acted. We track not only actions by specific users but also, for your convenience, actions performed by ReportPortal itself or certain ReportPortal services. For example, actions by Jobs Service (such as Launch deletions) are included.
+
+If the activity was on behalf of a user, and their account was deleted, then there will be a "deleted user" entry in the "User" column.
+
+### Action
+
+This column displays all events within this project.
+
+**Event actions:** Create dashboard, Update dashboard, Delete dashboard, Create widget, Update widget, Delete widget, Create filter, Update filter, Delete filter, Create custom defect type, Update defect, Delete defect, Create integration, Update integration, Delete integration, Start launch, Finish launch, Delete launch, Update project, Update analyzer, Post issue, Link issue, Unlink issue, Generate index, Delete index, Start import, Finish import, Update item, AA linked issue, AA changed defect type, Create pattern rule, Update pattern rule, Delete pattern rule, PA find pattern.
+
+### Object Type
+
+This refers to the object on which the action was taken.
+
+**Event objects:** Launch, Dashboard, Custom defect type, Notification rule, Filter, Import, Integration, Test item, Project, Ticket, User, Widget, Pattern Rule, index, Plugin.
+
+### Object Name
+
+This is the name of the widget, launch, etc.
+
+The **Old Value** and **New Value** columns display the changes that were made.
+
+You can filter activities by user, action, object type, and object name.
+
+
+
+Another way to view the event list in your project is by creating a ["Project Activity Panel" widget](/dashboards-and-widgets/ProjectActivityPanel).
+
+## Instance level event monitoring
+
+Instance level events are not displayed in the UI – they are stored in the database.
+
+**Instance level events:** Account deletion, Bulk account deletion, Administrator unassign, Provide Administrator permission for a user, Project creation, Bulk delete project by ReportPortal administrator, Delete project by ReportPortal administrator, Delete project by ReportPortal administrator, Delete Personal project when deleting user, Create Global Integration, Update Global Integration, Delete Global Integration, Bulk delete of Global Integration via API only, Manual plugin upload, Delete Plugin, Update Plugin (disable/enable), Create user in Administrate, Create user via auth service SAML.
+
+Additionally, during instance setup, you can enable event storage in an audit log file. This data can be sent to a Security Information and Event Management (SIEM) system using tools like Fluentd, Fluentbit, or Filebeat. Logs and events are then checked and monitored within the SIEM system.
+
+The primary advantage of the audit log file is that it preserves all records without alterations or deletions. In contrast, data in the database can be modified or deleted. For example, if launches or projects are deleted, the corresponding data is removed from the database. Deleting accounts leads to data obfuscation in the database.
+
+Hence, if historical monitoring and strict accountability are required, enabling event storage in an audit log file is recommended. Financial companies, for example, are often mandated to retain all user actions in their services for 3 years.
+
+:::note
+Administrators should ensure that log rotation is configured for the location where the audit log will be saved, as a substantial amount of data will accumulate.
+:::
+Event monitoring assists organizations, especially in industries like finance and healthcare, in maintaining the security of their systems and data.
diff --git a/versioned_docs/version-26.1/admin-panel/ServerSettings.mdx b/versioned_docs/version-26.1/admin-panel/ServerSettings.mdx
new file mode 100644
index 0000000000..e0ac24b068
--- /dev/null
+++ b/versioned_docs/version-26.1/admin-panel/ServerSettings.mdx
@@ -0,0 +1,215 @@
+---
+sidebar_position: 4
+sidebar_label: Server Settings
+description: Configure server settings including GitHub authorization, SSO login, and Google Analytics in ReportPortal test automation reporting tools.
+---
+
+# Server Settings
+
+In the Server Settings section, you can enable GitHub authorization, allowing users to sign in with their GitHub credentials. Additionally, you can configure the instance to allow login only through SSO and here you can enable or disable Google Analytics.
+
+## Authorization configuration
+
+### Inactivity timeout
+
+ADMIN can configure session expiration per instance.
+
+For that, the ADMIN needs to navigate to Administrate > Server Settings and set up the duration of user inactivity before automatic logout in 'Inactivity timeout' block:
+
+- 15 minutes
+- 1 hour
+- 12 hours
+- 24 hours (default value)
+
+The user is logged out if their session inactivity exceeds the defined timeout.
+
+If the user is working in multiple tabs and the inactivity timeout is reached in one tab while they are still active in another, the user remains logged in until the timeout is reached in all tabs.
+
+
+
+### Password
+
+Admin can define the minimum password length for the whole instance. This setting applies to:
+
+* all new user accounts
+* password changes for any existing accounts
+
+:::note
+Existing passwords are not affected and remain valid even if they do not meet the newly configured minimum length.
+:::
+
+To set minimum password length:
+
+1. Log in as ADMIN.
+2. Navigate to Administrate -> Server Settings -> "Authorization Configuration" tab.
+3. Set the minimum password length to a value between 8 and 256 characters.
+4. Click "Submit".
+
+If the entered value is outside the allowed range, the system automatically adjusts it:
+
+* if the value is less than 8, it is set to 8
+* if the value is greater than 256, it is set to 256
+
+
+
+The configured minimum password length is validated in the following scenarios:
+
+* User registration form
+* Create User modal window
+* Password change in the user profile
+* Password reset from the login page
+
+
+
+### GitHub
+
+To enable [GitHub authorization](/plugins/authorization/GitHub/):
+
+1. Log in as ADMIN.
+2. Go to Administrate > Server Settings.
+3. Switch ON the "GitHub authorisation" toggle.
+4. Fill in required [parameters for authorization](/plugins/authorization/GitHub#reportportal-configuration).
+5. Click "Submit".
+
+
+
+Now you can access ReportPortal by clicking the "Login with GitHub" button on the login page.
+
+### Instance Invitations
+
+ADMIN can disable the possibility for manual invitation of external users. In such case, users can get access to ReportPortal via identity provider only (for example, SAML) configured on the instance.
+
+The default state of toggle on "Instance Invitations" section is OFF.
+
+
+
+When toggle is OFF:
+
+1. The "Invite User" and "Add User" buttons are displayed on the "All Users" page.
+
+
+
+2. The "Invite User" button is displayed on the "Project Members" page.
+
+
+
+When toggle is ON, manual invitation of external is disabled:
+
+1. The "Invite User" and "Add User" buttons are removed from the "All Users" page.
+
+
+
+2. The "Invite User" button on the "Project Members" page has been changed to the "Assign User" button. Now, the Project Manager and Administrator can no longer invite new users to this project and instance; they can only assign existing users to this project.
+
+
+
+To assign user on the project:
+
+1. Log in as Project Manager or ADMIN.
+2. Go to the "Project Members" page.
+3. Click the "Assign User" button.
+4. Start type the name > suggestions will be provided in the dropdown.
+
+
+
+or
+
+1. Log in as ADMIN.
+2. Go to Administrate > "All Projects" page.
+3. Click on the ellipsis button on the project preview.
+4. Select the "Members" option.
+5. Click on the "Assign User" button.
+6. Start type the name > suggestions will be provided in the dropdown.
+
+
+
+## Features
+
+An admin can disable the "Important launches" functionality to better control storage usage and prevent launches from being stored indefinitely on the instance.
+
+By default, the "Important launches" functionality is enabled on all instances. Users can then [mark launches as important](/configuration/LaunchesRetentionPolicy/#mark-launch-as-important-on-ui) using the launch burger menu or [report launch as important](/configuration/LaunchesRetentionPolicy/#report-launch-as-important), and these launches can only be deleted manually or when [storage limits are exceeded](/configuration/LaunchesRetentionPolicy/#important-launch-deletion-on-full-storage).
+
+To **turn off the "Important launches" functionality**:
+
+1. Log in as an ADMIN.
+2. Navigate to Administrate > Server Settings > "Features" tab.
+3. Turn the toggle "Important launches" off.
+
+
+
+When toggling "Important Launches" off:
+
+1. The "Mark as important" option is disabled on the launch burger menu, and there is a tooltip with an explanation.
+
+
+
+2. A background job runs to remove the "Important" flag from launches that were previously marked as important, converting them to regular launches and making them subject to the standard [retention policy](/configuration/LaunchesRetentionPolicy/).
+3. If the toggle is off, then even if a user reports a launch with the system attribute retentionPolicy:important, the launch will not be marked as important and will still be subject to the standard retention policy.
+4. If you previously had important launches, then turned off the toggle, and later turn it back on, the old launches that were once marked as important will not become important again.
+
+## Analytics
+
+To turn on [Google Analytics](/terms-and-conditions/GoogleAnalyticsUsageByReportPortal/) on ReportPortal UI:
+
+1. Log in as ADMIN.
+2. Go to Administrate > Server Settings.
+3. Go to Analytics tab.
+4. Check "Help make Report Portal better by automatically sending analytics to us" checkbox.
+5. Click on "Submit" button.
+
+
+
+## Links & Branding
+
+ADMIN can configure the necessary links in the footer of the application on the Server Settings > 'Links & Branding' tab.
+
+By default, there are **2 links hardcoded on UI**:
+
+- [Fork us on GitHub](https://github.com/reportportal)
+- [Documentation](https://reportportal.io/docs/)
+
+Next links are displayed by default, but can be changed:
+
+- [Chat with us on Slack](https://slack.epmrpp.reportportal.io/)
+- [Contact us](mailto:support@reportportal.io)
+- [EPAM](https://www.epam.com/)
+
+
+
+Admin can add 5 links except 2 hardcoded links, so a maximum of 7 links can be displayed in footer.
+
+To **add a new footer link**:
+
+1. Log in as ADMIN.
+2. Go to Administrate > Server Settings > 'Links & Branding' tab.
+3. Click the 'Add new' button.
+
+
+
+4. Provide Link name (from 3 to 30 characters).
+5. Provide URL or Email (from 3 to 1024 characters).
+6. Click the 'Save' button.
+
+
+
+To **delete footer link**:
+
+1. Go to Administrate > Server Settings > 'Links & Branding' tab.
+2. Click on the 'Trash' icon.
+3. Click the 'Delete' button on the 'Delete link' modal.
+
+
+
+To **change the links order**:
+
+1. Go to Administrate > Server Settings > 'Links & Branding' tab > 'Footer Links' section.
+2. Click on the drag-n-drop icon.
+3. Change the links order.
+
+
+
+All added/updated links immediately displayed across all application pages after saving changes.
+
+:::note
+Footer links visibly differ on Project Settings Page compared to other pages.
+:::
diff --git a/versioned_docs/version-26.1/admin-panel/_category_.json b/versioned_docs/version-26.1/admin-panel/_category_.json
new file mode 100644
index 0000000000..2b9278dff0
--- /dev/null
+++ b/versioned_docs/version-26.1/admin-panel/_category_.json
@@ -0,0 +1,5 @@
+{
+ "label": "Admin Panel",
+ "position": "16",
+ "link": {"type": "doc", "id": "index"}
+}
diff --git a/versioned_docs/version-26.1/admin-panel/img/EventMonitoring.png b/versioned_docs/version-26.1/admin-panel/img/EventMonitoring.png
new file mode 100644
index 0000000000..0622a81227
Binary files /dev/null and b/versioned_docs/version-26.1/admin-panel/img/EventMonitoring.png differ
diff --git a/versioned_docs/version-26.1/admin-panel/img/server-settings/FooterLinks1.png b/versioned_docs/version-26.1/admin-panel/img/server-settings/FooterLinks1.png
new file mode 100644
index 0000000000..a11f912f3b
Binary files /dev/null and b/versioned_docs/version-26.1/admin-panel/img/server-settings/FooterLinks1.png differ
diff --git a/versioned_docs/version-26.1/admin-panel/img/server-settings/FooterLinks2.png b/versioned_docs/version-26.1/admin-panel/img/server-settings/FooterLinks2.png
new file mode 100644
index 0000000000..50affa4f10
Binary files /dev/null and b/versioned_docs/version-26.1/admin-panel/img/server-settings/FooterLinks2.png differ
diff --git a/versioned_docs/version-26.1/admin-panel/img/server-settings/FooterLinks3.png b/versioned_docs/version-26.1/admin-panel/img/server-settings/FooterLinks3.png
new file mode 100644
index 0000000000..4377c58438
Binary files /dev/null and b/versioned_docs/version-26.1/admin-panel/img/server-settings/FooterLinks3.png differ
diff --git a/versioned_docs/version-26.1/admin-panel/img/server-settings/FooterLinks4.png b/versioned_docs/version-26.1/admin-panel/img/server-settings/FooterLinks4.png
new file mode 100644
index 0000000000..a31ee911a1
Binary files /dev/null and b/versioned_docs/version-26.1/admin-panel/img/server-settings/FooterLinks4.png differ
diff --git a/versioned_docs/version-26.1/admin-panel/img/server-settings/FooterLinks5.png b/versioned_docs/version-26.1/admin-panel/img/server-settings/FooterLinks5.png
new file mode 100644
index 0000000000..f83f038dd9
Binary files /dev/null and b/versioned_docs/version-26.1/admin-panel/img/server-settings/FooterLinks5.png differ
diff --git a/versioned_docs/version-26.1/admin-panel/img/server-settings/ImportantLaunches1.png b/versioned_docs/version-26.1/admin-panel/img/server-settings/ImportantLaunches1.png
new file mode 100644
index 0000000000..aa7695d0d9
Binary files /dev/null and b/versioned_docs/version-26.1/admin-panel/img/server-settings/ImportantLaunches1.png differ
diff --git a/versioned_docs/version-26.1/admin-panel/img/server-settings/ImportantLaunches2.png b/versioned_docs/version-26.1/admin-panel/img/server-settings/ImportantLaunches2.png
new file mode 100644
index 0000000000..6ea671fd1d
Binary files /dev/null and b/versioned_docs/version-26.1/admin-panel/img/server-settings/ImportantLaunches2.png differ
diff --git a/versioned_docs/version-26.1/admin-panel/img/server-settings/PasswordLength.png b/versioned_docs/version-26.1/admin-panel/img/server-settings/PasswordLength.png
new file mode 100644
index 0000000000..775a335ec3
Binary files /dev/null and b/versioned_docs/version-26.1/admin-panel/img/server-settings/PasswordLength.png differ
diff --git a/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings1.png b/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings1.png
new file mode 100644
index 0000000000..15dcf2ccc4
Binary files /dev/null and b/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings1.png differ
diff --git a/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings10.png b/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings10.png
new file mode 100644
index 0000000000..0e125e2e3e
Binary files /dev/null and b/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings10.png differ
diff --git a/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings2.png b/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings2.png
new file mode 100644
index 0000000000..ba1f4f89e1
Binary files /dev/null and b/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings2.png differ
diff --git a/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings3.png b/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings3.png
new file mode 100644
index 0000000000..1b3fb237fd
Binary files /dev/null and b/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings3.png differ
diff --git a/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings4.png b/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings4.png
new file mode 100644
index 0000000000..f485eec5c6
Binary files /dev/null and b/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings4.png differ
diff --git a/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings5.png b/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings5.png
new file mode 100644
index 0000000000..dcb9b8e2e5
Binary files /dev/null and b/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings5.png differ
diff --git a/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings6.png b/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings6.png
new file mode 100644
index 0000000000..4b912d7dd0
Binary files /dev/null and b/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings6.png differ
diff --git a/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings7.png b/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings7.png
new file mode 100644
index 0000000000..57fc475aaf
Binary files /dev/null and b/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings7.png differ
diff --git a/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings8.png b/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings8.png
new file mode 100644
index 0000000000..b3599b453a
Binary files /dev/null and b/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings8.png differ
diff --git a/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings9.png b/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings9.png
new file mode 100644
index 0000000000..7deab7f1da
Binary files /dev/null and b/versioned_docs/version-26.1/admin-panel/img/server-settings/ServerSettings9.png differ
diff --git a/versioned_docs/version-26.1/admin-panel/index.md b/versioned_docs/version-26.1/admin-panel/index.md
new file mode 100644
index 0000000000..b7ee79431b
--- /dev/null
+++ b/versioned_docs/version-26.1/admin-panel/index.md
@@ -0,0 +1,18 @@
+---
+title: Admin Panel
+description: Efficiently manage projects and users with our Admin Panel. Explore event monitoring and more for your centralized test automation tool.
+---
+
+# Admin Panel
+
+The **Admin Panel** is a comprehensive section dedicated to project and user management for administrators in our test automation dashboard. This category provides all the essential tools needed to effectively oversee and customize your platform. As an admin, you can set up and organize projects, ensuring they are aligned with the goals and structure of your organization.
+
+Within the Admin Panel, you can **manage user roles and permissions**, tailoring access based on specific responsibilities and ensuring that users have the appropriate level of control. This helps in maintaining a secure environment by limiting access to sensitive information and critical functionalities to only authorized individuals.
+
+Another key feature of the Admin Panel is **event monitoring**, which allows admins to track activities at both the project and instance levels. This ensures that you have real-time visibility into the actions taken within your system, helping in troubleshooting and security management. From user actions to system alerts, you can keep a close watch on the platform’s behavior and quickly address any issues that arise.
+
+Overall, the Admin Panel is designed to offer a robust and flexible interface that empowers administrators to manage both projects and users efficiently, ensuring that the platform remains secure, organized, and aligned with the organization’s needs.
+
+import DocCardList from '@theme/DocCardList';
+
+
diff --git a/versioned_docs/version-26.1/analysis/AutoAnalysisOfLaunches.mdx b/versioned_docs/version-26.1/analysis/AutoAnalysisOfLaunches.mdx
new file mode 100644
index 0000000000..53b3ee0a25
--- /dev/null
+++ b/versioned_docs/version-26.1/analysis/AutoAnalysisOfLaunches.mdx
@@ -0,0 +1,358 @@
+---
+sidebar_position: 1
+sidebar_label: Auto-Analysis of launches
+description: Use Auto-Analysis to categorize failures with ML, reduce manual work, and link defects automatically. Speed investigations and improve accuracy with test failure analytics.
+---
+
+# Auto-Analysis of launches
+
+The analysis feature of the ReportPortal makes it possible for the application to check and pass part of the routine duties by itself.
+
+Auto-analysis performs automated defect triaging and defines the reason for the test item failure and sets:
+
+* a defect type;
+* a link to BTS _(in case if it exists)_;
+* comment _(in case if it exists)_;
+
+The process of Auto-Analysis is based on previous user-investigated users' results using Machine Learning.
+
+An auto-analyzer is presented by a combination of several services: OpenSearch and Analyzer service (two instances Analyzer and Analyzer train).
+
+* OpenSearch contains an analytical base and stores training data for retraining of models.
+* Analyzer instance performs all operations, connected with the basic functionality (indexing/removing logs, searching logs, auto-analysis, ML suggestions).
+* Analyzer train instance is responsible for training models for Auto-analysis and ML suggestions functionality.
+
+*You have the option to disable the Analyzer by removing the Analyzer and Analyzer train services from the installation.*
+
+There are several ways to use an analyzer in our test automation reporting dashboard:
+
+* Use the ReportPortal Analyzer: **manual** (analysis is switched on only for chosen launch manually) or **auto** (analysis is switched on after the launch finishing automatically);
+
+* Implement and configure your custom Analyzer and do not deploy ReportPortal service Analyzer;
+
+* Do not use any Analyzers at all and do an analytical routine by yourself;
+
+:::important
+The Auto Analyzer service is a part of the ReportPortal bundle.
+:::
+
+## ReportPortal Analyzer. How the Auto-Analysis is working
+
+ReportPortal's Auto Analyzer allows users to reduce the time spent on test execution investigation by analyzing test failures in automatic mode. The default analysis component is running along with OpenSearch which is used for test logs indexing.
+For effective using Auto–Analysis you should come through several stages.
+
+### Create an analytical base in the OpenSearch
+
+First of all, you need to create an analytical base. For that, you should start to analyze test results manually.
+
+All test items with a defect type which have been analyzed manually or automatically by ReportPortal are sent to the OpenSearch.
+
+The following info is sent:
+
+* An item ID;
+* Logs (each log should be with level Error and higher (log level >= 40 000));
+* Issue type;
+* Flag: “Analyzed by” (where shows by whom the test item has been analyzed by a user or by ReportPortal);
+* A launch name;
+* Launch ID;
+* Test case ID;
+
+For the better analysis, we merge small logs (which consist of 1-2 log lines and words number less or equal 100) together. We store this merged log message as a separate document if there are no other big logs (consisting of more than 2 log lines or having a stacktrace) in the test item. We store this merged log message in a separate field "merged_small_logs" for all the big logs if there are ones.
+
+The Analyzer preprocesses log messages from the request for test failure analysis: extracts error message, stacktrace, numbers, exceptions, urls, paths, parameters and other parts from text to search for the most similar items by these parts in the analytical base. These parts are saved in a separate fields for each log entry.
+
+Each log entry along with its defect type is saved to OpenSearch in the form of a separate document. All documents created compose an Index. The more test results index has, the more accurate results will be generated by the end of the analysis process.
+
+:::tip
+If you do not sure how many documents(logs) are contained in the Index at that moment, you can check it.
+For that, perform the following actions:
+* Uncommented Service OpenSearch ports in a docker-compose file or add them: 9200:9200;
+* Restart-Service OpenSearch with new docker-compose;
+* Send a request to OpenSearch:
+ * how many documents in the Index: GET http://localhost:9200/_cat/indices?v
+ * Detailed information: POST http://localhost:9200/{project_name}/_search
+:::
+
+Test items of a launch in Debug mode are not sent to the service Analyzer. If the test item is deleted or moved to the Debug mode, it is removed from the Index.
+
+### Auto-Analysis process
+
+After your Index has been completed. You can start to use the auto-analysis feature.
+
+Analysis can be launched automatically (via Project Settings) or manually (via the menu on All launches view). After the process is started, all items with defect type “To investigate” with logs (log level >= 40 000) from the analyzed launch are picked and sent to the Analyzer Service and the service OpenSearch for investigations.
+
+### How OpenSearch returns candidates for Analysis
+
+Here is a simplified procedure of the Auto-analysis candidates searching via OpenSearch.
+
+When a "To investigate" test item appears we search for the most similar test items in the analytical base. We create a query which searches by several fields, message similarity is a compulsory condition, other conditions boost the better results and they will have a higher score (boost conditions are similarity by launch name, error message, found exceptions, numbers in the logs and etc.).
+
+Then OpenSearch receives a log message and divides it into the terms (words) with a tokenizer and calculates the importance of each term (word). For that OpenSearch computes TF-IDF for each term (word) in the analyzed log. If the level of term importance is low, the OpenSearch ignores it.
+
+:::note
+
+*Term frequency (TF)* – how many time term (word) is used in an analyzed log;
+
+*Document frequency (DF)* – in how many documents this term (word) is used in Index;
+
+*TF-IDF (TF — term frequency, IDF — inverse document frequency)* — a statistical measure used to assess the importance of a term (word) in the context of a log that is part of an Index. The weight of a term (word) is proportional to the amount of use of this term (word) in the analyzed log and inversely proportional to the frequency of term (word) usage in Index.
+:::
+
+The term (word) with the highest level of importance is the term (word) that is used very frequently in analyzed log and moderately in the Index.
+
+After all important terms are defined, OpenSearch calculates the level of equality between an analyzed log and each log in the Index. For each log from the Index is calculated a score.
+
+:::note
+
+How calculated a score:
+
+**score(q,d)** =
+
+ coord(q,d) -
+ SUM (
+ tf(t in d),
+ idf(t)²,
+ t.getBoost(),
+ ) (t in q)
+Where:
+* score(q,d) is the relevance score of log “d” for query “q”.
+* coord(q,d) is the coordination factor: the percent of words equality between analyzed log and particular log from the OpenSearch.
+* The sum of the weights for each word “t” in the query “q” for log “d”.
+ * tf(t in d) is a frequency of the word in the analyzed log.
+ * idf(t) is the inverse frequency of the word in all saved logs in the Index.
+ * t.getBoost() is the boost that has been applied to the query. The higher priority for logs with:
+ * The same Launch name;
+ * The same UID;
+ * Manual analysis;
+ * Error message;
+ * The same numbers in the log;
+ * and etc.
+:::
+
+The results are sorted by the score, in case the scores are the same, they are sorted by "start_time" field, which helps to boost the test items with closer to today dates. So the latest defect types will be higher in the returned by OpenSearch results.
+
+The OpenSearch returns to the service Analyzer 10 logs with the highest score for each log. Analyzer regroups all the results by a defect type and chooses the best representative for each defect type group, based on their scores.
+
+:::note
+In the case the test item has several logs, the best representative for a defect type group will become the log with the highest score among all logs.
+:::
+
+### How Auto-analysis makes decisions for candidates, returned by OpenSearch
+
+The OpenSearch returns to the service Analyzer 10 logs with the highest score for each query and all these candidates will be processed further by the ML model. Analyzer regroups all the results by a defect type and chooses the best representative for each defect type group, based on their scores.
+
+The ML model is an XGBoost model which features (about 30 features) represent different statistics about the test item, log message texts, launch info and etc, for example:
+* the percent of selected test items with the following defect type
+* max/min/mean scores for the following defect type
+* cosine similarity between vectors, representing error message/stacktrace/the whole message/urls/paths and other text fields
+* the probability for being of a specific defect type given by the Random Forest Classifier trained on Tf-Idf vectors
+
+The model gives a probability for each defect type group, and we choose the defect type group with the highest probability and the probability should be >= 50%.
+
+A defect comment and a link to BTS of the best representative from this group come to the analyzed item.
+
+The Auto-analysis model is retrained for the project and this information can be found in the section "How models are retrained" below.
+
+So this is how Auto-Analysis works and defines the most relevant defect type on the base of the previous investigations. We give an ability to our users to configure auto-analysis manually.
+
+## Auto-analysis Settings
+
+All settings and configurations of Analyzer and OpenSearch are situated on a separate tab on Project settings.
+
+1. Login into ReportPortal instance as Administrator or project member with PROJECT MANAGER role on the project;
+
+2. Come on Project Settings, choose Auto-Analysis section;
+
+
+
+In this section user can perform the following actions:
+
+1. Switch ON/OFF auto-analysis;
+
+2. Choose a base for analysis (All launches/ Launches with the same name);
+
+3. Configure OpenSearch settings;
+
+4. Remove/Generate OpenSearch index.
+
+### Switch ON/OFF automatic analysis
+
+To activate the "Auto-Analysis" functionality in a project, perform the following steps:
+
+1. Login ReportPortal instance as Administrator or project member with PROJECT MANAGER role on the project.
+
+2. Select ON in the "Auto-Analysis" selector on the Project settings / Auto-analysis section.
+
+3. Click the "Submit" button. Now "Auto-Analysis" will start as soon as any launch finishes.
+
+### Base for analysis
+
+You can choose which results from previous runs should be considered in Auto-Analysis for defining the failure reason.
+
+There are five options:
+
+* All previous launches
+* Current and all previous launches with the same name
+* All previous launches with the same name
+* Only previous launch with the same name
+* Only current launch
+
+If you choose **“All previous launches”** option, test results in the launch will have analyzed on the base of all runs before the current launch regardless of the launch name.
+
+If you choose **“Current and all previous launches with the same name”** option, test results in the launch will have analyzed on the base of current and all previous launches that have the same Launch name.
+
+If you choose **“All previous launches with the same name”** option, test results in the launch will have analyzed on the base of all launches before current launch that have the same Launch name.
+
+If you choose **“Only previous launch with the same name”** option, test results in the launch will have analyzed on the base of last run before current launch with the same name.
+
+If you choose **“Only current launch”** option, test results in the launch will have analyzed on the base of current launch.
+
+Imagine that the launches in the image below are part of your ReportPortal project, and currently, Smoke Launch 3 is being analyzed.
+
+
+
+So, launches that will have analyzed if you choose **“All previous launches”** option: Smoke Launch 1, Smoke Launch 2, Regression Launch 1, Regression Launch 2, Regression Launch 3.
+
+Launches that will have analyzed if you choose **“Current and all previous launches with the same name”** option: Smoke Launch 3, Smoke Launch 1, Smoke Launch 2.
+
+Launches that will have analyzed if you choose **“All previous launches with the same name”** option: Smoke Launch 1, Smoke Launch 2.
+
+Launches that will have analyzed if you choose **“Only previous launch with the same name”** option: Smoke Launch 2.
+
+Launches that will have analyzed if you choose **“Only current launch”** option: Smoke Launch 3.
+
+You can choose those configurations via Project configuration or from the list of actions on All launches view.
+
+### Defect assignment based on the longest retry
+
+ReportPortal allows users to control how the system prioritizes retries for analysis. By default, only the latest retry is considered, but users can also choose to analyze the longest retry — the one with the most passed nested steps before the first failure.
+
+If a test has retries and the test structure contains nested steps, the assignment of defects is determined by the **"Defect assignment based on the longest retry" checkbox** in the Auto-Analysis settings.
+
+
+
+The Analyzer applies defect types based on this configuration during manual, auto, or Immediate Auto-Analysis.
+
+:::note
+**Permissions:**
+Admin, Project Manager can modify the setting.
+Customer, Member, Operator can view only.
+:::
+
+By default, **the checkbox is not checked**. In this case:
+
+* When a test has retries, ReportPortal sends the logs of the latest retry to the Analyzer.
+
+
+
+When **the checkbox is checked**:
+
+* ReportPortal sends the logs of the longest retry (the retry with the maximum number of passed nested steps before the first failure) to the Analyzer.
+
+
+
+This ensures that defect assignment is based on the most representative retry, not just the most recent one.
+
+
+
+### Remove/Generate OpenSearch index
+
+There two possible actions that can be performed under Index in OpenSearch.
+
+You can **remove the Index from OpenSearch** and all logs with there defect type will be deleted. ML will be set to zero. All data with your investigations will be deleted from the OpenSearch. For creating a new one you could start to investigate test results manually or generate data based on previous results on the project once again.
+
+:::note
+Your investigations in ReportPortal will not be changed. The operation concerns only OpenSearch base.
+:::
+
+
+
+Another option, you can **generate the Index in OpenSearch**. In the case of generation, all data will be removed from OpenSearch and the new one will be generated based on all previous investigations on the project following current analysis settings.
+
+At the end of the process, you will receive a letter with info about the end of the process and with several items that will be appeared in OpenSearch.
+
+You can use index generation for several goals. For example, assume two hypothetical situations when index generation can be used:
+
+* by accident you remove the index, but now you want to restore it.
+
+:::note
+The new base will be generated following logs and settings that are existing on the moment of operating. So index before removing and index after generation can be different.
+:::
+* you have changed a parameter **Number of log lines** for 3. But your existing index contains logs with value ALL. You can generate a new index, the old index will be removed, and a new one will be generated. Logs in the new index will contain 3 lines;
+
+
+
+We strongly do not recommend use auto-analysis until the new index will be generated.
+
+### Manual analysis
+
+Analysis can be launched manually. To start the analysis manually, perform the following steps:
+
+1. Navigate to the "Launches" page.
+
+2. Select the "Analysis" option from the context menu next to the selected launch name.
+
+3. Choose the scope of previous results on the base of which test items should be auto-analyzed. The default is the one that is chosen on the setting page, but you can change it manually.
+
+Via this menu you can choose 3 options unlike on Project Settings:
+
+* All launches;
+
+* Launches with the same name;
+
+* Only current launch;
+
+Options **All launches** and **Launches with the same name** are working the same as on project settings.
+If you choose **Only current launch**, the system is analyzing the test items of chosen launch only on a base of already investigated date of this launch.
+
+4. Choose which items from launch should be analyzed:
+
+* Only To investigated;
+* Items analyzed automatically (by AA);
+* Items analyzed manually;
+
+In case the user chooses **Only To investigate items** - the system is analyzing only items with defect type "To investigate" in the chosen launch;
+
+In case the user chooses **Items analyzed automatically (by AA)** - the system is analyzing only items that have been already analyzed by auto-analysis. The results of the previous run of analysis will be set to zero and items will be analyzed once again.
+
+In case the user chooses **Items analyzed manually** - the system is analyzing only items that have been already analyzed by the user manually. The results of the previous run of analysis will be set to zero and items will be analyzed once again.
+
+In the case of multi-combination - the system is analyzing results dependence on chosen options.
+
+:::note
+The Ignore flag is saved. If the item has flag **Ignore in AA**, it will not be re-analyzed.
+:::
+
+:::tip
+For option **Only current launch** you can not choose *Items analyzed automatically (by AA)* and *Items analyzed manually* simultaneously.
+:::
+
+4. Click the "Analysis" button. Now "Auto-Analysis" will start.
+
+Any launches with an active analyzing process will be marked with the "Analysis" label.
+
+:::note
+If a test has retries and the test structure contains nested steps, the assignment of defects is determined by the ["Defect assignment based on the longest retry" checkbox](/analysis/AutoAnalysisOfLaunches#defect-assignment-based-on-the-longest-retry) in the Auto-Analysis settings.
+* If the checkbox is not checked, ReportPortal sends the logs of the latest retry to the Analyzer.
+* If the checkbox is checked, ReportPortal sends the logs of the longest retry (the retry with the maximum number of passed nested steps before the first failure) to the Analyzer.
+:::
+
+
+
+## Label AA
+
+When the test item is analyzed by the ReportPortal, a label "AA" is set on the test item on a Step Level. You can filter results with a parameter “Analysed by RP (AA)”
+
+
+
+## Ignore in Auto-Analysis
+
+If you don't want to save some test items in OpenSearch, you can "Ignore in Auto-Analysis". For that you can choose this action in “Make decision” modal:
+
+
+
+Or from the action list for several test items:
+
+
+
+When you choose “Ignore in AA”, logs of the chosen item are removed from the OpenSearch.
diff --git a/versioned_docs/version-26.1/analysis/HowModelsAreRetrained.md b/versioned_docs/version-26.1/analysis/HowModelsAreRetrained.md
new file mode 100644
index 0000000000..2bc62510fb
--- /dev/null
+++ b/versioned_docs/version-26.1/analysis/HowModelsAreRetrained.md
@@ -0,0 +1,38 @@
+---
+sidebar_position: 5
+sidebar_label: How models are retrained
+description: Learn when Auto-Analysis and ML models retrain, how data is used, and what thresholds apply to keep ReportPortal test failure analysis accurate and project-specific.
+---
+
+# How models are retrained
+
+In the Auto-analysis and Machine Learning (ML) suggestions processes, several models contribute:
+
+* Auto-analysis XGBoost model, which provides the likelihood of a test item being of a specific type based on the most similar test item in the history of that defect type.
+* ML suggestions XGBoost model, which offers the probability for a test item to resemble the test item from the history.
+* Error message language model on Tf-Idf vectors (Random Forest Classifier), which delivers a probability for the error message to be of a specific defect type or its subtype based on the words in the message. The probability from this model serves as a feature in the main boosting algorithm.
+
+In the beginning, you have global models at your disposal. These models, trained on six projects, have demonstrated average good accuracy. To develop a more powerful and personalized test failure analysis, you should retrain the models on the data from your project. At the start of the project, you have global models available. They were trained on six projects and validated to provide good average accuracy. To have a more powerful and personalized test failure analysis, the models should be retrained on the data from the project.
+
+:::note
+If a global model performs better on your project data, the retrained model will not be saved, because we only keep custom models that outperform the global model on your data.
+:::
+
+Triggering information and retrained models are stored in Minio (or a filesystem), as set up in the Analyzer service settings.
+
+Conditions for triggering retraining for **Error Message Random Forest Classifier**:
+* Each time the test item defect type is changed to another issue type (except "To Investigate"), we update the triggering info. This stores the quantity of test items with defect types and the quantity of test items with defect types since the last training. This information is stored in the file "defect_type_trigger_info" in Minio.
+* Retraining is triggered when over 100 labelled items are detected and 100 labelled test items have been identified since the last training. If validation data metrics are better than metrics for the global model on the same data points, a custom "defect_type" model is saved in Minio. This will then be utilized in the auto-analysis and suggestions functionality for enhancing test automation results dashboard.
+
+
+Conditions for triggering retraining of **Auto-analysis** and **Suggestion XGBoost models**:
+* We collect training data from several sources:
+ * When a suggestion is selected (the chosen test item will be a positive example, others will be negative).
+ * When you don't select any suggestion and manually edit the test item (all suggestions become negative examples).
+ * Auto-analysis identifies a similar test item; this is considered a positive example unless the defect type is manually changed by the user.
+
+When either a suggestion analysis runs or a defect type change occurs, we update the trigger info for both models. This information is stored in "auto_analysis_trigger_info" and "suggestion_trigger_info" files in Minio.
+
+Retraining is triggered when:
+* For the auto-analysis model: when over 300 labelled items and 100 labelled test items have been identified since the last training. If validation data metrics are improved, a custom "auto_analysis" model is saved in Minio and utilized in the auto-analysis function.
+* For the suggestion model: when more than 100 labelled items and 50 labelled items have been identified since the last training. If validation data metrics are improved, a custom "suggestion" model is saved in Minio and used in the suggestions function.
diff --git a/versioned_docs/version-26.1/analysis/ImmediateAutoAnalysis.mdx b/versioned_docs/version-26.1/analysis/ImmediateAutoAnalysis.mdx
new file mode 100644
index 0000000000..4fe3912af3
--- /dev/null
+++ b/versioned_docs/version-26.1/analysis/ImmediateAutoAnalysis.mdx
@@ -0,0 +1,49 @@
+---
+sidebar_position: 2
+sidebar_label: Immediate Auto-Analysis
+description: Kick off Auto-Analysis before a launch finishes to flag failures sooner. Use attributes to accelerate test failure analytics and shorten feedback loops.
+---
+
+# Immediate Auto-Analysis
+
+In the realm of software development, quick issue detection is a critical aspect that directly impacts the quality of your products. Understanding modern trends, ReportPortal is ready to introduce a new feature – Immediate Auto-Analysis (Immediate AA). Starting from version 24.1, Auto-Analysis can be started via API after certain test cases finish before whole Launch is done thereby accelerating the test failure triage.
+
+With Immediate AA, you no longer need to wait for the Launch finish before starting the analysis of failed tests. For instance, in your Launch there are 2000 tests, you can now see that 16 tests have already failed, and Immediate AA promptly marked these issues for you on the fly.
+
+To initiate Immediate AA, you need to specify the following parameters in the **attributes** section **for each step on its start or finish** when reporting:
+
+
+
+If the value for **“immediateAutoAnalysis”** is set to **“false”**, Immediate AA will not work.
+
+If the “immediateAutoAnalysis” attribute is not specified, Immediate AA will not work either.
+
+:::important
+The “immediateAutoAnalysis” attribute can only be applied to a step level. It is essential to send the log, as the Analyzer operates based on the log.
+:::
+
+Immediate AA will work in any case if this attribute is present, regardless Auto-Analysis is enabled or disabled in Project Settings. In case when some items have been already analyzed by Immediate AA, Auto-Analysis and Manual Analysis on Launch finish will skip previously analyzed items.
+
+Immediate AA, like Auto-Analysis on Launch finish, is based on the following options:
+
+* All previous launches
+* Current and all previous launches with the same name
+* All previous launches with the same name
+* Only previous launch with the same name
+* Only current launch
+
+You can select the required option in the Project settings for Auto-Analysis.
+
+:::note
+If a test has retries and the test structure contains nested steps, the assignment of defects is determined by the ["Defect assignment based on the longest retry" checkbox](/analysis/AutoAnalysisOfLaunches#defect-assignment-based-on-the-longest-retry) in the Auto-Analysis settings.
+* If the checkbox is not checked, ReportPortal sends the logs of the latest retry to the Analyzer.
+* If the checkbox is checked, ReportPortal sends the logs of the longest retry (the retry with the maximum number of passed nested steps before the first failure) to the Analyzer.
+:::
+
+It is important to highlight that Immediate AA works only for defect types from “To Investigate” group. If you reported a Launch with failed step, and this step has another defect type (“Product Bug”, etc.), then step will not be analyzed by Immediate AA.
+
+This way, Immediate AA allows to detect issues early and enhances testing performance.
+
+
+
+
diff --git a/versioned_docs/version-26.1/analysis/ImmediatePatternAnalysis.mdx b/versioned_docs/version-26.1/analysis/ImmediatePatternAnalysis.mdx
new file mode 100644
index 0000000000..1238eb7977
--- /dev/null
+++ b/versioned_docs/version-26.1/analysis/ImmediatePatternAnalysis.mdx
@@ -0,0 +1,47 @@
+---
+sidebar_position: 8
+sidebar_label: Immediate Pattern Analysis
+description: Start Pattern Analysis before a launch ends to catch issues early. Trigger via attributes and speed defect triage on large runs in ReportPortal.
+---
+
+# Immediate Pattern Analysis
+
+In a modern software world, quick issue detection becomes necessary. ReportPortal as a progressive test automation dashboard, follows today’s faster development methods. Starting from version 24.1, Pattern Analysis can be started via API after certain test cases finish before whole Launch is done. Immediate Pattern Analysis (PA) significantly speeds up failure triage.
+
+Previously, Pattern Analysis can’t be started before Launch finish. Since some users may have their launches last up to 12 hours, or even all day, they couldn’t start test failure analysis for a long time. This was slowing down issue spotting. With Immediate Pattern Analysis, you can begin looking at your test results much faster, which is especially valuable for large Launches.
+
+To initiate Immediate PA, fulfill the following conditions:
+
+1. PA rule should be created.
+
+2. PA rule should be enabled.
+
+3. When reporting, you need to specify the following parameters in the **attributes** section **for each step on its start or finish**:
+
+
+
+If the value for **“immediatePatternAnalysis”** is set to **“false”**, Immediate PA will not work.
+
+If the “immediatePatternAnalysis” attribute is not specified, Immediate PA will not work either.
+
+The “system” parameter determines whether the “immediatePatternAnalysis” attribute will be displayed in the UI. If **“system”** is set to **“true”**, the “immediatePatternAnalysis” attribute will not be displayed on the UI, and if **“system”** is set to **“false”**, it will be.
+
+
+
+You can provide this attribute at the start of the step or at the finish. You can also set one value at the start and another at the finish, in which case the last value will take.
+
+:::note
+Immediate PA will work in any case if this attribute is present, regardless Auto Pattern Analysis is enabled or disabled. In this case, Auto Pattern Analysis and Manual Pattern Analysis on Launch finish will skip previously analyzed items by Immediate Pattern Analysis.
+:::
+
+:::important
+It would be better to use STRING rule instead of REGEX rule in all possible cases to speed up the Pattern Analysis processing in the database. As a result, you can get your analysis completed faster using the STRING patterns rather than REGEX and reduce the database workload.
+:::
+
+Apart from the timing of execution, Immediate PA differs from PA on Launch finish in that Immediate PA works for any issue type, whereas PA on Launch finish works for "To Investigate" items only. This means that you can report certain items, such as Automation Bug or System Issue, and specify parameters for launching Immediate PA.
+
+
+
+Overall, Immediate PA helps to catch issues early and improves testing quality.
+
+
diff --git a/versioned_docs/version-26.1/analysis/MLSuggestions.md b/versioned_docs/version-26.1/analysis/MLSuggestions.md
new file mode 100644
index 0000000000..a4513596a0
--- /dev/null
+++ b/versioned_docs/version-26.1/analysis/MLSuggestions.md
@@ -0,0 +1,54 @@
+---
+sidebar_position: 4
+sidebar_label: ML Suggestions
+description: Get AI-powered suggestions for similar failures during triage. Reuse defect types, comments, and BTS links to speed analysis in your test automation dashboard.
+---
+
+# ML Suggestions
+
+ML suggestions functionality is based on previously analyzed results (either manually or via Auto-analysis feature) using Machine Learning. The functionality is provided by the Analyzer service in combination with OpenSearch.
+
+This analysis hints what are the most similar analyzed items to the current test item. You can interact with this functionality in several ways:
+* Choose one of the suggested items if you see that the reason for the current test item is similar to the suggested one. When you choose the item and apply changes to the current item, the following test item characteristics will be copied from the chosen test item:
+ * a defect type;
+ * a link to BTS _(in case if it exists)_;
+ * comment _(in case if it exists)_;
+
+* If you see no suitable suggested test item for the current test item, just do not select any of them.
+
+## How the ML suggestions functionality is working
+
+ML Suggestions searches for similar previously analyzed items to the current test item, so it requires an analytical base saved in OpenSearch. ML suggestions takes into account all user-investigated, auto-analyzed items or items chosen from ML suggestions. While the analytical base is growing ML suggestions functionality will have more examples to search by and suggest you the best options.
+
+ML suggestions analysis is run everytime you enter "Make decision" editor. ML suggestions are run for all test items no matter what defect type they have now. This functionality is processing only test items with logs (log level >= 40000).
+
+The request for the suggestions part looks like this:
+* testItemId;
+* uniqueId;
+* testCaseHash;
+* launchId;
+* launchName;
+* project;
+* analyzerConfig;
+* logs = List of log objects (logId, logLevel, message)
+
+The Analyzer preprocesses log messages from the request for analysis: extracts error message, stacktrace, numbers, exceptions, urls, paths, parameters and other parts from text to search for the most similar items by these parts in the analytical base. We make several requests to the OpenSearch to find similar test items by all the error logs.
+
+:::note
+When a test item has several error logs, we will use the log with the highest score as a representative of this test item.
+:::
+
+The OpenSearch returns to the service Analyzer 10 logs with the highest score for each query and all these candidates will be processed further by the ML model. The ML model is an XGBoost model which features (about 40 features) represent different statistics about the test item, log message texts, launch info and etc, for example:
+* the percent of selected test items with the following defect type
+* max/min/mean scores for the following defect type
+* cosine similarity between vectors, representing error message/stacktrace/the whole message/urls/paths and other text fields
+* the probability for being of a specific defect type given by the Random Forest Classifier trained on Tf-Idf vectors
+
+The model gives a probability for each candidate, we filter out test items with the probability less or equal 40%. We sort the test items by this probability, after that we deduplicate test items inside this ranked list. If two test items are similar with >= 98% by their messages, then we will leave the test item with the highest probability. After deduplication we take maximimum 5 items with the highest score to show in the ML Suggestions section.
+
+ML suggestions section contains at maximum 5 suggested items, they are shown together with the scores given by the model and we divide them into 3 groups:
+* the group "SAME", test items with the score = 100%
+* the group "HIGH", test items with the score in the range [70% - 99.9%]
+* the group "LOW", test items with the score in the range [40% - 69.9%]
+
+
diff --git a/versioned_docs/version-26.1/analysis/ManualAnalysis.mdx b/versioned_docs/version-26.1/analysis/ManualAnalysis.mdx
new file mode 100644
index 0000000000..6631245e9b
--- /dev/null
+++ b/versioned_docs/version-26.1/analysis/ManualAnalysis.mdx
@@ -0,0 +1,114 @@
+---
+sidebar_position: 6
+sidebar_label: Manual Analysis
+description: Use the Make decision modal to assign defect types, apply ML suggestions, and bulk update items. Streamline bug triage for a faster automation test report.
+---
+
+# Manual Analysis
+
+Manual Analysis is presented on our test report dashboard by “Make decision” modal.
+
+## “Make decision” modal feature highlights
+
+* View and analyze execution context:
+ * See step name and current defect type
+ * Expand logs to understand failure reasons
+ * Review links to bugs, comments, or special labels (AA, PA, Ignore AA)
+
+* Select defect type and comment manually:
+ * Choose defect from “Manual selection”
+ * Add a comment
+ * Apply changes to one or multiple test items
+
+* Use Analyzer suggestions:
+ * Pick similar failures based on logs (marked with red asterisk)
+ * Automatically apply the same defect type, comment, and linked issue
+ * Expand to apply to other items using “Apply for” section
+
+* Review test history:
+ * Check how this step was marked in previous runs
+ * Reapply defect type, comment, and BTS link
+ * Extend to other similar items
+
+* Select other test items for bulk editing:
+ * Use “Apply for” section to include more items
+ * See preview in “Results will be applied for” section
+ * Click “Apply” to confirm changes
+
+* Perform bulk updates efficiently:
+ * Select multiple test items
+ * Apply defect type, comment and BTS link in one action
+
+## “Make decision” modal redesign
+
+Redesign of the “Make decision” modal was implemented in version 5.7. This feature helps to sort out auto tests and decide: What is the problem? How can it be marked? Is it required to post issue or link issue? It became easier to use this functionality after the redesign.
+
+
+
+The “Make decision” modal can be opened in three ways:
+
+1) from the Step level
+
+
+
+2) via Actions
+
+
+
+3) from the Log level
+
+
+
+## “Execution to change” section
+
+**“Execution to change”** section is displayed at the top left of the “Make decision” modal. It includes Step name, current defect type. Also it can have a log, a comment, a link to a Bug Tracking System (BTS), a label (AA, PA, Ignore AA) if exist. You can expand logs to understand why this step was failed.
+
+
+
+## How to set a defect type and type a comment
+
+**“Select defect”** section is displayed at the top right of the “Make decision” modal. It includes “Manual selection”, “Analyzer suggestions”, “History of the test”.
+
+
+
+You can **select a defect type and type a comment manually**. Selected defect type and added comment will be applied to the current item (there is also a possibility to apply them to other items – please, have a look at “Apply for” section).
+
+
+
+## How to use “Analyzer suggestions”
+
+You also can select any step from the **“Analyzer suggestions”** with a similar log. Similar log is marked with a red asterisk. Then the defect type, the comment and linked BTS ticket (if exist) of the suggested step will be applied to the current item (there is also a possibility to apply them to other items – please, have a look at “Apply for” section).
+
+
+
+## “History of the test” section
+
+You can see the **“History of the test”** – which defect type this step had in previous runs. You can select any item from the “History of the test”. Then the defect type, the comment and linked BTS ticket (if exist) of the suggested step will be applied to the current item (there is also a possibility to apply them to other items – please, have a look at “Apply for” section).
+
+
+
+## How to select other steps for analysis
+
+The “Make decision” modal works not only with the current step. This feature allows to select other steps with “To Investigate” defect type which can be changed as well. For that, please, expand the **“Apply for”** section and select the needed option.
+
+
+
+The **“Results will be applied for”** message is displayed at the bottom after selection. This section was added in version 5.7.
+
+
+
+Now you can view all changes before applying. Expand the “Results will be applied for” section to see information about changes. You should click **“Apply”** button to apply selected changes.
+
+
+
+## Bulk update
+
+There is also a possibility for Bulk update, when the changes are applied to all selected test items.
+
+
+
+
+
+
+
+As you can see, “Make decision” modal is a time-saving tool for engineers.
diff --git a/versioned_docs/version-26.1/analysis/PatternAnalysis.mdx b/versioned_docs/version-26.1/analysis/PatternAnalysis.mdx
new file mode 100644
index 0000000000..f0c8b200a9
--- /dev/null
+++ b/versioned_docs/version-26.1/analysis/PatternAnalysis.mdx
@@ -0,0 +1,98 @@
+---
+sidebar_position: 7
+sidebar_label: Pattern Analysis
+description: Define string or regex rules to detect known error patterns. Speed up investigations and track frequent causes with the Most Popular Pattern widget.
+---
+
+# Pattern Analysis
+
+Pattern Analysis is a feature that helps you to speed up test failure analysis by finding common patterns in error logs.
+
+## How to run Pattern Analysis
+
+You can run Pattern Analysis automatically or manually.
+
+To run Pattern Analysis **automatically**:
+
+1. Go to the Project Settings.
+
+2. Open Pattern-Analysis tab.
+
+3. Check the "Auto Pattern-Analysis" checkbox.
+
+4. Create rule.
+
+5. Run a launch.
+
+6. After launch finish, automatic Pattern Analysis will occur.
+
+
+
+:::note
+Automatic Pattern Analysis is activated by default.
+:::
+
+In case automatic Pattern Analysis is turned off, you can run **manually** from the menu next to a particular launch:
+
+
+
+If we have Auto-Analysis enabled together with Pattern Analysis, Pattern Analysis starts before Auto-Analysis: in this case, ReportPortal first identifies known patterns, and then the Analyzer assigns defect types and links issues in the BTS, if available.
+As a result, when both Auto-Analysis and Auto Pattern Analysis occur, a test item will have two labels: AA and PA.
+
+
+
+## How to create rules for Pattern Analysis
+
+To create rule:
+
+1. Go to the Project Settings.
+2. Open Pattern Analysis tab.
+3. Click ‘Create Pattern’ button.
+4. Fill in the form.
+5. Create ‘Create’ button.
+
+
+
+
+
+## Types of Pattern Analysis rules
+
+There are two types of Pattern Analysis rules:
+
+1. String – any problem phrase.
+
+
+
+
+
+2. Regex – regular expression.
+
+
+
+
+
+:::note
+It would be better to use STRING rule instead of REGEX rule in all possible cases to speed up the Pattern Analysis processing in the database. As a result, you can get your analysis completed faster using the STRING patterns rather than REGEX and reduce the database workload.
+:::
+
+## Use case 1
+
+**Problem:**
+A user is aware of several common reasons why test cases fail. During a test run, many tests have failed, and the user needs to check the logs to identify the reasons behind the failures.
+
+**Solution:**
+Create pattern rules for all common failure reasons, which include specific problem phrases (e.g., `Expected status code <404> but was <500>` or `Null response`) or use Regex queries (e.g., `java:[0-9]*`). Enable pattern analysis and launch a test run. This way, the ReportPortal system can identify all failed items that match known patterns in the error logs and label them with the corresponding pattern name. To find all items that failed for the same reason, apply a filter by ‘Pattern Name’ in the Step view. Additionally, add a ‘Most Popular Pattern’ widget to track the top 20 most frequent reasons for test failures in the build.
+
+
+
+
+
+## Use case 2
+
+**Problem:**
+The test run has finished, and the user notices that more than three items have failed for the same reason. The user wants to find all such items.
+
+**Solution:**
+Create a new pattern rule in the Project Settings. Manually launch a pattern analysis for a specific test run. Use the ‘Pattern Name’ filter in the Step view to find all items that failed for the same reason.
+
+
diff --git a/versioned_docs/version-26.1/analysis/SearchForTheSimilarToInvestigateItems.mdx b/versioned_docs/version-26.1/analysis/SearchForTheSimilarToInvestigateItems.mdx
new file mode 100644
index 0000000000..5dcdab9a53
--- /dev/null
+++ b/versioned_docs/version-26.1/analysis/SearchForTheSimilarToInvestigateItems.mdx
@@ -0,0 +1,44 @@
+---
+sidebar_position: 2
+sidebar_label: Search for the similar "To investigate" items
+description: Find similar “To investigate” items by logs across launches to bulk apply decisions. Accelerate defect triage and simplify your test reporting tool workflow.
+---
+
+# Search for the similar "To investigate" items
+
+Let's consider below an example of ML-driven failure triage in ReportPortal.
+
+**Use case:**
+
+**Situation:** Analyzer has completed its work and marked known issues with defect types.
+
+But there are a lot of failures with a similar unknown reason in the run. All such items have "To investigate" defect type.
+
+**Problem:** A user should check and analyze all failed items.
+
+**Solution:**
+
+A user is on All launches, he clicks on "To investigate" and opens a list with items. When a user clicks on a pencil next to a defect type, the system opens the ["Make decision" modal](/analysis/ManualAnalysis#make-decision-modal-redesign). In this modal a user can see all items with "To investigate" defect type and the same failure reason.
+
+
+
+There are 3 options for search the similar "To investigate" items on the Step level:
+
+- Current item only
+- Similar "To investigate" in the launch & current item
+- Similar "To investigate" in 10 launches & current item
+
+There are 4 options for search the similar "To investigate" items on the Log level:
+
+- Current item only
+- Similar "To investigate" in the launch & current item
+- Similar "To investigate" in 10 launches & current item
+- "To investigate" from the history line & current item
+
+If launches are filtered by filter on All Launches page, then addition option ```Similar "To investigate" in the Filter & current item``` appears on the Step and Log levels.
+
+
+
+A user can select all identical failures and perform the bulk operation for them.
+
+
diff --git a/versioned_docs/version-26.1/analysis/UniqueErrorAnalysis.mdx b/versioned_docs/version-26.1/analysis/UniqueErrorAnalysis.mdx
new file mode 100644
index 0000000000..b50f462fbc
--- /dev/null
+++ b/versioned_docs/version-26.1/analysis/UniqueErrorAnalysis.mdx
@@ -0,0 +1,137 @@
+---
+sidebar_position: 8
+sidebar_label: Unique Error Analysis
+description: Group identical errors to speed triage. See unique failures, match tests by error, and apply ML suggestions for faster, clearer test failure analysis.
+---
+
+# Unique Error Analysis
+
+You can analyze test failures from two perspectives: quantitative (How many tests have failed?) and qualitative (Why did they fail?). For example, if 1,000 test cases fail, then:
+
+1. They could all fail for the same reason.
+
+2. They could fail for various reasons.
+
+While failed tests allow you to understand what is broken, Unique Error analysis functionality implemented in version 5.7 will show you why it broke. Moreover, the system automatically groups tests by the same errors: when you expand some error, you see a list of tests where it occurred.
+
+:::important
+The main advantage of this solution is that a list of all unique errors of the launch is presented in one place.
+:::
+
+Thanks to the Unique Error analysis functionality, ReportPortal got the following benefits:
+
+1. A list of unique errors for the launch, with grouping.
+2. Easier test results analysis.
+3. Machine learning (ML) suggestions for groups of tests.
+4. The ['New Errors'](/26.1/quality-gates/QualityRulesConfiguration/#new-errors-in-the-run) Quality Gates rule.
+
+## How to run Unique Error analysis
+
+You can run Unique Error analysis automatically or manually.
+
+To run Unique Error analysis **automatically**:
+
+1. Go to the Project Settings.
+2. Open Analyzer tab.
+3. Open ‘Unique Errors’ settings.
+4. Check the "Auto-Unique Error" checkbox.
+
+
+
+5. Run a launch.
+6. After launch finish, open any item level in the launch.
+7. Click ‘Unique errors’ tab.
+
+
+
+
+
+
+
+:::note
+Automatic Unique Error analysis is activated by default.
+:::
+
+In case automatic Unique Error analysis is turned off, there are two ways to run Unique Error analysis **manually**:
+
+1. Run Unique error analysis manually from any item level.
+
+
+
+2. Run Unique Error analysis from the menu next to a particular launch.
+
+
+
+After Unique Error analysis is finished, open any item level in the launch and click the ‘Unique errors’ tab.
+
+## How to see Unique Errors
+
+Finally, you can see the list of Unique Errors.
+
+There you can see a list of unique logs with number of failed tests related to them. The number of matches found per Unique Errors is displayed in the column ‘MATCHED TESTS’. By default, Unique Errors are displayed from the one with the highest number of failed tests. By clicking on the column name, the sorting is updated each time.
+
+
+
+You can expand unique error to check what tests belong to the same one and it could give you a hint during error analysis and defects assigning. The groups are formed based on unique error logs, some small error logs can be merged and displayed as one error.
+
+
+
+## How to get ML suggestions for the group of tests
+
+In addition, there is a possibility to get ML suggestions for the group of tests. It speeds up the process of analyzing failed tests and assigning defect types by several times.
+
+For that,
+
+1. Open any item level in the launch.
+2. Click ‘Unique Errors’ tab.
+3. Expand a cluster with unique error.
+4. Select some failed tests.
+
+
+
+5. Open ‘Make decision’ modal.
+6. Check Analyzer suggestions.
+
+
+
+
+
+## 'Include/exclude numbers' settings
+
+There are 2 settings to decide whether numbers in error logs have significant value for analysis or not:
+
+1. Include numbers to analyzed logs.
+
+2. Exclude numbers from analyzed logs.
+
+
+
+Let’s consider some examples with the same Unique Errors but with different include/exclude numbers settings.
+
+We have 2 errors with identical text, but the difference is numeric value in the first error.
+
+1. An example with 'Include numbers to analyzed logs' setting. Error with numeric value is displayed:
+
+
+
+2. An example with 'Exclude numbers from analyzed logs' setting. As you can see, error with numeric value is not displayed:
+
+
+
+## How to extend Unique Error analysis
+
+Unique Error analysis functionality can be extended by the [ReportPortal premium feature](https://reportportal.io/pricing/saas) – [Quality Gates](/26.1/quality-gates/).
+
+If you have Quality Gate plugin installed, you can create Quality Gate for the launch with the 'New Errors' rule. This rule helps identify any new unique errors in the current launch by comparing them to another specified launch.
+
+If there is Quality Gate for the launch with the 'New Errors' rule, the 'ALL UNIQUE ERRORS' dropdown is visible and enabled. The available options are: All, New Errors and Known Errors.
+
+
+
+If there is no Quality Gate for the launch with the 'New Errors' rule, the 'ALL UNIQUE ERRORS' dropdown is visible but disabled. A tooltip appears on hover for the disabled state: 'No Quality Gate with 'New Error' rule for the launch.'
+
+
+
+If Quality Gate plugin is not installed or disabled, the 'ALL UNIQUE ERRORS' dropdown is invisible.
+
+
diff --git a/versioned_docs/version-26.1/analysis/_category_.json b/versioned_docs/version-26.1/analysis/_category_.json
new file mode 100644
index 0000000000..4ac69eac10
--- /dev/null
+++ b/versioned_docs/version-26.1/analysis/_category_.json
@@ -0,0 +1,5 @@
+{
+ "label": "Analysis",
+ "position": "13",
+ "link": {"type": "doc", "id": "index"}
+}
diff --git a/versioned_docs/version-26.1/analysis/img/AnalyzeLaunches.png b/versioned_docs/version-26.1/analysis/img/AnalyzeLaunches.png
new file mode 100644
index 0000000000..725e67946b
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/AnalyzeLaunches.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/BaseForAnalysis.jpg b/versioned_docs/version-26.1/analysis/img/BaseForAnalysis.jpg
new file mode 100644
index 0000000000..5ce8a37994
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/BaseForAnalysis.jpg differ
diff --git a/versioned_docs/version-26.1/analysis/img/IgnoreInAutoAnalysis1.png b/versioned_docs/version-26.1/analysis/img/IgnoreInAutoAnalysis1.png
new file mode 100644
index 0000000000..0eed39b6fe
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/IgnoreInAutoAnalysis1.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/IgnoreInAutoAnalysis2.png b/versioned_docs/version-26.1/analysis/img/IgnoreInAutoAnalysis2.png
new file mode 100644
index 0000000000..982e6b1dd7
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/IgnoreInAutoAnalysis2.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/IgnoreLabel.png b/versioned_docs/version-26.1/analysis/img/IgnoreLabel.png
new file mode 100644
index 0000000000..982d96978c
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/IgnoreLabel.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/ImmediateAA.png b/versioned_docs/version-26.1/analysis/img/ImmediateAA.png
new file mode 100644
index 0000000000..4e632304ff
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/ImmediateAA.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/ImmediatePA1.png b/versioned_docs/version-26.1/analysis/img/ImmediatePA1.png
new file mode 100644
index 0000000000..389e537ac1
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/ImmediatePA1.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/ImmediatePA2.png b/versioned_docs/version-26.1/analysis/img/ImmediatePA2.png
new file mode 100644
index 0000000000..5c9cd002d2
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/ImmediatePA2.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/ImmediatePA3.png b/versioned_docs/version-26.1/analysis/img/ImmediatePA3.png
new file mode 100644
index 0000000000..d2520a637f
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/ImmediatePA3.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/LabelAA.png b/versioned_docs/version-26.1/analysis/img/LabelAA.png
new file mode 100644
index 0000000000..1aa0fab68f
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/LabelAA.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/LongestRetrySetting1.png b/versioned_docs/version-26.1/analysis/img/LongestRetrySetting1.png
new file mode 100644
index 0000000000..3b73ec91a6
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/LongestRetrySetting1.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/LongestRetrySetting2.png b/versioned_docs/version-26.1/analysis/img/LongestRetrySetting2.png
new file mode 100644
index 0000000000..e9205e06ce
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/LongestRetrySetting2.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision1.png b/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision1.png
new file mode 100644
index 0000000000..2053839299
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision1.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision10.png b/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision10.png
new file mode 100644
index 0000000000..b81fd6c0a3
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision10.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision11.png b/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision11.png
new file mode 100644
index 0000000000..dcf4e9ca8b
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision11.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision12.png b/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision12.png
new file mode 100644
index 0000000000..359ca13d6d
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision12.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision13.png b/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision13.png
new file mode 100644
index 0000000000..91d690dda7
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision13.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision2.png b/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision2.png
new file mode 100644
index 0000000000..59d02ccd5a
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision2.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision3.png b/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision3.png
new file mode 100644
index 0000000000..e9a76d7949
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision3.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision4.png b/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision4.png
new file mode 100644
index 0000000000..0f9f24dbee
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision4.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision5.png b/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision5.png
new file mode 100644
index 0000000000..1fb9b67d42
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision5.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision6.png b/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision6.png
new file mode 100644
index 0000000000..b005590e30
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision6.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision7.png b/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision7.png
new file mode 100644
index 0000000000..48cc9091db
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision7.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision8.png b/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision8.png
new file mode 100644
index 0000000000..cc1880354b
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision8.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision9.png b/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision9.png
new file mode 100644
index 0000000000..50a401d999
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/ManualAnalysis/MakeDecision9.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis1.png b/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis1.png
new file mode 100644
index 0000000000..347010471c
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis1.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis10.png b/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis10.png
new file mode 100644
index 0000000000..50330ffc0c
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis10.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis11.png b/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis11.png
new file mode 100644
index 0000000000..df0fb4f61e
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis11.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis2.png b/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis2.png
new file mode 100644
index 0000000000..8907cc375e
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis2.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis3.png b/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis3.png
new file mode 100644
index 0000000000..7047e9bd43
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis3.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis4.png b/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis4.png
new file mode 100644
index 0000000000..06ea7e597d
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis4.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis5.png b/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis5.png
new file mode 100644
index 0000000000..cd71e4773f
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis5.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis6.png b/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis6.png
new file mode 100644
index 0000000000..cfe3511beb
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis6.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis7.png b/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis7.png
new file mode 100644
index 0000000000..7be7d93a9d
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis7.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis8.png b/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis8.png
new file mode 100644
index 0000000000..f6d49107d1
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis8.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis9.png b/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis9.png
new file mode 100644
index 0000000000..fe9c39b7db
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/PatternAnalysis/PatternAnalysis9.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/RetryLogAnalysis1.png b/versioned_docs/version-26.1/analysis/img/RetryLogAnalysis1.png
new file mode 100644
index 0000000000..4cbace293e
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/RetryLogAnalysis1.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/RetryLogAnalysis2.png b/versioned_docs/version-26.1/analysis/img/RetryLogAnalysis2.png
new file mode 100644
index 0000000000..c9abb45a62
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/RetryLogAnalysis2.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/SearchSimilarToInvestigate1.png b/versioned_docs/version-26.1/analysis/img/SearchSimilarToInvestigate1.png
new file mode 100644
index 0000000000..50a401d999
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/SearchSimilarToInvestigate1.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/SearchSimilarToInvestigate2.png b/versioned_docs/version-26.1/analysis/img/SearchSimilarToInvestigate2.png
new file mode 100644
index 0000000000..fe881bdb86
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/SearchSimilarToInvestigate2.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError1.png b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError1.png
new file mode 100644
index 0000000000..dc41421f7a
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError1.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError10.png b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError10.png
new file mode 100644
index 0000000000..9620a95e4e
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError10.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError11.png b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError11.png
new file mode 100644
index 0000000000..048ba73199
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError11.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError12.png b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError12.png
new file mode 100644
index 0000000000..eb2162920c
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError12.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError13.png b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError13.png
new file mode 100644
index 0000000000..9357473a6b
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError13.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError14.png b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError14.png
new file mode 100644
index 0000000000..e2127c3e34
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError14.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError15.png b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError15.png
new file mode 100644
index 0000000000..d3292021e7
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError15.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError16.png b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError16.png
new file mode 100644
index 0000000000..6875e180ac
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError16.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError2.png b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError2.png
new file mode 100644
index 0000000000..7645d61ece
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError2.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError3.png b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError3.png
new file mode 100644
index 0000000000..21c0080091
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError3.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError4.png b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError4.png
new file mode 100644
index 0000000000..19916313e3
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError4.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError5.png b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError5.png
new file mode 100644
index 0000000000..c27d737904
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError5.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError6.png b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError6.png
new file mode 100644
index 0000000000..431c6527a6
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError6.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError7.png b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError7.png
new file mode 100644
index 0000000000..184e8a923e
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError7.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError8.png b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError8.png
new file mode 100644
index 0000000000..53be3db008
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError8.png differ
diff --git a/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError9.png b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError9.png
new file mode 100644
index 0000000000..51280d444e
Binary files /dev/null and b/versioned_docs/version-26.1/analysis/img/UniqueErrorAnalysis/UniqueError9.png differ
diff --git a/versioned_docs/version-26.1/analysis/index.md b/versioned_docs/version-26.1/analysis/index.md
new file mode 100644
index 0000000000..983e3907e1
--- /dev/null
+++ b/versioned_docs/version-26.1/analysis/index.md
@@ -0,0 +1,20 @@
+---
+title: Analysis
+description: Deep into ReportPortal's advanced analysis methods for robust test automation metrics & efficient defect triaging.
+---
+
+# Analysis
+
+The **Analysis** section in ReportPortal offers detailed documentation on the powerful features available to help you conduct faster and more efficient test automation results analysis. Learn how to effectively investigate failures, monitor trends, and improve the overall quality, reliability, and performance of your test automation processes using ReportPortal.
+
+ReportPortal provides multiple methods for analyzing test results, including **automatic, manual, and immediate analysis** options. For instance, features like Pattern Analysis, Unique Error Analysis, and Auto-Analysis are designed to run automatically by default, offering real-time insights into test failures without manual intervention. However, these features can also be triggered manually in case automatic analysis is turned off.
+
+The automated analysis capabilities in ReportPortal are particularly useful for reducing the time spent on defect triage. By automatically categorizing and analyzing test results, our test results reporting service helps you quickly identify recurring issues and potential areas for improvement. This not only saves time but also enhances the accuracy of defect detection.
+
+With Immediate Auto-Analysis and Immediate Pattern Analysis, you can start analyzing failed tests right away, without having to wait for the launch to be completed.
+
+By leveraging these advanced analysis features, ReportPortal helps you optimize your test processes, enhance defect management, and maintain higher standards of software quality.
+
+import DocCardList from '@theme/DocCardList';
+
+
diff --git a/versioned_docs/version-26.1/case-studies/ImprovingTestAutomationStability.mdx b/versioned_docs/version-26.1/case-studies/ImprovingTestAutomationStability.mdx
new file mode 100644
index 0000000000..9f48969462
--- /dev/null
+++ b/versioned_docs/version-26.1/case-studies/ImprovingTestAutomationStability.mdx
@@ -0,0 +1,32 @@
+---
+sidebar_position: 4
+sidebar_label: Improving test automation stability
+description: Learn how ReportPortal improve test automation stability, reduced failures, and cut analysis time with better logging, triage, and dashboards.
+---
+
+# Improving test automation stability
+
+**Challenges**
+
+- Complex, manual test runs
+- Low stability of regression for unclear reasons (60% passing rate)
+- Unclear reporting for non-technical stakeholders, leading to the lack of transparency in test automation results and progress
+- Test automation feedback is unclear, unreliable, incomprehensible, and insufficient to decide to push the app to production
+
+**Highlights**
+
+By integrating the test framework with ReportPortal.io, EPAM's team provided:
+
+- Simplified test runs
+- Key info for the manual root cause analysis of test failures, such as logs, screenshots, attachments
+- A possibility to triage failed items (AI-based and manual)
+- Clear reporting for non-technical stakeholders
+
+**Results**
+
+- Improved automation stability from 60% to 77% in one sprint
+- Discovered that most failures were caused by environment issues and reduced the number of such failures from 20% to 2%
+- Reduced test automation results analysis effort by 45%
+- Provided clear and comprehensive test automation reporting dashboard: number of test cases, regression passing rate, reasons for failures, product status
+
+
diff --git a/versioned_docs/version-26.1/case-studies/IncreasingTestAutomationStabilityAndVisibility.mdx b/versioned_docs/version-26.1/case-studies/IncreasingTestAutomationStabilityAndVisibility.mdx
new file mode 100644
index 0000000000..60240165e4
--- /dev/null
+++ b/versioned_docs/version-26.1/case-studies/IncreasingTestAutomationStabilityAndVisibility.mdx
@@ -0,0 +1,36 @@
+---
+sidebar_position: 2
+sidebar_label: Increasing test automation stability and visibility
+description: Discover how ReportPortal boosted test stability from 25% to 95%, cut analysis effort by 90%, and improved visibility for smarter release decisions.
+---
+
+# Increasing test automation stability and visibility
+
+**Challenges**
+
+- 2,000 unique tests had low stability (25% passing rate)
+- Complex and inconvenient test results reporting
+- QA team didn’t have capacity for test failure analysis
+- Automation results were ignored by decision makers: no analysis of the causes of failed tests, no trust in the automation testing process
+- Lack of visibility into failed tests and failure causes
+- Absence of clear reporting of QA engineers’ workload and performance
+
+**Highlights**
+
+Integration with ReportPortal.io allowed the client to:
+
+- Collect history for previous test runs
+- Identify passing, failing, and unstable tests
+- Select stable tests in a separate run
+- Assign unstable test for refactoring and add them to a separate run for implementation
+- Configure ReportPortal.io charts to track a refactoring progress
+- Accelerate test failure analysis through access to related logs, screenshots, and attachments in one place
+
+**Results**
+
+- Automation stability improved from 25% to 95%
+- Analysis efforts of QA engineers decreased by 10 times
+- Client stakeholders use ReportPortal.io data to make release decisions
+- ReportPortal.io became the main tool for tracking test automation progress and health
+
+
diff --git a/versioned_docs/version-26.1/case-studies/ReducingRegressionAnalysisEfforts.mdx b/versioned_docs/version-26.1/case-studies/ReducingRegressionAnalysisEfforts.mdx
new file mode 100644
index 0000000000..e3b0c013e5
--- /dev/null
+++ b/versioned_docs/version-26.1/case-studies/ReducingRegressionAnalysisEfforts.mdx
@@ -0,0 +1,30 @@
+---
+sidebar_position: 3
+sidebar_label: Reducing regression analysis efforts
+description: Discover how ReportPortal reduces regression analysis time by enabling real-time insights, automated reruns, and a powerful QA metrics dashboard for faster, smarter testing.
+---
+
+
+# Reducing regression analysis efforts
+
+**Challenges**
+
+- Test analysis could only start after full execution was completed (4 hours wasted daily)
+- All test failures had to be analyzed manually
+- No visibility into causes for tests failures
+- Absence of history and trends of test failures
+- No tools to manage team workload
+- Test execution reports were done manually (1 hour of daily efforts)
+
+**Highlights**
+
+- Real-time analysis during test runs: results available after the first job execution, saving team capacity and providing an early reaction
+- Automatic re-run of failed tests provided additional value and saved up to 5.5 of team’s hours per day
+- About 20% of defects previously analyzed manually are being updated automatically through ML capabilities
+- Clear visibility into the number of new /existing production defects, auto test related issues, and environment related issues
+- Full understanding of application quality, correct planning of maintenance time, and transparent communication of environment instability based on real-time statistics
+- History of tests execution helps to analyze causes of test failures more efficiently
+- Improved task management due to possibility to plan work allocation and track tests assigned to each team member
+- Real-time dashboards were tailored to client’s KPIs, giving full transparency of test execution results
+
+
diff --git a/versioned_docs/version-26.1/case-studies/ReducingRegressionTimeBy50.mdx b/versioned_docs/version-26.1/case-studies/ReducingRegressionTimeBy50.mdx
new file mode 100644
index 0000000000..3b9d744470
--- /dev/null
+++ b/versioned_docs/version-26.1/case-studies/ReducingRegressionTimeBy50.mdx
@@ -0,0 +1,32 @@
+---
+sidebar_position: 1
+sidebar_label: Reducing regression time by 50%
+description: Learn how to reduce regression time by 50% using ReportPortal's test automation reporting tools and qa dashboard tools for faster analysis.
+---
+
+
+# Reducing regression time by 50%
+
+EPAM helps a Canadian retail company to reverse-engineer their legacy IBM-based store management system to a modern tech stack. As part of this project, ReportPortal was deployed as a centralized test reporting tool.
+
+**Challenges**
+
+- Unavailble environments (15VMs) blocked by aggregation scripts
+- High risk of aggregation fail: 1 in 10 aggregations fails. In case of a fail, the whole regression should be re-run.
+- Constant regression fails move weekly releases for 1 day
+- Lack of information for investigation: no screenshots/no history/no structure/no all info
+- Duplicated analysis efforts: missing history of test cases and known issues
+
+**Highlights**
+
+- Simplified test run reporting by integrating the test framework with ReportPortal.io
+- Distributed test execution data for root cause analysis: logs/screenshots/ attachments
+- Provided a possibility for AI-based defects triage and manual triage
+- Provided clear reporting for non-technical stakeholders
+- Real-time reporting
+- Save on early reaction: team result analysis right after execution started in real time
+- Collaborative results analysis
+- Test Case History helped to identify flaky test cases
+- Extended ML Analyzer
+
+
diff --git a/versioned_docs/version-26.1/case-studies/_category_.json b/versioned_docs/version-26.1/case-studies/_category_.json
new file mode 100644
index 0000000000..da37ba7b39
--- /dev/null
+++ b/versioned_docs/version-26.1/case-studies/_category_.json
@@ -0,0 +1,6 @@
+{
+ "label": "Case Studies",
+ "position": "22",
+ "link": {"type": "doc", "id": "index"}
+}
+
diff --git a/versioned_docs/version-26.1/case-studies/img/CaseStudy1.png b/versioned_docs/version-26.1/case-studies/img/CaseStudy1.png
new file mode 100644
index 0000000000..b603591afa
Binary files /dev/null and b/versioned_docs/version-26.1/case-studies/img/CaseStudy1.png differ
diff --git a/versioned_docs/version-26.1/case-studies/img/CaseStudy2.png b/versioned_docs/version-26.1/case-studies/img/CaseStudy2.png
new file mode 100644
index 0000000000..e3ed0ac8da
Binary files /dev/null and b/versioned_docs/version-26.1/case-studies/img/CaseStudy2.png differ
diff --git a/versioned_docs/version-26.1/case-studies/img/CaseStudy3.png b/versioned_docs/version-26.1/case-studies/img/CaseStudy3.png
new file mode 100644
index 0000000000..43d23fa283
Binary files /dev/null and b/versioned_docs/version-26.1/case-studies/img/CaseStudy3.png differ
diff --git a/versioned_docs/version-26.1/case-studies/img/CaseStudy4.png b/versioned_docs/version-26.1/case-studies/img/CaseStudy4.png
new file mode 100644
index 0000000000..57b4b31163
Binary files /dev/null and b/versioned_docs/version-26.1/case-studies/img/CaseStudy4.png differ
diff --git a/versioned_docs/version-26.1/case-studies/index.md b/versioned_docs/version-26.1/case-studies/index.md
new file mode 100644
index 0000000000..417f698d39
--- /dev/null
+++ b/versioned_docs/version-26.1/case-studies/index.md
@@ -0,0 +1,16 @@
+---
+title: Case Studies
+description: Discover success stories to see how top organizations improved processes thanks to our test automation reporting dashboard.
+---
+
+# Case Studies
+
+The **Case Studies** section offers an in-depth look at how ReportPortal functions in real-world scenarios, highlighting its impact across various industries. Here, you’ll find success stories from businesses that have significantly improved their testing processes through the platform. By reading these case studies, you’ll see how ReportPortal accelerates test execution, enhances defect detection, and ultimately optimizes overall software quality, resulting in more reliable and faster product releases.
+
+Each case study demonstrates visible benefits, showing how organizations have used our test report dashboard to streamline their testing workflows. Whether you’re in finance, healthcare, retail, technology, or any other industry, these examples provide valuable insights into how the platform can address the specific challenges faced in different environments. You’ll learn how teams have reduced testing time, minimized human error, and improved product release cycles by implementing ReportPortal’s automated reporting and monitoring capabilities. The case studies also show how users have taken advantage of ReportPortal’s advanced features like real-time analytics and AI-based defect triage to drive higher efficiency and more accurate testing results.
+
+In addition to these real-world examples, this section offers practical tips and actionable ideas that can be applied to your own test automation strategy. Whether you’re looking to improve defect detection rates, speed up test execution, or enhance reporting accuracy, the lessons learned from these case studies will give you a deeper understanding of how to maximize the efficiency of your testing efforts using ReportPortal.
+
+import DocCardList from '@theme/DocCardList';
+
+
diff --git a/versioned_docs/version-26.1/configuration/IntegrationViaPlugin.mdx b/versioned_docs/version-26.1/configuration/IntegrationViaPlugin.mdx
new file mode 100644
index 0000000000..09bf56eb75
--- /dev/null
+++ b/versioned_docs/version-26.1/configuration/IntegrationViaPlugin.mdx
@@ -0,0 +1,53 @@
+---
+sidebar_position: 5
+sidebar_label: Integration via plugin
+description: Integrate ReportPortal with external systems like Jira, Slack, and bug tracking tools to enhance your test automation reporting tools capabilities.
+---
+
+# Integration via plugin
+
+Users can enhance ReportPortal by adding additional integrations with:
+* [Jira Server](/plugins/bug-tracking/AtlassianJiraServer)
+* [Jira Cloud](/plugins/bug-tracking/AtlassianJiraCloud)
+* [Rally](/plugins/bug-tracking/Rally)
+* [Azure DevOps](/plugins/bug-tracking/AzureDevOps)
+* [GitLab](/plugins/bug-tracking/GitLab)
+* [Monday](/plugins/bug-tracking/Monday)
+* [Sauce Labs](/plugins/other/SauceLabs)
+* [E-mail server](/plugins/notifications/EmailServer)
+* [Slack](/plugins/notifications/Slack)
+* [Telegram](/plugins/notifications/Telegram)
+* [LDAP](/plugins/authorization/LDAP)
+* [Active Directory](/plugins/authorization/ActiveDirectory)
+* [Okta SAML](/plugins/authorization/SamlProviders/OktaSaml)
+* [Azure SAML](/plugins/authorization/SamlProviders/AzureSaml)
+* [JUnit](/plugins/import/JUnit)
+* [RobotFramework](/plugins/import/RobotFramework)
+
+
+
+If you're keen on incorporating ReportPortal with other external systems, and can't find the necessary tab in the Project Settings, please refer to the [Plugins section](/plugins/) in our documentation for guidance. Our test reporting tool integrates seamlessly, allowing for a streamlined connection with external systems.
+
+The integrations can be added at a global level, applicable for all projects on an instance, in the "Administrate" section. Alternatively, they can be specific to a project and can be configured in the Project Settings.
+
+For those who require a different configuration to other projects, or want to integrate only their specific project with an external system, the following steps could be followed:
+
+1. Log into ReportPortal as a `PROJECT MANAGER` or `ADMINISTRATOR`
+
+2. Navigate to Project settings > Integrations
+
+3. Click on one of the shown integration panels
+
+4. Click on the "Add Project integration" button.
+
+Performing these steps will unlink your current project from the global settings and initiate your own configuration.
+
+
+
+:::note
+If you unlink project setting and ADMIN changes global settings for the whole instance, your project will use your project settings.
+:::
+
+To revert to the global settings, click the button titled "Reset to global settings". This action will erase your settings, and the integration will revert to using the global settings.
+
+Remember, you can always reset to the global settings.
diff --git a/versioned_docs/version-26.1/configuration/LaunchesRetentionPolicy.mdx b/versioned_docs/version-26.1/configuration/LaunchesRetentionPolicy.mdx
new file mode 100644
index 0000000000..ae19d1ad1c
--- /dev/null
+++ b/versioned_docs/version-26.1/configuration/LaunchesRetentionPolicy.mdx
@@ -0,0 +1,129 @@
+---
+sidebar_label: Launches retention policy
+description: Configure data retention policies to manage storage and keep important launches. Set up automated cleanup for test execution reporting data.
+---
+
+# Launches retention policy
+
+Retention policies play a pivotal role in ensuring that companies maintain control over their data. In ReportPortal, on the General tab in Project Settings, the retention policy outlines the guidelines for how long regular launches and their descendants (logs, attachments) should be kept and when they should be deleted.
+
+You can also mark some launches as important, meaning they are generally not subject to deletion by the time-based retention policy. These launches can only be deleted manually or if [storage is overused](/configuration/LaunchesRetentionPolicy#important-launch-deletion-on-full-storage) (in this case new launches will displace old ones, even if they are marked as important).
+
+You can mark a launch as important either through the application's UI or during test reporting using special system attributes.
+
+:::note
+By default, the "Important launches" functionality is enabled on all instances.
+An admin can [disable the "Important launches" functionality](/admin-panel/ServerSettings#features) if needed.
+:::
+
+## Mark launch as important on UI
+
+1. Go to the 'Launches' page.
+2. Open the burger menu for the launch.
+3. Click on the 'Mark as Important' option on the menu.
+4. Confirm your decision by clicking the 'Mark as Important' button on the 'Mark as Important' modal window.
+
+
+
+:::note
+Administrator can mark any launch as important.
+Project Manager can mark as important any launch within their own project.
+Customers and Members can mark as important only their own launch.
+:::
+
+## Unmark important launches on UI
+
+1. Go to the 'Launches' page.
+2. Open the burger menu for the launch.
+3. Click on the 'Unmark as Important' option in the menu.
+4. Click on the 'Unmark' button on the 'Unmark as Important' modal window.
+
+
+
+:::note
+Administrator can unmark any launch as important.
+Project Manager can unmark as important any launch within their own project.
+Customers and Members can unmark as important only their own launch.
+:::
+
+
+
+## Report launch as important
+
+You can also mark launch as important while reporting using following parameters:
+
+
+
+
+
+In case launch is reported with system attributes **retentionPolicy : regular** and **retentionPolicy : important**, then attribute **retentionPolicy : important** is taken for defining the field value.
+
+
+
+In case launch is reported without **retentionPolicy** system attribute or with random attribute like **retentionPolicy : qwerty**, then the behavior will be as for the launch with system attribute **retentionPolicy : regular**.
+
+
+
+
+
+
+
+
+
+## Delete important launch on UI
+
+1. Go to the 'Launches' page.
+2. Select important launch.
+3. Click Actions -> Delete.
+4. Click 'Delete Important Launch' button on the 'Delete Launch' modal window.
+
+OR
+
+1. Go to the 'Launches' page.
+2. Open the burger menu for the important launch.
+3. Click on the 'Delete' option on the menu.
+4. Click 'Delete Important Launch' button on the 'Delete Launch' modal window.
+
+
+
+:::note
+Administrator can delete important launches of all users.
+Project Manager can delete the launches of users within their own project.
+Customers and Members can delete only their own launches.
+:::
+
+## Bulk delete important launches
+
+1. Go to the 'Launches' page.
+2. Select at least two important launches.
+3. Click Actions -> Delete.
+4. Click 'Delete Important Launches' button on the 'Delete Launches' modal window.
+
+
+
+:::note
+Administrator can perform bulk delete important launches of all users.
+Project Manager can perform bulk delete the launches of users within their own project.
+Customers and Members can perform bulk delete only their own launches.
+:::
+
+## Bulk delete important and regular launches
+
+1. Go to the 'Launches' page.
+2. Select at least one important launch and one regular launch.
+3. Click Actions -> Delete.
+4. Click ‘Delete with Important Launches' button on the 'Delete Launches' modal window.
+
+
+
+
+
+## Important launch deletion on full storage
+
+If all your storage is used and it consists of both regular and important launches, as soon as a new launch arrives, regular launches and all their related descendants will be deleted, starting from the oldest ones. The weight of deleted regular launches will be proportional to the weight of the new launches that are being reported.
+
+If there are no regular launches remaining and all your memory space is used by important launches, then important launches and their descendants will be deleted starting from the oldest until the storage no longer exceeds capacity. The weight of deleted important launches will be proportional to the weight of the new launches that are being reported.
+
+When it comes to attachments, in case of storage overusage by attachments of both regular and important launches, the same logic will apply. Attachments of regular launches are subject to deletion first. If there are no attachments from regular launches left, then attachments from important launches will be deleted, starting from the oldest, until the storage no longer exceeds capacity.
+
+Thus, storing and managing data within ReportPortal is now even more convenient. The updates to the launches retention policy introduce the option to mark launches as important, provide greater flexibility and ensure that crucial data is kept as long as needed.
diff --git a/versioned_docs/version-26.1/configuration/ProjectSettings.mdx b/versioned_docs/version-26.1/configuration/ProjectSettings.mdx
new file mode 100644
index 0000000000..a8eff21e9a
--- /dev/null
+++ b/versioned_docs/version-26.1/configuration/ProjectSettings.mdx
@@ -0,0 +1,405 @@
+---
+sidebar_position: 3
+sidebar_label: Project settings
+description: Configure project settings, notifications, defect types, and data retention policies to optimize your test automation reporting dashboard performance.
+---
+
+# Project settings
+
+To see the list of available projects and open a project, click the drop-down list in the top of the left menu.
+
+ReportPortal supports customization of the default settings.
+
+**Permission:**
+Users with the `Administrator` role can edit project settings on the project "Settings" page in Administrate section and on the Project space.
+Users with the `PROJECT_MANAGER` role can edit the settings on the project space only.
+`MEMBER`/ `OPERATOR`/ `CUSTOMER` can only view applied project settings.
+
+To go to the project settings page, click the "Project Settings" icon in the left menu.
+
+The project configuration page will be opened.
+
+The project settings are divided into following tabs: "General", "Integrations", "Notifications", "Defect Types", "Analyzer", "Pattern Analysis", "Demo Data" and "Quality Gates" (if you have our [premium feature](/26.1/quality-gates)).
+
+## General settings
+
+Our test automation results dashboard allows you to control the amount of the stored data (launches, test items, logs and attachments) by removing outdated elements using Quartz jobs.
+Functionality of data removing depends on two configurations.
+
+The first one is API service back-end environment variables that are described in [ReportPortal jobs configuration](/installation-steps-advanced/JobsConfiguration)
+
+The second one is the "General" tab you can configure parameter of data storage in ReportPortal for this project:
+
+- Name – is a disabled field as the project name cannot be changed.
+
+In addition to the Project Settings General section, you can find the project name on the left menu and in the URL.
+
+
+
+- **Launch inactivity timeout** - this parameter specifies the scheduled time for a job to interrupt inactive launches (launches which have the status 'in progress', but there is no any items during the chosen period). There are six options:
+ - 1 hour,
+ - 3 hours,
+ - 6 hours,
+ - 12 hours,
+ - 1 day,
+ - 7 days.
+
+- **Keep launches** - this parameter specifies how long the system will keep old launches in the data base. There are five options:
+ * 7 days,
+ * 14 days,
+ * 21 days,
+ * 30 days,
+ * 90 days.
+
+After this period a launch will be deleted, and you can not see it in ReportPortal.
+
+- **Keep logs** - this parameter specifies how long the system will keep old logs in launches. Related launch structures will be saved, to keep statistics. There are five options:
+ * 7 days,
+ * 14 days,
+ * 21 days,
+ * 30 days,
+ * 90 days.
+
+Widgets continue to work even if the logs are deleted, as they are linked to test items.
+
+- **Keep attachments** - this parameter specifies how long to keep binary data (screenshots, files, video, and others attachments)
+ in the system. There are five options:
+ * 7 days,
+ * 14 days,
+ * 21 days,
+ * 30 days,
+ * 90 days.
+
+
+
+## Integrations
+
+The "Integration" tab can allow the project to connect ReportPortal with external systems or rewrite global configurations for third party systems.
+
+For more information on this topic, please refer to [Integration with external systems](/configuration/IntegrationViaPlugin).
+
+## Notifications
+
+The ‘Notifications’ tab provides the administrator with the ability to activate notifications on the project – through either Email or Slack.
+
+ReportPortal provides a way to add multiple rules with specific conditions. The notification rule should be unique per Notification group – Email or Slack, have a unique parameter set. For example: In case, Launch names, Attributes.
+
+:::note
+Users with ADMINISTRATOR role can configure ‘Notifications’ in the Administrate section.
+Users with PROJECT_MANAGER role can edit the settings on the project space only.
+Users with MEMBER/ OPERATOR/ CUSTOMER project role will not have the capability to edit the project settings, however, they do have the permission to view them.
+:::
+
+### Email notifications
+
+:::tip
+For using this functionality be sure that the [Email server](/plugins/notifications/EmailServer/) is configured. For that, go to the Project Settings -> Integrations -> Email Server.
+:::
+
+To create Email notification rule, perform the following steps:
+
+1. Go to the Project settings -> Notifications.
+
+2. Choose Email Notification Group.
+
+3. Click ‘Create Rule’ button.
+
+4. Fill the form:
+
+**Rule name** – from 1 to 55 characters, mandatory field
+
+**Recipients** – optional field
+
+Start typing any symbols into the ‘Recipients’ field. You can select an item from the auto-complete tooltip using the keyboard (use the ‘Up’ and ‘Down’ arrows and ‘Enter’ button). You can also enter a custom email into the ‘Recipients’ field. To add a custom email, just enter the email address and press ‘Enter’.
+
+**Launch owner** – optional checkbox
+
+The ‘Launch owner’ checkbox is selected by default. Uncheck ‘Launch owner’ to exclude him/her from the notification.
+
+**In case** – optional field, dropdown with the options:
+
+* Always – notification will be sent upon the launch finish.
+* 10% of items have issues – notification will be sent, if more than 10% of items have issues.
+* 20% of items have issues – notification will be sent, if more than 20% of items have issues.
+* 50% of items have issues – notification will be sent, if more than 50% of items have issues.
+* Launch has issues – notification will be sent, if at least 1 item has issues
+* Launch has ‘To Investigate’ items – notification will be sent, if at least 1 item has ‘To Investigate’
+
+**Launch names** – optional field
+
+Start typing any symbols into the ‘Launch names’ field. You can select an item from the auto-complete tooltip using the ‘Up’ and ‘Down’ arrows and clicking ‘Enter’ on the keyboard. This is an alternate way you can add a new launch name that does not exist on the project. Several launches names can be selected; the recipients will receive notifications when each of them finishes.
+
+**Attributes** – optional checkbox
+
+When the ‘Attributes’ checkbox is checked, user can provide key/value for attributes and select the necessary radio button:
+
+* All attributes should match
+* Any attribute should match
+
+Start typing any symbols into the ‘Attribute key’ and ‘Attribute value’ fields. The system will suggest the results in the dropdown, after at least 1 symbol is provided. It is also possible to add a new attribute (that does not exist on the project). Several attributes can be selected at once; the corresponding recipients will receive notifications about the launches that have all the specified attributes.
+
+You can edit/ copy/enable/disable notification rule by clicking on the appropriate controls on the notification rule.
+
+5. Click on ‘Create’ button.
+
+
+
+### Slack notifications
+
+:::tip
+To use this functionality, ensure that the [Slack plugin](/plugins/notifications/Slack) is uploaded and enabled. For that, go to Administrate -> Plugins or contact your instance Administrator.
+:::
+
+To create Slack notification rule, perform the following steps:
+
+1. Go to the Project settings -> Notifications.
+
+2. Choose Slack Notification Group.
+
+3. Click ‘Create Rule’ button.
+
+4. Fill the form:
+
+**Rule name** – from 1 to 55 characters, mandatory field
+
+**Webhook URL** – mandatory field (it is configured on the [Slack side](/plugins/notifications/Slack#create-an-application-in-slack))
+
+**In case** – optional field, dropdown with the options:
+
+* Always – notification will be sent upon the launch finish.
+* 10% of items have issues – notification will be sent, if more than 10% of items have issues.
+* 20% of items have issues – notification will be sent, if more than 20% of items have issues.
+* 50% of items have issues – notification will be sent, if more than 50% of items have issues.
+* Launch has issues – notification will be sent, if at least 1 item has issues
+* Launch has ‘To Investigate’ items – notification will be sent, if at least 1 item has ‘To Investigate’
+
+**Launch names** – optional field
+
+Start typing any symbols into the ‘Launch names’ field. You can select an item from the auto-complete tooltip using the ‘Up’ and ‘Down’ arrows and clicking ‘Enter’ on the keyboard. This is an alternate way you can add a new launch name that does not exist on the project. Several launches names can be selected; the recipients will receive notifications when each of them finishes.
+
+**Attributes** – optional checkbox
+
+When the ‘Attributes’ checkbox is checked, user can provide key/value for attributes and select the necessary radio button:
+
+* All attributes should match
+* Any attribute should match
+
+Start typing any symbols into the ‘Attribute key’ and ‘Attribute value’ fields. The system will suggest the results in the dropdown, after at least 1 symbol is provided. It is also possible to add a new attribute (that does not exist on the project). Several attributes can be selected at once; the corresponding recipients will receive notifications about the launches that have all the specified attributes.
+
+You can edit/ copy/enable/disable notification rule by clicking on the appropriate controls on the notification rule.
+
+5. Click on ‘Create’ button.
+
+
+
+### Telegram notifications
+
+:::tip
+To use this functionality, ensure that the [Telegram plugin](/plugins/notifications/Telegram) is uploaded and enabled. For that, go to Administrate -> Plugins or contact your instance Administrator.
+:::
+
+To create Telegram notification rule, perform the following steps:
+
+1. Go to the Project settings -> Notifications.
+
+2. Choose Telegram Notifications Group.
+
+3. Click ‘Create Rule’ button.
+
+4. Fill the form:
+
+**Rule name** – from 1 to 55 characters, mandatory field
+
+**Chat id** – mandatory field, copied from group info in [Telegram](/plugins/notifications/Telegram#configuration-on-telegram-side)
+
+:::important
+Add ‘-’ before the chat id.
+:::
+
+**Bot Api Key** - mandatory field, received during registration [your Telegram bot](/plugins/notifications/Telegram#configuration-on-telegram-side)
+
+**In case** – optional field, dropdown with the options:
+
+* Always – notification will be sent in any case.
+* 10% of items have issues – notification will be sent, if more than 10% of items have issues.
+* 20% of items have issues – notification will be sent, if more than 20% of items have issues.
+* 50% of items have issues – notification will be sent, if more than 50% of items have issues.
+* Launch has issues – notification will be sent, if at least 1 item has issues
+* Launch has ‘To Investigate’ items – notification will be sent, if at least 1 item has ‘To Investigate’
+
+**Launch names** – optional field
+
+You can select only existing launch name. The field allows multi-selection.
+
+**Attributes** – optional checkbox
+
+When the ‘Attributes’ checkbox is checked, you can provide key/value for attributes and select the necessary radio button:
+
+* ‘All attributes should match’
+* ‘Any attribute should match’
+
+5. Click on ‘Create’ button.
+
+
+
+## Defect types
+
+The "Defect Types" tab allows users with permissions to create custom defect types as subtypes of default defects on the project.
+
+After Installation the ReportPortal by default sets-up the following defect types groups:
+
+* **To investigate** - means that no investigation was performed on this defect yet.
+* **Product Bug** - defect was investigated and a production bug was found as a cause for this test failure.
+* **Automation Bug** - defect was investigated and an automation test is not correct.
+* **System Issue** - defect was investigated and it turns out that it is a system-level issue, like the app, crashed and caused the test to fail.
+* **No Defect** - defect was investigated and defined as not a defect.
+
+ReportPortal allows the use of existing default defect types (Product Bug, Automation Bug, System Issue, No Defect, To investigate) and or to create custom ones on the project settings page.
+
+To create custom defect types, perform the following steps:
+
+1. Login into the ReportPortal.
+2. Navigate to Projects -\> Project "Settings" page.
+3. Open "Defect Types" tab
+4. Click "Add Defect Type" button under any default defect type
+5. Add new defect type form will appear
+6. Enter "Defect name" and "Abbreviation", select color for defect presentation on the launches grid and widgets.
+7. Submit form. You will see an added defect type on the chart preview.
+
+Add more custom defects, if you need it. The system allows us to add up to ten subtypes of each default defect type.
+
+Now you can do bug triage and set defect types as default Product Bug/Automation Bug/System Issue/No Defect/TO investigate or custom defects. All of them will be available to select on the Defect Type editor.
+For more information refer to the [Investigation of failure](/work-with-reports/InvestigationOfFailure) topic.
+
+:::note
+Default defects cannot be modified and or deleted from the system. Custom defect types can be deleted at any time.
+
+You can create up to 15 custom defect types for each group.
+:::
+:::tip
+If you have deleted a custom type from the system, all test executions with this deleted defect type get the parent type of the group in which deleted defect has belonged. Statistics updates in all launches where a deleted defect was present.
+For example, if you create a custom "Product Bug-1" as a subtype of "Product Bugs" group and investigate a few
+defects as "Product Bug-1", then remove "Product Bug-1" from your project, all investigated "Product Bug-1" defects
+will be shown as "Product Bug".
+:::
+
+
+## Log Types
+
+Log types define how log entries are categorized and visually highlighted, helping users quickly understand the importance and context of events. Every log entry belongs to a specific log type. Some core system log types are built in and cannot be removed, while custom log types can be added and configured to meet your project needs.
+
+In the Project Settings -> Log Types tab, you can find the log types available in your project – both system and custom. On this page, you can create custom log types, edit their appearance, delete custom log types, and configure which log types will be displayed in the log level slider on the Log page of the test item.
+
+**Permissions:**
+Only Admin and Project Manager can manage log types.
+
+### Create custom log type
+
+You can create your own log types to better control how logs are organized and visually presented within a project.
+
+**To create a custom log type:**
+
+1. Go to the Project settings -> Log types.
+2. Click the "Create log type" button.
+3. Enter a unique "Log type name".
+4. Provide a numeric "Log level" value.
+5. Select colors for the "Label color", "Background", and "Text color".
+6. Toggle "Text bold" if you want the log type to appear in bold.
+7. Click "Create" button.
+
+
+
+When a custom log type is created, it is added to the list of available log types and becomes immediately usable within the project.
+
+:::note
+The "Show in log filter" flag for newly created log types is OFF by default.
+:::
+
+
+
+:::note
+If a user reports tests with a log type that doesn’t exist in the project, the system assigns them level 60000 – Unknown.
+:::
+
+
+
+### Edit log type
+
+You can update existing log types, adjust their appearance, and manage whether they appear in the log type filter slider.
+
+:::note
+If you update a log type name, make sure to update it in your reporting configuration as well. The system currently identifies log types by their name.
+If you change a log level, all previously reported logs with the old level will be treated as Unknown.
+:::
+
+**To edit log type:**
+
+1. Go to the Project settings -> Log types.
+2. Click the "Edit" icon next to a custom log type.
+3. Update the "Log type name", "Log level", and appearance settings (label color, background color, text color, bold).
+4. Click "Save" button.
+
+
+
+:::note
+Log type name and Log level of a system log type cannot be changed.
+:::
+
+
+
+**To manage the "Show in log filter" toggle:**
+
+1. Go to the Project settings -> Log types.
+2. Modify the "Show in log filter" toggle.
+
+Log types marked as filterable appear in the log type filter slider on the log view, along with an additional "All" option that shows logs of every type.
+
+When a log type is selected in the slider, logs with that log level and all higher log levels are displayed. Even if a specific type does not appear in the slider but falls within the selected range, its logs are still included. If no log types are marked as filterable, the slider does not appear.
+
+:::note
+A maximum of 6 log types can be active in the filter slider at the same time (plus the "All" option).
+:::
+
+
+
+
+
+### Delete custom log types
+
+You can delete custom log types from the project.
+
+:::important
+System log types cannot be deleted.
+:::
+
+**To delete a custom log type:**
+
+1. Go to the Project settings -> Log types.
+2. Find the custom log type you want to delete.
+3. Click the "Delete" icon.
+4. Click "Confirm" button.
+
+
+
+
+
+## Analyzer
+
+The Analyzer can allow reducing test failure analysis routine on the project.
+
+For more information on this topic, please refer to [Auto-Analysis documentation](/analysis/AutoAnalysisOfLaunches).
+
+## Pattern Analysis
+
+The "Pattern Analysis" feature allows identifying recurring failure patterns and common behaviors across test results.
+
+For more details, see the [Pattern Analysis documentation](/analysis/PatternAnalysis).
+
+## Demo data
+
+The "Demo Data" tab provides a way to generate demo data on the project.
+
+The generated data could demonstrate how the launches, filter, and dashboard will look. On the other hand, demo data could be
+modified or removed without any effect of your real objects.
+
+
diff --git a/versioned_docs/version-26.1/configuration/UserManagement.mdx b/versioned_docs/version-26.1/configuration/UserManagement.mdx
new file mode 100644
index 0000000000..9e6818fdf8
--- /dev/null
+++ b/versioned_docs/version-26.1/configuration/UserManagement.mdx
@@ -0,0 +1,88 @@
+---
+sidebar_position: 3
+sidebar_label: User management
+description: Manage users, roles, and permissions in ReportPortal test automation reporting tools for secure project access control.
+---
+
+# User management
+
+After [you have created a project](/admin-panel/AllProjectsPage#create-projects), you can invite new members to it.
+
+**Permissions:**
+User with `ADMINISTRATOR` role and users with project role `PROJECT_MANAGER`.
+
+### Invite user on a project
+
+:::info
+Depending on the toggle state in [Server Settings](/admin-panel/ServerSettings), the ability to manually invite external users to ReportPortal can be disabled.
+:::
+
+To invite a user on the "Project Members" page, perform the following steps:
+
+1. Login into ReportPortal instance as with the `PROJECT_MANAGER` project role.
+2. Navigate to the "Project Members" page on the left menu.
+3. Click the "Invite User" tab.
+4. Enter the email address of the user in case he/she is not present in the ReportPortal database or enter his/her login name.
+5. In case the user is already available in the ReportPortal, his/her name will appear in the suggestion list.
+If not, the Admin should enter the correct email address.
+6. Select an appropriate role.
+7. Then click 'Invite'.
+8. In case the user is already available in ReportPortal she/he will be assigned to the project
+If not, the letter with an invitation link will be sent to the user email address.
+9. The user will receive an email with the link to the registration.
+When the user clicks the link, he/she will see a registration form.
+10. The user needs to fill in the registration form and click the "Register"
+button to complete the registration.
+11. The user will be assigned to the project that the invitation was sent from, and to "Personal Project" with the PROJECT
+ MANAGER project role.
+
+
+
+### Project role
+
+Every user is given a specific Project role within a specific project.
+
+Depends on the role, the user is able or not able to perform some actions. For more details, please see the "Permissions map".
+
+There are 4 possible Project roles in ReportPortal:
+
+- `PROJECT MANAGER`
+- `MEMBER`
+- `OPERATOR`
+- `CUSTOMER`
+
+:::note
+The `ADMINISTRATOR` has all privileges on the project.
+:::
+
+### Edit project role
+
+To edit the project role, perform the following steps:
+
+1. Login into the ReportPortal as a user with `PROJECT_MANAGER` project role.
+2. Navigate to the "Project Members" page on the left menu.
+3. Select a new value from the "Project Role" drop-down for the user. - The new project role will be automatically saved.
+
+
+
+### Unassign user from the project
+
+Depending on the project needs the assignment could be removed.
+To unassign the assignment for the user on the project, perform the following steps:
+
+1. Login into the ReportPortal as a user with `PROJECT_MANAGER` project role.
+2. Navigate to the "Project Members" page on the left menu.
+3. Find the required member.
+4. Click the 'Unassign' button for the user.
+5. Confirm the action in the popup.
+6. The user will be unassigned from the current project but will stay in the system.
+
+
+:::note
+Invite user, Assign/Unassign internal user to/from the project, change user's role on a project action can be done for a user
+with a similar and lower role only.
+:::
+
+:::important
+Administrator can also [add users to the project](/admin-panel/AllUsersPage).
+:::
diff --git a/versioned_docs/version-26.1/configuration/_category_.json b/versioned_docs/version-26.1/configuration/_category_.json
new file mode 100644
index 0000000000..52c9d7a7d4
--- /dev/null
+++ b/versioned_docs/version-26.1/configuration/_category_.json
@@ -0,0 +1,5 @@
+{
+ "label": "Configuration",
+ "position": "7",
+ "link": {"type": "doc", "id": "index"}
+}
diff --git a/versioned_docs/version-26.1/configuration/img/EmailNotification.png b/versioned_docs/version-26.1/configuration/img/EmailNotification.png
new file mode 100644
index 0000000000..14e639a1d7
Binary files /dev/null and b/versioned_docs/version-26.1/configuration/img/EmailNotification.png differ
diff --git a/versioned_docs/version-26.1/configuration/img/Integrations.png b/versioned_docs/version-26.1/configuration/img/Integrations.png
new file mode 100644
index 0000000000..72d003557e
Binary files /dev/null and b/versioned_docs/version-26.1/configuration/img/Integrations.png differ
diff --git a/versioned_docs/version-26.1/configuration/img/ProjectIntegration.png b/versioned_docs/version-26.1/configuration/img/ProjectIntegration.png
new file mode 100644
index 0000000000..1217e22319
Binary files /dev/null and b/versioned_docs/version-26.1/configuration/img/ProjectIntegration.png differ
diff --git a/versioned_docs/version-26.1/configuration/img/ProjectName.png b/versioned_docs/version-26.1/configuration/img/ProjectName.png
new file mode 100644
index 0000000000..01d216f695
Binary files /dev/null and b/versioned_docs/version-26.1/configuration/img/ProjectName.png differ
diff --git a/versioned_docs/version-26.1/configuration/img/SlackNotification.png b/versioned_docs/version-26.1/configuration/img/SlackNotification.png
new file mode 100644
index 0000000000..c702e6cfca
Binary files /dev/null and b/versioned_docs/version-26.1/configuration/img/SlackNotification.png differ
diff --git a/versioned_docs/version-26.1/configuration/img/TelegramNotification.png b/versioned_docs/version-26.1/configuration/img/TelegramNotification.png
new file mode 100644
index 0000000000..24f91c4194
Binary files /dev/null and b/versioned_docs/version-26.1/configuration/img/TelegramNotification.png differ
diff --git a/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy1.png b/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy1.png
new file mode 100644
index 0000000000..cf0b0604bf
Binary files /dev/null and b/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy1.png differ
diff --git a/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy10.png b/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy10.png
new file mode 100644
index 0000000000..ec457d5243
Binary files /dev/null and b/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy10.png differ
diff --git a/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy11.png b/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy11.png
new file mode 100644
index 0000000000..71d23fe5d9
Binary files /dev/null and b/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy11.png differ
diff --git a/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy2.png b/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy2.png
new file mode 100644
index 0000000000..4678558110
Binary files /dev/null and b/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy2.png differ
diff --git a/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy3.png b/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy3.png
new file mode 100644
index 0000000000..d4e8ae7a58
Binary files /dev/null and b/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy3.png differ
diff --git a/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy4.png b/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy4.png
new file mode 100644
index 0000000000..c72e5e2087
Binary files /dev/null and b/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy4.png differ
diff --git a/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy5.png b/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy5.png
new file mode 100644
index 0000000000..1e353e5c4d
Binary files /dev/null and b/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy5.png differ
diff --git a/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy6.png b/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy6.png
new file mode 100644
index 0000000000..22a1f12ee4
Binary files /dev/null and b/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy6.png differ
diff --git a/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy7.png b/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy7.png
new file mode 100644
index 0000000000..f32d5ebf4c
Binary files /dev/null and b/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy7.png differ
diff --git a/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy8.png b/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy8.png
new file mode 100644
index 0000000000..05bd6dc6d5
Binary files /dev/null and b/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy8.png differ
diff --git a/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy9.png b/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy9.png
new file mode 100644
index 0000000000..cd8c9ac6e7
Binary files /dev/null and b/versioned_docs/version-26.1/configuration/img/launches-retention-policy/LaunchesRetentionPolicy9.png differ
diff --git a/versioned_docs/version-26.1/configuration/img/log-types/CreateLogType.png b/versioned_docs/version-26.1/configuration/img/log-types/CreateLogType.png
new file mode 100644
index 0000000000..d306ccd760
Binary files /dev/null and b/versioned_docs/version-26.1/configuration/img/log-types/CreateLogType.png differ
diff --git a/versioned_docs/version-26.1/configuration/img/log-types/Delete.png b/versioned_docs/version-26.1/configuration/img/log-types/Delete.png
new file mode 100644
index 0000000000..cb3dd47847
Binary files /dev/null and b/versioned_docs/version-26.1/configuration/img/log-types/Delete.png differ
diff --git a/versioned_docs/version-26.1/configuration/img/log-types/EditCustom.png b/versioned_docs/version-26.1/configuration/img/log-types/EditCustom.png
new file mode 100644
index 0000000000..3da0963137
Binary files /dev/null and b/versioned_docs/version-26.1/configuration/img/log-types/EditCustom.png differ
diff --git a/versioned_docs/version-26.1/configuration/img/log-types/EditSystem.png b/versioned_docs/version-26.1/configuration/img/log-types/EditSystem.png
new file mode 100644
index 0000000000..02574d7ad9
Binary files /dev/null and b/versioned_docs/version-26.1/configuration/img/log-types/EditSystem.png differ
diff --git a/versioned_docs/version-26.1/configuration/img/log-types/FilterOff.png b/versioned_docs/version-26.1/configuration/img/log-types/FilterOff.png
new file mode 100644
index 0000000000..265db03fbf
Binary files /dev/null and b/versioned_docs/version-26.1/configuration/img/log-types/FilterOff.png differ
diff --git a/versioned_docs/version-26.1/configuration/img/log-types/ShowInLogFilter.png b/versioned_docs/version-26.1/configuration/img/log-types/ShowInLogFilter.png
new file mode 100644
index 0000000000..721fe43b81
Binary files /dev/null and b/versioned_docs/version-26.1/configuration/img/log-types/ShowInLogFilter.png differ
diff --git a/versioned_docs/version-26.1/configuration/index.md b/versioned_docs/version-26.1/configuration/index.md
new file mode 100644
index 0000000000..1712eea692
--- /dev/null
+++ b/versioned_docs/version-26.1/configuration/index.md
@@ -0,0 +1,18 @@
+---
+title: Configuration
+description: Configure projects, users, and retention in ReportPortal. Step-by-step guides for access, roles, and policies to manage your test report dashboard effectively.
+---
+
+# Configuration
+
+The **Configuration** section is designed specifically for Project Managers, offering essential tools and information to help configure project settings and manage users effectively. In this section, you will find detailed guides that cover every aspect of setting up and customizing project settings to fit the unique needs of your team and organization. Whether you’re just starting a new project or refining an existing one, these resources will help ensure that your project runs smoothly and efficiently.
+
+**A key feature of this section** is its focus on **user management**. These guides will show you how to invite user on a project, assign roles to team members, and control access to various functionalities within the platform. This ensures that collaboration is smooth, secure, and aligned with the responsibilities of each team member.
+
+Additionally, this section covers the **Launches retention policy** – an important aspect of managing your project’s data. In ReportPortal, the retention policy determines how long regular launches, and their related data (such as logs and attachments) will be stored before they are automatically deleted. Understanding and configuring this policy is critical for optimizing storage usage and ensuring that old, unnecessary data doesn’t clutter your system.
+
+Thanks to the Configuration section, Project Managers can ensure efficient project setup, effective user management, and optimal data retention practices.
+
+import DocCardList from '@theme/DocCardList';
+
+
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/ComponentHealthCheck.mdx b/versioned_docs/version-26.1/dashboards-and-widgets/ComponentHealthCheck.mdx
new file mode 100644
index 0000000000..b84476e380
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/ComponentHealthCheck.mdx
@@ -0,0 +1,179 @@
+---
+sidebar_position: 24
+sidebar_label: Component health check
+description: Generate a detailed test automation report with passing rate of the application components.
+---
+
+# Component health check
+
+The widget shows the passing rate of the application components, indicated by the attributes specified for test cases.
+
+:::note
+For using this widget you need to report (or add manually) attributes to test items.
+:::
+
+## Widget's parameters:
+
+- Filter
+- Parameters: All Launches/Latest Launches
+- Checkbox 'Exclude Skipped Tests from Statistics'. Default state of checkbox: unselected.
+- Minimum allowable passing rate for the component: Possible value ranges from 50% to 100%. The default value is 100%.
+- Attribute Key for the First Level (mandatory)
+- Attribute Key for the 2nd to 10th Levels (optional)
+
+
+
+When the **checkbox 'Exclude Skipped tests from statistics' is selected**, the passing rate is calculated based on the total number of test cases, excluding the skipped tests.
+
+When the **checkbox 'Exclude Skipped tests from statistics' is not selected**, the passing rate is calculated based on the total number of test cases, including the skipped tests.
+
+## Widget view
+
+The Component Health Check widget is multi-level (up to 10 level) with the ability to drill down to the list of test cases included in the corresponding group at each attribute key level.
+
+**‘ALL LAUNCHES’ option**
+
+**For the first level**, system applies chosen filter to all the launches in ReportPortal and analyzes the last 600 launches
+from the filter. After combining all the tests cases from these launches, the system searches for the test cases
+with the attribute key specified for the first widget level (e.g., attribute key **‘function’**) and groups the found test cases
+around unique attribute values (order, team, configure, administrate). The system then calculates the passing rate for each group.
+
+**For the second level**, the system again analyzes the 600 launches from the filter and searches
+for the test cases with 1st level attribute key plus value for chosen group (e.g., **function:order**)
+and also attribute key specified for the second widget level (e.g., **type**).
+The found tests cases are grouped around unique attribute values (backend, API, Unit, UI).
+The system again calculates the passing rate for each group.
+
+The same flow is applied to the other levels of the widget.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+**‘LATEST LAUNCH’ option**
+
+**For the first level**, the flow is almost the same as for the ‘ALL LAUNCHES’ option.
+However, after the test cases are grouped around unique values for the attribute key, system only leaves the tests cases
+from latest launches executions for each selection.
+
+For example, if you have Launch A with executions #1 and #2 and Launch B with executions #1 and #2
+and they correspond to the applied filter, then building the widget based on “LATEST LAUNCHES’ parameter
+will take into account only the test cases from Launch A executions #2 and Launch B executions #2.
+
+## Widget section
+
+The widget is divided into two sections: Passed and Failed.
+
+**The Failed section** includes all groups (test cases with the same attribute) that have a passing rate lower than the passing rate specified in the widget wizard.
+
+**The Passed section** includes all groups that have a passing rate higher than the rate specified in the widget wizard.
+
+
+
+Each group on the widget has:
+
+- **name**, which is equivalent to attribute value
+- **passing rate**, calculated as (the number of passed test cases in the group)/(total number of test cases in the group)
+- **the number of test cases** in the group
+- **a color line**, which depends on the passing rate (see section Widget legend)
+
+Users can drill down to view the list of test cases included in the group, filtered by:
+
+- **test method:** Test
+- **status:** Passed, Failed, Skipped, Interrupted
+- **attributes** (key=Key for corresponding level, value=group name)
+
+:::note
+Each subsequent level should contain the attributes of previous levels.
+:::
+
+When you click on the arrow on the component and the 'Exclude Skipped tests' toggle is OFF,
+the system redirects you to the test item view. Test items with statuses Passed, Failed, Interrupted, and Skipped are displayed.
+
+
+
+
+When you click on the arrow on the component and the 'Exclude Skipped tests' toggle is ON,
+the system redirects you to the test item view. Test items with statuses Passed, Failed, and Interrupted are displayed.
+
+
+
+## Widget legend
+
+The widget legend has two lines - Passed and Failed.
+
+**Failed**
+
+The failed line has four colors:
+
+- light red
+- regular red
+- strong red
+- dark red
+
+It represents values that are less than the rate specified in the widget minus 1.
+
+**Passed**
+
+The passing line has only two colors:
+
+- slightly green
+- green
+
+And have values - from specified on widget wizard to 100%. Depending on this color scheme each group on the widget has its own color.
+
+Let's say we set 'The min allowable passing rate for the component' to be 90%. The tests cases will be grouped in following color groups:
+
+green: tests with passing rate equals to 100%
+slightly green: greater than or equal to 90% (specified on widget wizard) and less than 100%
+light red: greater than or equal to 67,5% (calculated as (`90%/4*3`)) and less than 90%
+strong red: greater than or equal to 45% (calculated as (`90%/4*2`)) and less than 67,5%
+regular red: greater than or equal to 22,5% (calculated as (`90%/4`)) and less than 45%
+dark red: less than 22,5%
+
+:::note
+The widget doesn't contain 'IN PROGRESS" launches.
+:::
+
+
+
+## Use case
+
+**Situation:**
+As a Project Manager or Test Lead, I want to identify the most unstable areas in my product (application).
+
+**Solution:**
+Let’s build Component Health Check Widget based on a particular filter for the launches and the following attributes for test cases:
+
+1st level: **key: function**, possible **values**: order, team, configure, administrate
+2nd level: **key: type**, possible **values**: backend, API, Unit, UI
+3d level: **key: market state**, possible **values**: open, close
+4th level: **key: role**, possible **values**: Project Manager, Member, Admin
+
+On the first level of the widget, the user will only see the test cases with attribute key **‘function’**.
+The test cases will be grouped by attribute **value**: order, team, configure, administrate.
+By clicking on one of the groups (e.g., order), the user will see the second level of the widget.
+It will contain only test cases that have attribute **function: order** and attribute key **‘type’**.
+Test cases will be grouped by attribute value available for attribute key **‘type’** which are: backend, API, Unit, UI.
+
+1st LEVEL
+
+
+
+2nd LEVEL
+
+
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/CumulativeTrendChart.mdx b/versioned_docs/version-26.1/dashboards-and-widgets/CumulativeTrendChart.mdx
new file mode 100644
index 0000000000..f0f3f2971b
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/CumulativeTrendChart.mdx
@@ -0,0 +1,86 @@
+---
+sidebar_position: 22
+sidebar_label: Cumulative trend chart
+description: Track cumulative growth trends across builds and versions. Compare statistics over time with drill-down capabilities using qa metrics dashboard.
+---
+
+# Cumulative trend chart
+
+Shows the growth trend of summary statistics of launches with the same attribute key.
+You can see a growth of statistics from the build to the build, or from version to version.
+A widget does not require an edit or new filter creation. If a new version (build, release or other) is added to ReportPortal, new information will be added to the graph.
+
+
+
+**Widget's parameters:**
+- Filter
+- Parameters: only Latest launches
+- Number of shown attributes on the widget: 1 - 15
+- Attribute key for the first level (mandatory)
+- Attribute key for the second level (optional)
+
+
+
+**Widget view**
+A widget has two levels.
+
+**For the first level** the system uses the last 600 launches from the chosen filter.
+Then the system searches all launches which have attributes with the key specified on the widget wizard for the first widget level (for example attribute key - BUILD).
+Then the system combines launches into groups around unique attribute value (BUILD:3.6, BUILD: V3.7, BUILD:3.8…..).
+After that the system should keep in each group **only latest executions** (e.g. the latest launches for BUILD:3.6, the latest launches BUILD: V3.7, the latest launches BUILD:3.8…. ) and reflects statistics for all unique attributes on the graph for the first widget level.
+
+First level view - summ statistics of launches with attributes BUILD: 3.20.8.0 / 3.20.8.1 / ... / 3.20.8.9
+
+>:::note
+Statistics for bars BUILD: 3.20.8.0 is calculated as - a summary of latest launches with attribute 3.20.8.0
+:::
+
+
+
+
+
+
+
+
+
+
+
+
+
+A user can drill down to the second level of the widget. For that, he should click on the bar. And the system shows two buttons: Drill Down and Show filter.
+And a user should click on **"Drill down"**.
+
+**For the second level** the system again analyzes the 600 launches from the filter.
+Then it leaves only launches that have an attribute, that has been clicked by the user (f.e. BUILD: 3.20.8.0 ).
+From these launches, systems choose ones with attributes that have key attribute from the section Level 2 (detailed view) on widget wizard.
+After the system groups launch with the same attribute and leaves for each selection only the “latest” launches (launches with unique launch name and with the biggest launch number in ReportPortal).
+Others should be removed from a group. Each unique group should be reflected in the graph on the second widget level.
+
+
+For each group there is shown a set of bars: Passed, Failed, Skipped, group Product Bug, group Auto Bug, group System Issue, group No defect, group To investigated.
+
+On the hover on the bar, a user can see detailed information about the sample. Also, the user can see a list of attributes with attribute key from the first and from the second level which has launches, which have been used for a hovered bar.
+
+
+**Visual options**
+
+**Focus on defect types**
+If the option is enabled, a user can see only information about defect types for each sample.
+If an option is disabled, a user can see information about statuses and defect types.
+
+**Totals**
+If the option is enabled, a user can see info about several test cases in each sample.
+
+**Staked area / Separate bars**
+Staked area chart - is shown one bar for statuses, and one bar for defect types for each sample.
+Separate bars - is shown a separate bar for each status, and each defect type group.
+
+**Tests / Per cent**
+Test mode - OY axis is calculated in test cases.
+Percent mode - OY axis is calculated in percent. OY = 100%.
+
+A user can combine different options. Options are saved per user.
+
+:::note
+The widget doesn't contain 'IN PROGRESS" launches. The widget statistics calculated only in items with method type TEST.
+:::
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/DifferentLaunchesComparisonChart.mdx b/versioned_docs/version-26.1/dashboards-and-widgets/DifferentLaunchesComparisonChart.mdx
new file mode 100644
index 0000000000..6f27e3cc09
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/DifferentLaunchesComparisonChart.mdx
@@ -0,0 +1,30 @@
+---
+sidebar_position: 18
+sidebar_label: Different launches comparison chart
+description: Compare statistics between two latest launches side by side. Analyze test execution differences and track progress using qa dashboard tools.
+---
+
+# Different launches comparison chart
+
+The widget allows you to compare statistics for the 2 last launches side by side.
+
+**Widget's parameters:**
+
+- Filter.
+
+**Widget view**
+
+- The X-axis shows launches numbers and launches names on hover.
+- Y-axis shows the percentage of test-cases by statuses.
+
+The widget contains agenda with statuses, the user can click on a status to remove/add it to the chart.
+
+The tooltip on mouse hover over the chart area shows launch details: launch name and number, launch start times and percentage of test cases of a particular type.
+
+The widget has clickable sections when you click on specific sections in the widget, the system forwards you to the launch view for the appropriate selection.
+
+
+
+:::note
+The widget doesn't contain 'IN PROGRESS" launches.
+:::
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/FailedCasesTrendChart.mdx b/versioned_docs/version-26.1/dashboards-and-widgets/FailedCasesTrendChart.mdx
new file mode 100644
index 0000000000..f2f7311c49
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/FailedCasesTrendChart.mdx
@@ -0,0 +1,29 @@
+---
+sidebar_position: 16
+sidebar_label: Failed cases trend chart
+description: See failed test trends over time to catch regressions early. Analyze totals by defect categories and drill into launches on your test automation dashboard.
+---
+
+# Failed cases trend chart
+
+The widget shows the trend of growth in the number of failed test cases (Product Bugs + Auto Bugs + System Issues + No Defects + To Investigates) from run to run.
+
+**Widget's parameters:**
+
+- Filter.
+- Items: 1-150. The default meaning is 50.
+
+**Widget view**
+
+The widget contains the agenda: "Failed".
+
+- The X-axis shows launches numbers and launches names on hover.
+- Y-axis shows several Failed issues (sum of Product Bugs + Auto Bugs + System Issues + No Defects + To Investigates).
+
+The tooltip on mouse hover over the chart area shows launch details: launch name and number, launch start time and several failed test cases.
+
+
+
+:::note
+The widget doesn't contain "IN PROGRESS" launches.
+:::
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/FlakyTestCasesTableTop50.mdx b/versioned_docs/version-26.1/dashboards-and-widgets/FlakyTestCasesTableTop50.mdx
new file mode 100644
index 0000000000..1fc01dc505
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/FlakyTestCasesTableTop50.mdx
@@ -0,0 +1,50 @@
+---
+sidebar_position: 21
+sidebar_label: Flaky test cases table (TOP-50)
+description: Track flaky tests that change status between runs. Identify unstable test cases and improve reliability using test automation metrics dashboard.
+---
+
+# Flaky test cases table (TOP-50)
+
+Shows the TOP-50 the most flaky test cases within the specified previous launches.
+
+The test case is displayed in the table if test case status has changed at least once from Passed to Failed or from Failed to Passed in the specified previous launches.
+
+:::note
+For the Flaky Test Cases Table Top 50 widget, only the status of the last retry of a test case is considered. If a test case undergoes multiple retries during different launch executions, and the last retries of each launch yield identical statuses, the test case will not be classified as flaky. Thus, for a test to be identified as flaky, the final retry statuses in each launch must differ.
+:::
+
+**Widget's parameters:**
+
+- Launches count: 2-100. The default meaning is 30.
+
+- Launch name: required filed.
+
+- Include Before and After methods: optional.
+
+**Widget view**
+
+The widget has a table view with the following data displayed:
+
+- Test Case - link to the Step level of the last launch.
+- Switches - count of found results with often switches.
+- % of Switches - the percent of the fact switches and the possible.
+- Last switch - date and time of the last run, when the test item switches the status, displayed in “time ago” format (i.e. “10 minutes ago”).
+
+On mouse hover, the system will display accurate start times.
+
+:::note
+In “Switches” column only Passed and Failed statuses are displayed (Passed - green, Failed - red).
+:::
+
+:::important
+The number of switches from one state to another of the test case with the same uniqueID is displayed in the format **N from M** where:
+
+**N** is the number of changes of statuses.
+
+**M** is the number of all possible changes of the item in selection (number of item runs=number of test executions minus number of executions with status Skipped minus 1).
+
+On mouse hover, tooltip appears “N status changes from M possible times”.
+:::
+
+
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/InvestigatedPercentageOfLaunches.mdx b/versioned_docs/version-26.1/dashboards-and-widgets/InvestigatedPercentageOfLaunches.mdx
new file mode 100644
index 0000000000..caeb8a61a4
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/InvestigatedPercentageOfLaunches.mdx
@@ -0,0 +1,44 @@
+---
+sidebar_position: 12
+sidebar_label: Investigated percentage of launches
+description: Track the share of Investigated vs To Investigate items by launch or date. Monitor analysis progress to improve triage on your test report dashboard.
+---
+
+# Investigated percentage of launches
+
+The widget can be used in two modes - Launch mode and Timeline mode:
+
+- The widget in the Launch mode shows the percentage of "Investigated" and "To Investigate" items by launch to sum (Product Bugs + Auto Bugs + System Issues + To Investigates).
+- The widget in the Timeline mode shows the percentage of "Investigated" and "To Investigate" items to sum (Product Bugs + Auto Bugs + System Issues + To Investigates) in all runs per day, distributed by dates.
+
+**Widget's parameters:**
+
+- Filter: At least one filter is required.
+- Items: 1-150. The default meaning is 50.
+- Mode: Launch or Timeline. The default meaning is Launch mode.
+
+**Widget view**
+
+The widget contains an agenda with "To Investigate" and "Investigated" labels.
+
+The widget view in Launch mode:
+
+- The X-axis shows launches numbers and launches names on hover.
+- Y-axis shows the percent of "Investigated" and "To Investigate" items to sum. (Product Bugs + Auto Bugs + System Issues + To Investigates)
+
+The tooltip on mouse hover over the chart area shows launch details: launch name, number, launch start time and "percentage of "Investigated" or "To Investigate" items.
+
+
+
+The widget view in Timeline mode:
+
+- The X-axis shows dates and weekdays.
+- Y-axis shows a percent of "Investigated" and "To Investigate" items to sum (Product Bugs + Auto Bugs + System Issues + No Defects + To Investigates) distributed by dates.
+
+The tooltip on mouse hover over the chart area shows launch details: date and percentage of "Investigated" or "To Investigate" items.
+
+The widget has clickable sections when you click on a specific section in the widget, the system forwards you to the launch view for the appropriate selection.
+
+:::note
+The widget doesn't contain "IN PROGRESS" launches.
+:::
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/LaunchExecutionAndIssueStatistic.mdx b/versioned_docs/version-26.1/dashboards-and-widgets/LaunchExecutionAndIssueStatistic.mdx
new file mode 100644
index 0000000000..d8b3126a29
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/LaunchExecutionAndIssueStatistic.mdx
@@ -0,0 +1,31 @@
+---
+sidebar_position: 9
+sidebar_label: Launch execution and issue statistic
+description: View the latest launch’s pass/fail and defect breakdown at a glance. Click to explore details and triage on your test automation reporting dashboard.
+---
+
+# Launch execution and issue statistic
+
+The Launch Execution and Issue Statistic chart shows the status and issues statistics for the last launch of a specified range.
+
+**Widget's parameters:**
+
+- Filter: required
+
+**Widget view**
+
+The widget shows statistics of the last finished launch for the chosen filter. The statistics are divided into the following sections:
+
+- Skipped, Passed, Failed
+- Product Bug, System Issue, Automation Bug, No Defect (default and custom) and To Investigate.
+
+The widget contains agenda with statuses, the user can click on a status to remove/add it to the chart.
+
+Tooltip on mouse hover over chart area shows launch details: launch name, number, and duration.
+
+The statistics for every type is shown in percentage. On hover, the exact number is shown for each type.
+
+The widget has clickable sections when you click on a specified section in the widget, the system forwards you to the launch view for the appropriate selection.
+
+
+
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/LaunchStatisticsChart.mdx b/versioned_docs/version-26.1/dashboards-and-widgets/LaunchStatisticsChart.mdx
new file mode 100644
index 0000000000..cf9ce17497
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/LaunchStatisticsChart.mdx
@@ -0,0 +1,67 @@
+---
+sidebar_position: 6
+sidebar_label: Launch statistics chart
+description: Track failure reasons and statuses across runs or dates with area or bar views. Zoom and click through for deeper insights on your test results dashboard.
+---
+
+# Launch statistics chart
+
+The widget can be used in two modes - Launch mode and Timeline mode:
+
+- The widget in Launch mode shows the growth trend in the number of test cases with each selected status from run to run,
+- The widget in Timeline mode shows the sum of test cases with each selected status distributed by dates.
+
+Also, you can choose a different view of this widget: Area view or Bar view.
+For a deeper investigation, you can use the Zoom widget area functionality.
+
+**Widget's parameters:**
+
+- Filter: At least one filter is required
+- Items: 1-150. The default meaning is 50.
+- Widget Criteria: All criteria are selected by default.
+- Mode: Launch or Timeline.
+- View: Area/ Bar
+- Widget Criteria: All criteria are selected by default.
+
+:::tip
+If you choose “Total Defect type”, the system will show the grouped statistics of a chosen standard defect type (the summary of all custom types).
+If you check a single custom defect type, the system will show just the defect type that you have chosen.
+If you choose “Total Defect type” and custom defect types, the system will show and grouped statistics and statistics of each custom defect types.
+:::
+
+
+**Widget view**
+
+The widget contains agenda with selected statuses; you can click on a status to remove/add it to the chart.
+
+The widget view in Launch mode:
+
+- The X-axis shows launches numbers and launches names (on hover).
+- Y-axis shows the sum of test cases with each selected statuses.
+
+The tooltip on mouse hover over chart area shows launch details: launch name and number, launch start time and launch statistics.
+
+Area view
+
+
+Bar view
+
+
+The widget view in Timeline mode:
+
+- The X-axis shows dates and weekdays.
+- Y-axis shows the sum of launches statistics with each selected statuses, distributed by weekdays.
+
+The tooltip on mouse hover over the chart area shows details: date and total launches statistics.
+
+The widget has clickable sections; when you click on a specified section in the widget, the system forwards you to launch view for appropriate selection.
+
+Area view
+
+
+Bar view
+
+
+:::note
+The widget doesn't contain "IN PROGRESS" launches.
+:::
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/LaunchesDurationChart.mdx b/versioned_docs/version-26.1/dashboards-and-widgets/LaunchesDurationChart.mdx
new file mode 100644
index 0000000000..aeff210962
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/LaunchesDurationChart.mdx
@@ -0,0 +1,34 @@
+---
+sidebar_position: 8
+sidebar_label: Launches duration chart
+description: Compare launch durations to spot slow runs and trends. Switch between all and latest modes to highlight performance in your test automation results dashboard.
+---
+
+# Launches duration chart
+
+The Launch Duration Chart shows the duration of the selected launches.
+
+**Widget's parameters:**
+
+- Filter: At least one filter is required
+- Items: 1-150. Default meaning is 50
+- Mode All launches/ Latest launches
+
+**Widget view**
+
+The widget shows the duration of the filtered launches.
+
+- The X-axis shows launches duration.
+- Y-axis shows launches numbers and launches names on hover.
+
+Tooltip on mouse hover over chart area shows launch details: launch name, number, and duration.
+
+The Widget has clickable sections when you click on a specified section in a widget, the system forwards you to launch view for appropriate selection.
+
+The Widget has two states: All launches and Latest lunches. If you chose *All launches* mode, the widget will show statistics about all launches in the filter. To view only the latest executions of each launch, you should choose *Latest launches*.
+
+
+
+:::note
+The widget doesn't contain "IN PROGRESS" launches.
+:::
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/LaunchesTable.mdx b/versioned_docs/version-26.1/dashboards-and-widgets/LaunchesTable.mdx
new file mode 100644
index 0000000000..aed79c27c1
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/LaunchesTable.mdx
@@ -0,0 +1,26 @@
+---
+sidebar_position: 13
+sidebar_label: Launches table
+description: View configurable launch data in table format. Click through to explore details, track progress, and analyze results using test automation reporting tools.
+---
+
+# Launches table
+
+The widget shows a configurable table of launches.
+
+**Widget's parameters:**
+
+- The widget criteria are as follows: Total, Passed, Failed, Skipped, Product Bug, Automation Bug, System Issue, To Investigate, Attributes, User, Description, Start time, Finish time. All criteria are selected by default. To specify them, uncheck unnecessary items in "Criteria for Widget".
+- Items: 1-150. The default meaning is 50.
+
+**Widget view**
+
+The widget has a table view.
+
+The widget has clickable elements "launch name", "owner", "attributes", and "number of items"; when you click on specific elements in the widget, the system forwards you to the launch view for the appropriate selection.
+
+
+
+:::note
+The widget doesn't contain "IN PROGRESS" launches.
+:::
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/ManageWidgets.mdx b/versioned_docs/version-26.1/dashboards-and-widgets/ManageWidgets.mdx
new file mode 100644
index 0000000000..48627d0ae8
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/ManageWidgets.mdx
@@ -0,0 +1,65 @@
+---
+sidebar_position: 5
+sidebar_label: Manage Widgets
+description: Customize, resize, edit, and delete widgets on your dashboard. Organize layout and manage widget settings for optimal test automation reporting and monitoring.
+---
+
+# Manage Widgets
+
+## Customize widget
+
+When you create a widget in our test automation dashboard, it has a basic size. Afterward, you may change the widget size.
+
+To resize widget the user can hover the mouse cursor over the widget. The system will show resizing arrows.
+
+Grab the arrow with the cursor and drag it to the desired width and height.
+
+You can maintain the existing aspect ratio or set a new one when resizing the widget.
+
+:::note
+Widgets have a minimum and maximum mean of width and height defined within the application.
+:::
+Another way you can customize your dashboard is by changing the widgets' placement within the dashboard canvas area.
+
+To change a widget placement on the dashboard, perform the following: grab a widget with the cursor by clicking and dragging it to the selected position, holding down the mouse button.
+
+When you move the widget to the area with sufficient space, the system highlights this place.
+The widgets located in this space, are moved to the relocatable widget place. Using this option the user can configure the desired location of the widgets on a dashboard.
+
+
+
+## Edit widget
+
+To create a new widget for data visualization, perform the following steps:
+
+1. Click the "Edit" icon in the right corner of the widget header.
+
+2. After the "Edit Widget" window is opened, you can edit any widget settings except the template itself.
+
+3. Make the necessary changes and click the "Save" button. The widget will be updated.
+
+
+
+## View widgets in full-screen mode
+
+To view widgets on the whole screen, click the 'Full Screen' button in the right top corner of the dashboard.
+
+Widgets are shown in the same order as for standard view.
+
+:::note
+Clickable areas or elements are disabled for the full-screen mode selected, therefore it will not be possible to create a new widget, update, or delete available widgets in this mode.
+:::
+
+The auto-refresh timeout for widgets in full-screen mode is 30 sec.
+
+## Delete widget
+
+To delete the widget:
+
+1. Click the "Delete" icon (X) in the right corner of the widget header.
+
+2. Click the "Delete" button on the confirmation popup.
+
+3. The widget will be deleted from the system.
+
+
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/MostFailedTestCasesTableTop50.mdx b/versioned_docs/version-26.1/dashboards-and-widgets/MostFailedTestCasesTableTop50.mdx
new file mode 100644
index 0000000000..375e1da78f
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/MostFailedTestCasesTableTop50.mdx
@@ -0,0 +1,34 @@
+---
+sidebar_position: 15
+sidebar_label: Most failed test-cases table (TOP-50)
+description: Identify top 50 most problematic test cases with failure statistics. Track the time since the last status change and detect flaky test cases.
+---
+
+# Most failed test-cases table (TOP-50)
+
+The widget contains a table with statistical information about the TOP-50 most problematic test cases.
+
+**Widget's parameters:**
+
+- The widget criteria are as follows: Failed, Skipped, Product Bug, Automation Bug, System Issue, No Defect. Failed is selected by default.
+
+- Launches count: 2-150. By default, "Launches count" is 30. The number of launch last executions you want to analyze.
+
+- Launch name: Is required. The name of the launch which executions will be analyzed.
+
+- Include /Exclude Before and After methods
+
+**Widget view**
+
+The widget has a table view with the following data displayed:
+
+- Test Item name - link to the Step level of the last launch
+- Failed - count of found failed results
+- Last failure - date and time of the last run, when the test item was failed, displayed in 'time ago' format (i.e. "10 minutes ago").
+ On mouse hover, the system will display accurate start times.
+
+
+
+:::note
+The widget contains statistics of the most problematic test cases in all launches, except "IN PROGRESS" and "INTERRUPTED" launches.
+:::
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/MostPopularPatternTableTop20.mdx b/versioned_docs/version-26.1/dashboards-and-widgets/MostPopularPatternTableTop20.mdx
new file mode 100644
index 0000000000..410da78ed8
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/MostPopularPatternTableTop20.mdx
@@ -0,0 +1,36 @@
+---
+sidebar_position: 23
+sidebar_label: Most popular pattern table (TOP-20)
+description: Explore the top 20 most popular patterns in dashboards and widgets to analyze trends and improve reporting insights effectively.
+---
+
+# Most popular pattern table (TOP-20)
+
+**Widget's parameters:**
+- Filter
+- Parameters: All launches/ Latest launches
+- Number of shown patterns on the widget: 20
+- Attribute key for the first level (mandatory)
+
+
+For this widget, the system chooses 600 last launches by start time from the filter.
+Then it leaves only launches that have an attribute with mentioned key and group launches by attribute value.
+The system leaves only the latest launches in each group (if the user has chosen option Latest launches in the widget wizard).
+For each group of launches, a list with pattern aggregated.
+
+
+
+**Widget view**
+
+On the widget a user can view a table which shows:
+
+* 20 patterns with the biggest number of test cases in each defined group.
+
+Via drop-down user can transit from group to group.
+A pattern name is clickable. By clicking on pattern name a user is redirected to a list with all test cases which have clicked pattern. A list of test cases includes test cases from different launches.
+
+
+
+:::note
+The widget doesn't contain 'IN PROGRESS" launches.
+:::
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/MostTimeConsumingTestCasesWidgetTop20.mdx b/versioned_docs/version-26.1/dashboards-and-widgets/MostTimeConsumingTestCasesWidgetTop20.mdx
new file mode 100644
index 0000000000..561d84ae05
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/MostTimeConsumingTestCasesWidgetTop20.mdx
@@ -0,0 +1,49 @@
+---
+sidebar_position: 26
+sidebar_label: Most time-consuming test cases widget (TOP-20)
+description: Identify the slowest test cases with duration analysis. View top 20 time-consuming tests in table or bar format using QA dashboard tool.
+---
+
+# Most time-consuming test cases widget (TOP-20)
+
+Show the TOP 20 test cases with the highest duration in the last execution of the specified launch.
+
+**Widget's parameters:**
+
+- Test Status. Default value - Passed, Failed
+
+- Launch name. Is required
+
+- Include /Exclude Before and After methods
+
+- View options: Bar view, Table view
+
+**Widget view**
+
+Table View
+
+The widget has a table view with the following data displayed:
+
+- Test Item name - link to the log of the last launch
+
+- Test Status
+
+- Test Duration
+
+- Test Start Time - date and time of the last run, displayed in 'time ago' format (i.e. "10 minutes ago").
+
+On mouse hover, the system will display accurate start times.
+
+Bar View
+
+Bar chart where:
+
+- axis OY - Tests
+- axsic OX - Duration
+
+Bar color specifies a color of execution.
+On mouse hover, the system will display accurate start times.
+
+
+
+
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/NonPassedTestCasesTrendChart.mdx b/versioned_docs/version-26.1/dashboards-and-widgets/NonPassedTestCasesTrendChart.mdx
new file mode 100644
index 0000000000..369e38cbec
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/NonPassedTestCasesTrendChart.mdx
@@ -0,0 +1,33 @@
+---
+sidebar_position: 17
+sidebar_label: Non-passed test-cases trend chart
+description: Track non-passed test trends over time to identify quality issues. Monitor failed and skipped test percentages using QA dashboard tool.
+
+
+---
+
+# Non-passed test-cases trend chart
+
+The widget shows the percent ratio of non-passed test cases "Failed + Skipped" and "Total" cases from run to run.
+
+**Widget's parameters:**
+
+To configure the widget, click the "Add New Widget" button on the dashboard header, then select a template and specify the following settings on the second step:
+
+- Filter.
+- Items: 1-150. Default meaning is 50
+
+**Widget view**
+
+The widget contains agenda: % (Failed + Skipped) / Total.
+
+- The X-axis shows launches numbers and launches names on hover.
+- Y-axis shows the percent of sum Failed + Skipped test cases to Total.
+
+The tooltip on mouse hover over the chart area shows launch details: launch name and number, launch start time and percentage of non-passed cases.
+
+
+
+:::note
+The widget doesn't contain "IN PROGRESS" launches.
+:::
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/OverallStatistics.mdx b/versioned_docs/version-26.1/dashboards-and-widgets/OverallStatistics.mdx
new file mode 100644
index 0000000000..0d58ff4321
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/OverallStatistics.mdx
@@ -0,0 +1,41 @@
+---
+sidebar_position: 7
+sidebar_label: Overall statistics
+description: Visualize passed, failed, skipped, and defect types across launches. Track trends and drill into details on your test automation reporting dashboard.
+---
+
+# Overall statistics
+
+The panel shows a summary of test cases with each status for each selected launch.
+
+**Widget's parameters:**
+
+- Filter: At least one filter is required
+- Items: 1-150. The default meaning is 50.
+- Widget Criteria: All criteria are selected by default.
+- Type of view: Panel view/ Donut view
+- Mode All launches/ Latest launches
+
+
+**Widget view**
+
+The widget shows statistics of the All launches/or Latest launches for the chosen filter. Statistics are divided into the following sections:
+- Skipped, Passed, Failed
+- Product Bug, System Issue, Automation Bug, No Defect and To Investigate.
+
+The statistics for every type are shown in percentages. On hover, the exact number is shown for each type.
+The Widget has clickable sections when you click on a specified section in the widget, the system forwards you to launch view for appropriate selection.
+
+If you chose *All launches* mode, the widget will show the statistics about all launches in the filter. To view only the latest executions of each launch, you should choose *Latest launches*.
+
+The widget can be viewed in two options as shown on pictures: Panel view
+
+
+
+or Donut view.
+
+
+
+:::note
+The widget doesn't contain "IN PROGRESS" launches.
+:::
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/PassingRatePerLaunch.mdx b/versioned_docs/version-26.1/dashboards-and-widgets/PassingRatePerLaunch.mdx
new file mode 100644
index 0000000000..fd78bcd92c
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/PassingRatePerLaunch.mdx
@@ -0,0 +1,63 @@
+---
+sidebar_position: 19
+sidebar_label: Passing rate per launch
+description: See passed vs total per launch with bar or pie views. Toggle skipped items, explore details, and drill down into tests on your test execution dashboard.
+---
+
+# Passing rate per launch
+
+Shows the percentage ratio of Passed test cases to Total test cases including or excluding Skipped ones of the selected launch.
+
+**Widget's parameters:**
+
+- Launch Name: the name of any finished launch
+- Mode: Bar View/Pie View
+- Ratio based on: Total test cases (Passed/Failed/Skipped) / Total test cases excluding Skipped
+- Widget name: any text
+- Description: any text
+
+:::note
+During the setup process, you can choose whether to consider Skipped items using the radio button.
+:::
+
+**Passing rate calculation including Skipped items**
+
+* Total test cases = Passed + Not Passed, while Not Passed = Failed + Skipped + Interrupted.
+* Thus, Passing rate = Passed / (Passed + Failed + Skipped + Interrupted).
+
+**Passing rate calculation excluding Skipped items**
+
+* Total test cases = Passed +Failed, while Failed= Failed +Interrupted.
+* Thus, Passing rate = Passed / (Passed + Failed + Interrupted).
+
+Please find below an example of configuration:
+
+
+
+
+
+The widget can be displayed in two options as shown on the pictures below:
+
+**Bar View**
+
+
+
+**Pie View**
+
+
+
+As you can see, this widget was built based on the test results of the last run of the Daily Smoke Suite.
+
+An example of Passing rate per launch widget including Skipped items:
+
+
+
+An example of Passing rate per launch widget excluding Skipped items:
+
+
+
+The tooltip on mouse hover over chart area shows the number of test cases and ratio of Passed/Not Passed to Total test cases (Passed, Failed, Skipped) or the number of test cases and ratio of Passed/Not Passed to Total test cases excluding Skipped.
+
+The Passing rate per launch widget has clickable sections. When you click on not Passed pie/bar element, system redirects to the test item view. If the widget was built with the option “Total test cases (Passed/Failed/Skipped)”, then tests with statuses Failed, Interrupted, Skipped are displayed. If the widget was built with the option “Total test cases excluding Skipped”, then tests with statuses Failed and Interrupted are displayed.
+
+
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/PassingRateSummary.mdx b/versioned_docs/version-26.1/dashboards-and-widgets/PassingRateSummary.mdx
new file mode 100644
index 0000000000..2d5545df55
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/PassingRateSummary.mdx
@@ -0,0 +1,66 @@
+---
+sidebar_position: 20
+sidebar_label: Passing rate summary
+description: Analyze passing rates across multiple launches with bar or pie views. Toggle skipped items and drill down for detailed test execution reporting insight.
+---
+
+# Passing rate summary
+
+Shows the percentage ratio of Passed test cases to Total test cases including or excluding Skipped ones for set of launches.
+
+**Widget's parameters:**
+
+* Filter: At least one filter is required
+* Items: 1-600. The default meaning is 50.
+* Mode: Bar View/Pie View
+* Ratio based on: Total test cases (Passed/Failed/Skipped) / Total test cases excluding Skipped
+* Widget name: any text
+* Description: any text
+
+:::note
+During the setup process, you can choose whether to consider Skipped items using the radio button.
+:::
+
+**Passing rate calculation including Skipped items**
+
+* Total test cases = Passed + Not Passed, while Not Passed = Failed + Skipped + Interrupted.
+* Thus, Passing rate = Passed / (Passed + Failed + Skipped + Interrupted).
+
+**Passing rate calculation excluding Skipped items**
+
+* Total test cases = Passed +Failed, while Failed= Failed +Interrupted.
+* Thus, Passing rate = Passed / (Passed + Failed + Interrupted).
+
+Please find below an example of configuration:
+
+
+
+
+
+The widget can be displayed in two options as shown on the pictures below:
+
+**Bar View**
+
+
+
+**Pie view**
+
+
+
+As you can see, this widget was built based on the “Daily Smoke” filter.
+
+
+
+An example of Passing rate summary widget including Skipped items:
+
+
+
+An example of Passing rate summary widget excluding Skipped items:
+
+
+
+The tooltip on mouse hover over chart area shows the number of test cases and ratio of Passed/Not Passed to Total test cases (Passed, Failed, Skipped) or the number of test cases and ratio of Passed/Not Passed to Total test cases excluding Skipped.
+
+The Passing rate summary widget has clickable sections. When you click on not Passed pie/bar element, system redirects to the test item view. If the widget was built with the option **“Total test cases (Passed/Failed/Skipped)”**, then tests with statuses Failed, Interrupted, Skipped are displayed. If the widget was built with the option **“Total test cases excluding Skipped”**, then tests with statuses Failed and Interrupted are displayed.
+
+Thanks to “Passing rate summary” widget, it is no longer needed to spend time on calculating Passing rate of the specified set of launches. ReportPortal provides these statistics as a visualization – it is a quick and convenient decision. You can take the screenshot of widget and use it in the test results report.
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/PossibleDashboardsInReportPortal.mdx b/versioned_docs/version-26.1/dashboards-and-widgets/PossibleDashboardsInReportPortal.mdx
new file mode 100644
index 0000000000..ac31bbd62e
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/PossibleDashboardsInReportPortal.mdx
@@ -0,0 +1,88 @@
+---
+sidebar_position: 1
+sidebar_label: Possible Dashboards in ReportPortal
+description: Explore the possible dashboards and widgets in ReportPortal to visualize your test results, monitor progress, and gain actionable insights.
+---
+
+# Possible Dashboards in ReportPortal
+
+ReportPortal.io is a powerful test automation reporting dashboard that acquires a lot of analytics. With this manual, we are wanting to help you to configure simple and understandable reports for your teams.
+
+Let's look on 2 examples of dashboards which you can generate:
+* Report for one Launch
+* Report for Build (Version, Release, Sprint)
+
+> **Precondition**
+> Let's assume that we have a Regression suite which contains:
+>
+> - a suite with API test cases
+> - a suite with UI test cases
+> - a suite with integration test cases
+>
+> The whole Regression is running against nightly build every day.
+> Different teams are responsible for different suites.
+>
+> Which dashboard I can create in such conditions?
+
+## Report for one tests run (A dashboard for an engineer)
+
+The goal for this test results dashboard to show the status of the latest test run. For instance to see the latest results for launch with an API suite.
+
+
+
+You can configure:
+[**Passing rate widget**](/dashboards-and-widgets/PassingRateSummary) that shows a passing rate for a latest launch "API suite'
+
+[**Most popular pattern**](/dashboards-and-widgets/MostPopularPatternTableTop20) tracks TOP-20 problems in the last and previous runs of this suite.
+
+:::note
+For Most popular pattern table, you should you create a set of rules and run Pattern Analysis
+:::
+
+With [**Investigated percentage of launches**](/dashboards-and-widgets/InvestigatedPercentageOfLaunches) you can find out the status of failure investigations. You will be able to evaluate team performance and consistency of results.
+
+[**Failed cases trend chart**](/dashboards-and-widgets/FailedCasesTrendChart) shows the history of failures in previous runs.
+
+[**Duration chart**](/dashboards-and-widgets/LaunchesDurationChart) will be very helpful for those who track duration KPI and want to increase the speed of tests run.
+
+[**Test growth trend chart**](/dashboards-and-widgets/TestCasesGrowthTrendChart) shows you the speed of new test cases creation.
+
+Also, you can create [**"Most flaky test cases"**](/dashboards-and-widgets/FlakyTestCasesTableTop50) and [**"Most failed test case"**](/dashboards-and-widgets/MostFailedTestCasesTableTop50) and find the most unstable items which should be taken into account.
+
+Let's assume that you have a lot of test results and a lot of teams.
+
+You can create [**Overall statistics**](/dashboards-and-widgets/OverallStatistics) and [**Launches table**](/dashboards-and-widgets/LaunchesTable), and now a team who is responsible for API suite has no need to go to the test results. It can use only this dashboard which gives enough information for test failure management.
+
+## Build / Release/ Sprint Report (A dashboard for a Team leads, PM, DM)
+
+The goal of this report to show status for the whole version. It means for this report we want to see the latest results of aggregated statistics for several lanches.
+
+In our example, I want to see the latest results for the whole Regression (latest results for API suite + latest results for UI + latest results for Integration tests).
+
+Also, it is very useful to compare the results of the Regression on the current version with the Regression on previous versions and to see details about business metrics.
+
+
+
+On this dashboard you can see different metrics:
+
+- A passing rate for the whole Regression
+- With [**Cumulative trend chart**](/dashboards-and-widgets/CumulativeTrendChart) you will be able to compare different versions on one chart, to compare different runs for the current regression
+- [**Component Health Check Widget**](/dashboards-and-widgets/ComponentHealthCheck) would show you product:
+
+* on different env
+* on a different dimension
+* by business metrics / by features/ by user roles / by etc
+
+Also with a help of [**Component Health Check Widget**](/dashboards-and-widgets/ComponentHealthCheck) you can create a Test Pyramid.
+
+:::note
+You need to report test executions with attributes which specified needed metrics or envs
+:::
+
+- [**Unique bugs table**](/dashboards-and-widgets/UniqueBugsTable) helps you collect and analyze new bugs in the system
+
+:::note
+Component Health Check Widget and Cumulative trend chart are very configurable and you can create your own widget based on project needs.
+:::
+
+
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/ProjectActivityPanel.mdx b/versioned_docs/version-26.1/dashboards-and-widgets/ProjectActivityPanel.mdx
new file mode 100644
index 0000000000..adc66c7ba3
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/ProjectActivityPanel.mdx
@@ -0,0 +1,28 @@
+---
+sidebar_position: 10
+sidebar_label: Project activity panel
+description: Monitor all project activities and user actions in real-time. Track launches, user management, and system changes using qa metrics dashboard.
+---
+
+# Project activity panel
+
+The widget shows all activities occurring on the project.
+
+**Widget's parameters:**
+
+- **The actions for the widget:** Start launch, Finish launch, Delete launch, Actions with issues, Assign/Invite users, Unassign user, Change role, Update Dashboard, Update widget, Update Filter, Update integration, Update project settings, Update Auto-Analysis settings, Update defect types, Import, Update Pattern-Analysis settings, Create pattern, Update pattern, Delete pattern, Pattern matched, Create project.
+
+- **Items:** 1-150. The default value is 50.
+
+- **Criteria for widget:** By default, all user's activities.
+
+**Widget view**
+
+The actions on the widget are present in a table, separated by days. Action messages have the following format:
+
+> *Member (name) did action.*
+> *Time - displayed in 'time ago' format (i.e. "10 minutes ago"). On mouse hover, the system should display accurate action time.*
+
+
+
+
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/ReportingAndMetricsInReportPortal.md b/versioned_docs/version-26.1/dashboards-and-widgets/ReportingAndMetricsInReportPortal.md
new file mode 100644
index 0000000000..f43d299ca3
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/ReportingAndMetricsInReportPortal.md
@@ -0,0 +1,33 @@
+---
+sidebar_position: 2
+sidebar_label: Reporting and metrics in ReportPortal
+description: With ReportPortal, you can boost your software quality by obtaining detailed test automation reports to monitor test execution, identify issues, and analyze trends for continuous enhancement.
+---
+
+# Reporting and metrics in ReportPortal
+
+## Test automation reports in ReportPortal
+
+With ReportPortal, you can boost your software quality by obtaining detailed
+test automation reports to monitor test execution, identify issues, and analyze trends for continuous enhancement through collaborative dashboards in test reporting.
+
+| Report | Description | Widget |
+|-------------------------------| --|-------------|
+| **Summary report** | An overview of test execution: tests run, passed, and failed. | [Overall statistics](/dashboards-and-widgets/OverallStatistics)
[Launches table](/dashboards-and-widgets/LaunchesTable)
[Passing rate summary](/dashboards-and-widgets/PassingRateSummary) |
+| **Detailed test case report** | Specific details about individual test cases: status (Passed/Failed), execution time, and associated issues/errors. | [Most failed test-cases table (TOP-50)](/dashboards-and-widgets/MostFailedTestCasesTableTop50/)
[Flaky test cases table (TOP-50)](/dashboards-and-widgets/FlakyTestCasesTableTop50/)
[Unique bugs table](/dashboards-and-widgets/UniqueBugsTable/) |
+| **Trend analysis report** | The trends in test results over time. | [Most failed test-cases table (TOP-50)](/dashboards-and-widgets/MostFailedTestCasesTableTop50/)
[Flaky test cases table (TOP-50)](/dashboards-and-widgets/FlakyTestCasesTableTop50/)
[Failed cases trend chart](/dashboards-and-widgets/FailedCasesTrendChart/)
[Passing rate summary](/dashboards-and-widgets/PassingRateSummary) |
+| **Failure analysis report** | The failed test cases and their details. | [Most failed test-cases table (TOP-50)](/dashboards-and-widgets/MostFailedTestCasesTableTop50/)
[Flaky test cases table (TOP-50)](/dashboards-and-widgets/FlakyTestCasesTableTop50/)
[Failed cases trend chart](/dashboards-and-widgets/FailedCasesTrendChart/)
[Most popular pattern table (TOP-20)](/dashboards-and-widgets/MostPopularPatternTableTop20/) |
+| **Execution history report** | The historical data of test runs. | [Passing rate summary](/dashboards-and-widgets/PassingRateSummary)
[Launches duration chart](/dashboards-and-widgets/LaunchesDurationChart/)
[Investigated percentage of launches](/dashboards-and-widgets/InvestigatedPercentageOfLaunches/)
[Test-cases growth trend chart](/dashboards-and-widgets/TestCasesGrowthTrendChart/) |
+
+## QA and test automation metrics in ReportPortal
+
+ReportPortal provides various metrics for improving quality assurance and the overall effectiveness of the testing process.
+
+| Metric | Description | Widget |
+|-----------------------------------| --|------------|
+| **Passed/Failed rates** | The percentage of test cases that are passing or failing during test execution. | [Passing rate per launch](/dashboards-and-widgets/PassingRatePerLaunch/)
[Passing rate summary](/dashboards-and-widgets/PassingRateSummary/)
[Launch statistics chart](/dashboards-and-widgets/LaunchStatisticsChart/)
[Overall statistics](/dashboards-and-widgets/OverallStatistics/)
[Launch execution and issue statistic](/dashboards-and-widgets/LaunchExecutionAndIssueStatistic/) |
+| **Execution time** | The time it takes to execute test suites or individual test cases. | [Launches duration chart](/dashboards-and-widgets/LaunchesDurationChart/)
[Most time-consuming test cases widget (TOP-20)](/dashboards-and-widgets/MostTimeConsumingTestCasesWidgetTop20/) |
+| **Defect density** | The number of defects found per unit of code or test case provides a quantitative perspective on the software quality of a given system under test. | [Component health check](/dashboards-and-widgets/ComponentHealthCheck/) |
+| **Test case success rate** | The percentage of successful test cases out of the total executed highlights the reliability of the test. | [Passing rate per launch](/dashboards-and-widgets/PassingRatePerLaunch/)
[Passing rate summary](/dashboards-and-widgets/PassingRateSummary/)
[Launch statistics chart](/dashboards-and-widgets/LaunchStatisticsChart/)
[Overall statistics](/dashboards-and-widgets/OverallStatistics/)
[Launch execution and issue statistic](/dashboards-and-widgets/LaunchExecutionAndIssueStatistic/) |
+| **Regression test effectiveness** | The capability of regression tests to detect new defects or issues. | [Overall statistics](/dashboards-and-widgets/OverallStatistics/), with special defect type for issues found in regression.
[Unique bugs table](/dashboards-and-widgets/UniqueBugsTable/), with special defect type for issues found in regression. |
+| **Error/failure distribution** | The frequency and distribution of test failures across defined components or modules within a given system under test. | [Component health check](/dashboards-and-widgets/ComponentHealthCheck/) |
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/TableComponentHealthCheck.mdx b/versioned_docs/version-26.1/dashboards-and-widgets/TableComponentHealthCheck.mdx
new file mode 100644
index 0000000000..25fece9c4d
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/TableComponentHealthCheck.mdx
@@ -0,0 +1,111 @@
+---
+sidebar_position: 25
+sidebar_label: Table Component health check
+description: See which components need attention, compare metrics across builds, and quickly investigate failures to keep your system running smoothly.
+---
+
+# Table Component health check
+
+Shows the detailed statistics of the application components which are indicated by the specified attributes with an ability to exclude Skipped tests from the statistics.
+As far as the widget contains complicated queries, the widget can be rendering some time (~10 min).
+
+:::note
+To use this widget, you need to report (or manually add) attributes to test items.
+:::
+
+## Widget's parameters:
+
+- Filter
+- Parameters: All Launches/Latest Launches
+- Checkbox 'Exclude Skipped Tests from Statistics'
+- The minimum allowable passing rate for the component: possible values range from 50 - 100%. The default value is 100%.
+- Attribute key for the first level (mandatory)
+- Attribute key for the 2nd to 10th levels (optional)
+- Custom column (enter an attribute key - optional)
+- Sorting: 'Sort By' dropdown with the options 'Custom Column', 'Total', 'Passing Rate', 'Failed Items'. The default value is 'Passing Rate'.
+
+
+
+When the **checkbox 'Exclude Skipped tests from statistics' is selected**, the passing rate is calculated based on the total number of test cases, excluding the skipped tests.
+
+When the **checkbox 'Exclude Skipped tests from statistics' is not selected**, the passing rate is calculated based on the total number of test cases, including the skipped tests.
+
+## Widget View
+
+The widget has a table view. Each line contains information about one component (one unique attribute value):
+
+- Component name
+- Component passing rate
+- Statistics: Total/Passed/Failed/Skipped/Product bugs/ Automation bugs/System issues/To investigate
+- Information about attribute value in the custom column
+
+The total line presents a summary of all components.
+
+
+
+When you click on **'Total'** test cases for the component and checkbox 'Exclude Skipped tests from statistics' is not selected, system redirects you to the test item view. Test items with statuses Passed, Failed, Interrupted, Skipped are displayed.
+
+When you click on **'Total'** test cases for the component and checkbox 'Exclude Skipped tests from statistics' is selected, system redirects you to the test item view. Test items with statuses Passed, Failed and Interrupted are displayed.
+
+When you click on **'Passed'** test cases for the component (if any) and checkbox 'Exclude Skipped tests from statistics' is not selected, system redirects you to the test item view. Test items with statuses Passed are displayed.
+
+When you click on **'Passed'** test cases for the component (if any) and checkbox 'Exclude Skipped tests from statistics' is selected, system redirects you to the test item view. Test items with statuses Passed are displayed.
+
+When you click on **'Failed'** test cases for the component (if any) and checkbox 'Exclude Skipped tests from statistics' is not selected, system redirects you to the test item view. Test items with statuses Failed, Interrupted are displayed.
+
+When you click on **'Failed'** test cases for the component (if any) and checkbox 'Exclude Skipped tests from statistics' is selected system redirects you to the test item view. Test items with statuses Failed, Interrupted are displayed.
+
+When you click on **Skipped** test cases for the component (if any) and checkbox 'Exclude Skipped tests from statistics' is not selected, system redirects you to the test item view. Test items with statuses Skipped are displayed.
+
+**Custom Column**
+
+Why might you need a custom column? Let's explore this through an example.
+
+## Use case #1
+
+**Use Case:** You need to understand the impact of failed test cases.
+
+**Problem:** You have created a Component Health Check widget and can view a list of features along with their passing rate. However, you cannot ascertain the significance of the failed features.
+
+**Solution:** For all test executions, add attributes with the attribute key 'priority: XXX'. For instance:
+
+- priority: low
+- priority: major
+- priority: critical
+
+Then, in the widget wizard, add the attribute key 'priority' in the custom column field. This action enables the system to include information regarding the priority of each feature in the widget view.
+
+**Custom Sorting**
+
+You can select how components should be sorted in the table. Possible criteria include:
+
+- Total
+- Passing Rate
+- Custom Column
+- Failed Items
+
+## Use case #2
+
+**Use Case:** To track information about the latest version without updating the filter.
+
+**Problem:** As a test lead, you want to track information about the latest results without having to make additional adjustments. Your version contains several launches: a launch with API test cases, a launch with UI test cases, and a launch with Integration test cases. You aim to track the summary statistics of the latest results for the API launch, UI launch, and Integration launch. For this, you've added an attribute 'version: XXX' to all the necessary launches, denoting the number of versions. You've also created a filter including all launches with the respective attribute. Now, you can create an Overall Statistics widget which will show you a summary of the latest results for version: xxx. But whenever you run a new version (for instance, version: xxx+1), you have to repeatedly carry out the previous steps - creating the filter and updating the widget.
+
+**Solution:** To avoid these redundant steps, create a filter that includes three launches: API, UI, and Integration. Subsequently, create a Component Health Check widget (table view) with this filter and add the attribute key 'version' for grouping. Now, you will see a summary for the latest version every day. Whenever a new version enters the system, the widget automatically updates to remove information about the previous version and adds information about the latest version.
+
+
+
+## Use case #3
+
+**Use Case:** To track information about components such as features, browsers, platforms, etc.
+
+**Problem:** You are running different launches: API launch, UI launch, and Integration launch. These three launches include test cases that belong to different features. You need to track overall statistics for features, not for launches.
+
+**Solution:** Create a filter that includes the three launches: API launch, UI launch, and Integration launch. Then, create a Component Health Check widget (table view) with this filter and add the attribute key 'feature' for grouping. As a result, you will see a summary of all features across various launches.
+
+
+
+
+
+:::important
+The Component Health Check widget (table view) is the first widget to use a materialized view in PostgreSQL. The creation of this view takes time. As a result, information about new launches in the filter is added dynamically. Therefore, users should manually update the widget by clicking on the update button. The time of the last update is displayed on the widget.
+:::
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/TestCaseSearch.mdx b/versioned_docs/version-26.1/dashboards-and-widgets/TestCaseSearch.mdx
new file mode 100644
index 0000000000..1d1aeb4b3a
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/TestCaseSearch.mdx
@@ -0,0 +1,123 @@
+---
+sidebar_position: 27
+sidebar_label: Test Case Search widget
+description: Find specific test cases by name or attributes across all launches. Search, filter, and drill down into test details using qa metrics dashboard.
+---
+
+# Test case search
+
+Allows finding a test case by name or attribute throughout all launch executions within the same project.
+
+## Widget's parameters:
+
+- Widget name
+- Description
+
+## Widget view
+
+### Refine section:
+
+- "Test name" text field. Condition dropdown is disabled. By default – cnt (contains)
+- "Attribute" text field – key and value options
+- "Display launches" toggle – default state: OFF
+- "Edit" icon
+- "Update" icon
+- "Cross" icon
+
+### Table section:
+
+- Name – name of the test
+- Status – status of the test
+- Start Time – start time of the test
+- Defect type
+
+:::note
+The widget data is displayed in view mode. Navigate to the step level of the launch by clicking on the test name to make the changes under the test case.
+:::
+
+***Default state***
+
+
+
+***Widget data***
+
+
+
+:::important
+The search in the "Test name" field is performed for test items of type "Step".
+:::
+
+When the "Test name" is provided, "attribute" field is disabled.
+
+
+
+When "Attribute" is added, "Test name" field is disabled.
+
+You can filter test cases by full match of key and value fields, or by attribute "value" only (when step item has empty "key"). Only one attribute can be specified.
+
+***Attribute with key and value***
+
+
+
+***Attribute with value only***
+
+
+
+:::tip
+To ensure optimal search performance, avoid using special characters in search queries. Instead, use only Latin alphabetic and numeric characters.
+
+**Reason:** PostgreSQL does not index special characters, meaning queries containing them trigger a full-table scan. This can noticeably impact search performance, particularly for large datasets or when no matching results are found.
+
+**Wildcard Behavior:**
+Certain special characters, such as ```_``` and ```%```, function as wildcard symbols when placed at the beginning or end of a query.
+
+**Example:** The query ```_atch``` will return results like patch, since ```_``` acts as a placeholder for any single character.
+:::
+
+The search results display the first 10 items found, sorted by start time in descending order.
+
+Besides attribute and test name, you can also filter the data based on test status.
+
+
+
+If more than one page exists for the specified search criteria, a "Load more" button appears at the bottom of the widget.
+
+
+
+By clicking "Load more", additional 10 results (or less if available) appear. Previously loaded results remain visible and are supplemented with new data. If at least one more page is available, the "Load more" button continues to appear at the bottom of the widget.
+
+If more than 30 pages exist for the specified search criteria, the "Load more" button becomes disabled after loading the 30th page. The limit for the widget is 300 latest test cases.
+
+
+
+When the "Display launches" toggle is ON, the displayed results are grouped by launch execution and parent items (Launch/suite/test).
+
+
+
+By clicking on the "Update" icon the page is refreshed a new request with specified in the widget parameters is sent. Only the first page is displayed.
+
+
+
+By clicking on the test name, the user is redirected to the test's log level in a new tab (the same action occurs when clicking the icon next to the test name).
+
+
+
+If a test item has a long description, an arrow appears to expand it.
+
+
+
+
+
+When hovering over the Start Time field, the format changes while hovering; clicking changes it per application settings.
+
+
+
+Sorting is available by the Start Time field, with descending order set by default. Users can switch between ascending and descending order.
+
+By clicking the link to the bug tracking system, the ticket in the BTS opens.
+
+
+
+
+
+
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/TestCasesGrowthTrendChart.mdx b/versioned_docs/version-26.1/dashboards-and-widgets/TestCasesGrowthTrendChart.mdx
new file mode 100644
index 0000000000..3dc3c23287
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/TestCasesGrowthTrendChart.mdx
@@ -0,0 +1,44 @@
+---
+sidebar_position: 11
+sidebar_label: Test-cases growth trend chart
+description: Monitor the addition of new test cases in each launch, identify growth patterns, and assess testing coverage to optimize your test strategy.
+---
+
+# Test-cases growth trend chart
+
+The widget can be used in two modes - Launch mode and Timeline mode:
+
+- The widget in the Launch mode shows the increment of test-cases from run to run,
+- The widget in the Timeline mode shows the increment of test-cases distributed by dates (in launches with the largest number of test-cases per day).
+
+**Widget's parameters:**
+
+- Filter: At least one filter is required
+- Items: 1-150. The default meaning is 50.
+- Mode: Launch or Timeline.
+
+**Widget view**
+
+The widget view in Launch mode:
+
+- The X-axis shows launches numbers and launches names on hover.
+- Y-axis shows the increment of test-cases.
+
+The tooltip on mouse hover over the chart area shows launch details: launch name and number, launch start time and launch statistics - total number of test cases and test cases growth.
+
+
+
+The widget view in Timeline mode:
+
+- The X-axis shows dates and weekdays.
+- Y-axis shows the increment of test-cases in launches with the largest number of test-cases per day.
+
+The tooltip on mouse hover over the chart area shows launch details: date and launch statistics - total number of test cases and test cases growth.
+
+The widget has clickable sections when you click on a specific section in the widget, the system forwards you to the launch view for the appropriate selection.
+
+
+
+:::note
+The widget doesn't contain "IN PROGRESS" launches.
+:::
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/UniqueBugsTable.mdx b/versioned_docs/version-26.1/dashboards-and-widgets/UniqueBugsTable.mdx
new file mode 100644
index 0000000000..1136204322
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/UniqueBugsTable.mdx
@@ -0,0 +1,32 @@
+---
+sidebar_position: 14
+sidebar_label: Unique bugs table
+description: Track unique bugs posted to bug tracking systems. View bug details, submission dates, and linked test items using QA dashboard tool.
+---
+
+# Unique bugs table
+
+The widget shows real identified bugs, posted to the Bug Tracking System from ReportPortal, and existing bugs, that were added to the items on ReportPortal.
+
+**Widget's parameters:**
+
+- Filter: At least one filter is required
+- Items: 1-150. The default meaning is 10.
+
+**Widget view**
+
+The widget has a table view and bugs that are found are then sorted by the date they were posted or added.
+
+The widget has the following data displayed:
+
+- Bug ID - links to the issue in Bug Tracking System.
+- Found in - links to the test item, to which the bug was posted/added.
+- Submit date - the date the bug was submitted/added. Time is displayed in 'time ago' format (i.e. "10 minutes ago"). On mouse hover, the system should display accurate action time.
+- Submitter - user, who submitted/added the bug.
+
+
+
+:::note
+The bugs from launches "IN PROGRESS" are not shown on the widget.
+In case a bug is found in multiple items, all of the items will be listed in the "Found in" column.
+:::
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/WidgetCreation.mdx b/versioned_docs/version-26.1/dashboards-and-widgets/WidgetCreation.mdx
new file mode 100644
index 0000000000..b136a102e2
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/WidgetCreation.mdx
@@ -0,0 +1,68 @@
+---
+sidebar_position: 4
+sidebar_label: Widget Creation
+description: Create widgets to visualize trends, failures, and KPIs. Use templates and filters to build a clear test automation metrics dashboard tailored to your needs.
+---
+
+# Widget Creation
+
+In our test automation dashboard widgets contain special graphical control elements that were designed to provide a simple and
+easy-to-use way of displaying and analyzing your automation trends and data.
+
+:::note
+Fullscreen widgets auto-refresh every 30 seconds.
+:::
+
+The widgets can be added to dashboards on the "Dashboards" tab. Widgets will be visible within the project, they are created.
+
+## Create widget
+
+To create a new widget, perform the following steps:
+
+1. Navigate to the "All Dashboards" page and create a new dashboard or choose the existing one.
+
+2. Click the "Add New Widget" button.
+
+3. The Widget Wizard will be opened. To add a new widget, you need to pass all the required steps.
+
+ • Step 1. Select the template of the widget (detailed description is below).
+
+ • Step 2. Select a filter from the list below or create a new filter. Search functionality helps to find the filter quicker. Select other widget options: Criteria, Items, Launch or Timeline mode (if applicable for selected widget template)
+
+ • Step 3. Enter a widget name and description.
+ A widget name should be unique for a user on the project.
+
+4. After you have completed all steps, click the "Save" button. The new widget will be added to the dashboard on the top.
+
+Widgets are automatically refreshed every minute.
+
+
+
+## Predefined widgets types
+
+There are 15 widget templates in ReportPortal for tracking different KPI:
+
+| KPI | Widget template |
+|----------------------------------------------------------------------------------|------------------------------------------------------------------------|
+| Track the reasons of failures | [Launch statistics chart](/dashboards-and-widgets/LaunchStatisticsChart) |
+| Passing rate for filter summary, and structure of problems | [Overall statistics](/dashboards-and-widgets/OverallStatistics) |
+| Track the longest launch in the filter | [Launches duration chart](/dashboards-and-widgets/LaunchesDurationChart) |
+| Track the passing rate and structure of problems of the latest run in the system | [Launch execution and issue statistic](/dashboards-and-widgets/LaunchExecutionAndIssueStatistic) |
+| Track the activity of your QA team | [Project activity panel](/dashboards-and-widgets/ProjectActivityPanel) |
+| Track the growth of new test cases in your build | [Test-cases growth trend chart](/dashboards-and-widgets/TestCasesGrowthTrendChart) |
+| Track the speed of test failure analysis | [Investigated percentage of launches](/dashboards-and-widgets/InvestigatedPercentageOfLaunches) |
+| Follow up information about only important launches for your team | [Launches table](/dashboards-and-widgets/LaunchesTable) |
+| Track new BTS issues in your run | [Unique bugs table](/dashboards-and-widgets/UniqueBugsTable) |
+| Track the most unstable test cases in the build | [Most failed test-cases table](/dashboards-and-widgets/MostFailedTestCasesTableTop50) |
+| See the trend of the number of failed test cases from build to build | [Failed cases trend chart](/dashboards-and-widgets/FailedCasesTrendChart) |
+| See the trend of the number of failed and skipped test cases from build to build | [Non-passed test-cases trend chart](/dashboards-and-widgets/NonPassedTestCasesTrendChart) |
+| Compare two launches together | [Different launches comparison chart](/dashboards-and-widgets/DifferentLaunchesComparisonChart) |
+| Track passing rate for one launch | [Passing rate per launch](/dashboards-and-widgets/PassingRatePerLaunch) |
+| Track passing rate for the build | [Passing rate summary](/dashboards-and-widgets/PassingRateSummary) |
+| Find the most flakiest test in the build | [Flaky test cases table (TOP-50)](/dashboards-and-widgets/FlakyTestCasesTableTop50) |
+| Compare statistics for different builds on one graph | [Cumulative trend chart](/dashboards-and-widgets/CumulativeTrendChart) |
+| Track the most popular failure reasons in the build | [Most popular pattern table (TOP-20)](/dashboards-and-widgets/MostPopularPatternTableTop20) |
+| Track the passing rate of different components of your application | [Component health check](/dashboards-and-widgets/ComponentHealthCheck) |
+| Track the statistics of different components of your application | [Component health check (table)](/dashboards-and-widgets/TableComponentHealthCheck) |
+| Track the top-20 tests with longest execution time | [Most time-consuming test cases widget (TOP-20)](/dashboards-and-widgets/MostTimeConsumingTestCasesWidgetTop20) |
+| Find test case by name and/or attribute through out all launches executions | [Test case search](/dashboards-and-widgets/TestCaseSearch) |
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/WorkWithDashboards.mdx b/versioned_docs/version-26.1/dashboards-and-widgets/WorkWithDashboards.mdx
new file mode 100644
index 0000000000..726edf1823
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/WorkWithDashboards.mdx
@@ -0,0 +1,204 @@
+---
+sidebar_position: 3
+sidebar_label: Work with dashboards
+description: Create, edit, clone, and manage dashboards in ReportPortal. Build focused views with widgets and videos to monitor releases on a live test results dashboard.
+---
+
+# Work with dashboards
+
+Dashboards on our continuous testing platform are special containers, where users can create widgets.
+
+To create and use dashboards, navigate to the "Dashboards" tab.
+
+You can create a dashboard that will be visible on the current project.
+
+:::note
+Up to 3,000 dashboards per project (since v24.2).
+Names must be 3–55 characters and unique per user per project.
+:::
+
+## Create dashboard
+
+To create a new dashboard, perform the following steps:
+
+1. Navigate to the "Dashboards" page and click "Add New
+Dashboard" button in the top right corner of the page.
+
+2. The "Add New Dashboard" popup will be opened.
+
+3. Enter a name for a new dashboard. The
+name should be between 3 to 55 characters long and unique for the user per the
+project. You can add the description for your dashboard as well.
+
+4. Click "Add" button. The new dashboard will be created.
+
+Now you can add widgets to the dashboard.
+
+
+
+## Edit dashboard
+
+To edit a dashboard, perform the following steps:
+
+1. Navigate to "All Dashboards" page.
+
+2. Click the "Edit" icon in the top corner of the dashboard or
+click the name of the dashboard and click 'Edit' button in the header of the dashboard.
+
+3. The "Edit Dashboard" popup will be opened.
+
+4. Make the necessary changes and click "Update" button. The dashboard will
+be displayed with updates.
+
+
+
+## Delete dashboard
+
+To remove a dashboard from the project, perform the following steps:
+
+1. Click the "Delete" button in the top right corner of the dashboard.
+
+2. Click the "Delete" button on confirmation pop-up.
+
+The dashboard and related widgets will be deleted from the system.
+
+
+
+## Dashboard cloning
+
+Dashboards simplify tracking key metrics and project performance. However, manually recreating the same dashboard for multiple projects can be time-consuming and inefficient.
+
+With the dashboard cloning feature, you only need to create a reference dashboard once you have an instance deployed for your organization. You can then replicate this dashboard across projects without wasting effort on manually recreating the same sequence of widgets from scratch.
+
+ReportPortal offers two ways to clone dashboards:
+- through the UI
+- via API
+
+**Permissions:**
+Any user in a project, regardless of their role, can use the dashboard cloning feature.
+If a user has access to multiple projects, they can clone a dashboard to any of them.
+An admin can perform dashboard cloning without being assigned to a specific project.
+
+### Dashboard cloning via UI
+
+#### Within a single project
+
+To duplicate dashboard via the UI within the same project:
+
+1. Log in to ReportPortal.
+2. Open Dashboards page.
+3. Click ‘Copy’ icon next to the desired dashboard.
+4. Select ‘Duplicate’ option from the dropdown menu.
+
+
+
+5. In the modal window, update the duplicated dashboard's name if necessary.
+
+
+
+6. Click ‘Duplicate’ button.
+
+As a result:
+
+1. The dashboard will be copied along with all its widgets, maintaining the same order as in the initial dashboard.
+2. If you haven't specified a new name for the duplicated dashboard, the word ‘copy’ will be added to the name.
+
+
+
+3. The ‘Owner’ field will display the name of the user who duplicated the dashboard, rather than the name of the original creator.
+4. New filters will appear on the filters page.
+
+
+
+#### From one project to another
+
+To copy dashboard configuration to another project:
+
+1. Log in to ReportPortal.
+2. Open Dashboards page.
+3. Click ‘Copy’ icon next to the desired dashboard.
+4. Select ‘Copy dashboard configuration to clipboard’ option from the dropdown menu.
+
+
+
+5. Open Dashboards page on another project.
+6. Click ‘Add New Dashboard’ button at the top of the page.
+
+
+
+7. Enter the name of a new dashboard.
+8. Click ‘Show dashboard configuration’ link.
+
+
+
+9. Click ‘Paste configuration’ button.
+
+
+
+10. Click ‘Add’ button.
+
+
+
+As a result:
+
+1. The dashboard will be copied along with all its widgets, maintaining the same order as in the initial dashboard.
+
+
+
+2. If you haven't specified a new name for the dashboard, the word ‘copy’ will be added to the name.
+3. The ‘Owner’ field will display the name of the user who performed the dashboard configuration copying, rather than the name of the original dashboard creator.
+4. New filters will appear on the filters page.
+
+### Dashboard cloning via API
+
+To clone the dashboard configuration via API:
+
+1. Log in to ReportPortal.
+2. Open the API section on the bottom menu.
+
+
+
+3. Click on ‘Dashboard’ controller link.
+
+
+
+4. Expand ```/v1/{projectName}/dashboard/{dashboardId}/config``` endpoint.
+5. Click ‘Try it out’ button.
+
+
+
+6. Fill dashboard ID and project name fields.
+
+
+
+
+
+7. Click ‘Execute’ button.
+8. Copy dashboard configuration.
+
+
+
+To add the copied dashboard configuration to another project via API:
+
+1. Expand ```/v1/{projectName}/dashboard/preconfigured``` endpoint.
+2. Click ‘Try it out’ button.
+
+
+
+3. Fill project name field.
+4. Specify new dashboard name in the Request body field.
+
+
+
+5. Paste copied dashboard configuration the Request body field instead of sample widgets.
+6. Click ‘Execute’ button.
+
+:::important
+Be careful with the JSON syntax.
+:::
+
+Dashboard ID in the response corresponds to cloned dashboard.
+
+
+
+
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/_category_.json b/versioned_docs/version-26.1/dashboards-and-widgets/_category_.json
new file mode 100644
index 0000000000..7d80f4985e
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/_category_.json
@@ -0,0 +1,5 @@
+{
+ "label": "Dashboards and widgets",
+ "position": "15",
+ "link": {"type": "doc", "id": "index"}
+}
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning1.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning1.png
new file mode 100644
index 0000000000..db280535b5
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning1.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning10.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning10.png
new file mode 100644
index 0000000000..5bdcf586e9
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning10.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning11.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning11.png
new file mode 100644
index 0000000000..105d81176e
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning11.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning12.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning12.png
new file mode 100644
index 0000000000..db06cd59a9
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning12.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning13.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning13.png
new file mode 100644
index 0000000000..5ff50a0321
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning13.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning14.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning14.png
new file mode 100644
index 0000000000..221a18067e
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning14.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning15.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning15.png
new file mode 100644
index 0000000000..7e63c2b5b0
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning15.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning16.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning16.png
new file mode 100644
index 0000000000..64480d59a4
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning16.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning17.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning17.png
new file mode 100644
index 0000000000..caa9d3b00b
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning17.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning18.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning18.png
new file mode 100644
index 0000000000..8e8a839598
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning18.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning19.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning19.png
new file mode 100644
index 0000000000..cf9d580353
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning19.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning2.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning2.png
new file mode 100644
index 0000000000..ce46f4d46c
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning2.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning20.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning20.png
new file mode 100644
index 0000000000..d877bdc890
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning20.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning3.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning3.png
new file mode 100644
index 0000000000..9f453a96d2
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning3.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning4.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning4.png
new file mode 100644
index 0000000000..cb9246c33f
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning4.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning5.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning5.png
new file mode 100644
index 0000000000..f836df6714
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning5.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning6.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning6.png
new file mode 100644
index 0000000000..bb789e951a
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning6.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning7.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning7.png
new file mode 100644
index 0000000000..995c92cc14
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning7.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning8.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning8.png
new file mode 100644
index 0000000000..b07dadd46d
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning8.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning9.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning9.png
new file mode 100644
index 0000000000..1231123e02
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboard-cloning/DashboardCloning9.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboards/BuildReport.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboards/BuildReport.png
new file mode 100644
index 0000000000..073627bc58
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboards/BuildReport.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboards/LaunchReport.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboards/LaunchReport.png
new file mode 100644
index 0000000000..f502a7824b
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/dashboards/LaunchReport.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckArrow.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckArrow.png
new file mode 100644
index 0000000000..2c890e177c
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckArrow.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckCreation.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckCreation.png
new file mode 100644
index 0000000000..684136be1b
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckCreation.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckFirstLevel.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckFirstLevel.png
new file mode 100644
index 0000000000..58cbf06295
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckFirstLevel.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckPassedFailed.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckPassedFailed.png
new file mode 100644
index 0000000000..a214740e89
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckPassedFailed.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckScheme1.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckScheme1.png
new file mode 100644
index 0000000000..af792433e3
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckScheme1.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckScheme2.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckScheme2.png
new file mode 100644
index 0000000000..fab7e50602
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckScheme2.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckScheme3.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckScheme3.png
new file mode 100644
index 0000000000..66a488bd42
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckScheme3.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckScheme4.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckScheme4.png
new file mode 100644
index 0000000000..701f5957e6
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckScheme4.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckScheme5.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckScheme5.png
new file mode 100644
index 0000000000..e1b4390a4e
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckScheme5.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckScheme6.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckScheme6.png
new file mode 100644
index 0000000000..b40fb4bfca
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckScheme6.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckScheme7.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckScheme7.png
new file mode 100644
index 0000000000..933945559a
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckScheme7.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckScheme8.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckScheme8.png
new file mode 100644
index 0000000000..1b122dbebb
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckScheme8.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckScheme9.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckScheme9.png
new file mode 100644
index 0000000000..289ab4976a
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckScheme9.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckSecondLevel.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckSecondLevel.png
new file mode 100644
index 0000000000..8edd182fc3
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckSecondLevel.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckTableBuild.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckTableBuild.png
new file mode 100644
index 0000000000..a0a0508974
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckTableBuild.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckTableCreate.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckTableCreate.png
new file mode 100644
index 0000000000..a4e57429c1
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckTableCreate.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckTableFeature.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckTableFeature.png
new file mode 100644
index 0000000000..b395ec9cbe
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckTableFeature.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckTableView.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckTableView.png
new file mode 100644
index 0000000000..5c9bb6303f
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckTableView.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckTests1.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckTests1.png
new file mode 100644
index 0000000000..e2fce1fc26
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckTests1.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckTests2.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckTests2.png
new file mode 100644
index 0000000000..b7683e0959
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ComponentHealthCheckTests2.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/CumulativeCreation.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/CumulativeCreation.png
new file mode 100644
index 0000000000..6737843aeb
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/CumulativeCreation.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/CumulativeFirstLevelNumberOfTestCases.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/CumulativeFirstLevelNumberOfTestCases.png
new file mode 100644
index 0000000000..39fe7c05b2
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/CumulativeFirstLevelNumberOfTestCases.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/CumulativeScheme1.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/CumulativeScheme1.png
new file mode 100644
index 0000000000..afee3bb7cd
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/CumulativeScheme1.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/CumulativeScheme2.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/CumulativeScheme2.png
new file mode 100644
index 0000000000..29c8b73feb
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/CumulativeScheme2.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/CumulativeScheme3.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/CumulativeScheme3.png
new file mode 100644
index 0000000000..b20e647bdb
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/CumulativeScheme3.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/CumulativeScheme4.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/CumulativeScheme4.png
new file mode 100644
index 0000000000..36b3bdf238
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/CumulativeScheme4.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/CumulativeScheme5.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/CumulativeScheme5.png
new file mode 100644
index 0000000000..c76a751bd1
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/CumulativeScheme5.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/CumulativeTrendChart.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/CumulativeTrendChart.png
new file mode 100644
index 0000000000..dd6fc9635f
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/CumulativeTrendChart.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/DifferentLaunchesComparisonChart.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/DifferentLaunchesComparisonChart.png
new file mode 100644
index 0000000000..678e285590
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/DifferentLaunchesComparisonChart.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/FailedCasesTrendChart.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/FailedCasesTrendChart.png
new file mode 100644
index 0000000000..5ad00460f6
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/FailedCasesTrendChart.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/FlakyTestCasesTableWidget.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/FlakyTestCasesTableWidget.png
new file mode 100644
index 0000000000..cb0bc77b32
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/FlakyTestCasesTableWidget.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/InvestigatedPercentageOfLaunches.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/InvestigatedPercentageOfLaunches.png
new file mode 100644
index 0000000000..e27bfab99f
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/InvestigatedPercentageOfLaunches.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchExecutionAndIssueStatistic.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchExecutionAndIssueStatistic.png
new file mode 100644
index 0000000000..b3cfe13333
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchExecutionAndIssueStatistic.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchStatisticsChart1.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchStatisticsChart1.png
new file mode 100644
index 0000000000..7f560dd3a8
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchStatisticsChart1.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchStatisticsChart2.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchStatisticsChart2.png
new file mode 100644
index 0000000000..2ea11c1eaf
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchStatisticsChart2.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchStatisticsChart3.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchStatisticsChart3.png
new file mode 100644
index 0000000000..dc3d926d34
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchStatisticsChart3.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchStatisticsChart4.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchStatisticsChart4.png
new file mode 100644
index 0000000000..5f449b61c0
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchStatisticsChart4.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchStatisticsChart5.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchStatisticsChart5.png
new file mode 100644
index 0000000000..c8b1eddf4b
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchStatisticsChart5.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchStatisticsLineChart.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchStatisticsLineChart.png
new file mode 100644
index 0000000000..9a14aa2333
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchStatisticsLineChart.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchStatisticsLineChartTimeline.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchStatisticsLineChartTimeline.png
new file mode 100644
index 0000000000..7141c90a8d
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchStatisticsLineChartTimeline.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchStatisticsTrendChart.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchStatisticsTrendChart.png
new file mode 100644
index 0000000000..5f964b38df
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchStatisticsTrendChart.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchStatisticsTrendChartTimeline.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchStatisticsTrendChartTimeline.png
new file mode 100644
index 0000000000..85d2cde659
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchStatisticsTrendChartTimeline.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchesDurationChart.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchesDurationChart.png
new file mode 100644
index 0000000000..4f48587618
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchesDurationChart.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchesTable.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchesTable.png
new file mode 100644
index 0000000000..378a4fa8b7
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/LaunchesTable.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/MostFailedTestCases.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/MostFailedTestCases.png
new file mode 100644
index 0000000000..23834b3a1b
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/MostFailedTestCases.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/MostPopularPatternTable1.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/MostPopularPatternTable1.png
new file mode 100644
index 0000000000..3b16f31c20
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/MostPopularPatternTable1.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/MostPopularPatternTable2.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/MostPopularPatternTable2.png
new file mode 100644
index 0000000000..d947ae38c6
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/MostPopularPatternTable2.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/MostTimeConsumingTestCasesWidget.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/MostTimeConsumingTestCasesWidget.png
new file mode 100644
index 0000000000..785e30d6ac
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/MostTimeConsumingTestCasesWidget.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/NonPassedTestCasesTrendChart.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/NonPassedTestCasesTrendChart.png
new file mode 100644
index 0000000000..0ecd5d5455
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/NonPassedTestCasesTrendChart.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/OverallStatistics1.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/OverallStatistics1.png
new file mode 100644
index 0000000000..9bde45a77a
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/OverallStatistics1.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/OverallStatistics2.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/OverallStatistics2.png
new file mode 100644
index 0000000000..0492099f2e
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/OverallStatistics2.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRatePerLaunch1.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRatePerLaunch1.png
new file mode 100644
index 0000000000..cf33afb00d
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRatePerLaunch1.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRatePerLaunch2.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRatePerLaunch2.png
new file mode 100644
index 0000000000..badf9949ba
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRatePerLaunch2.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRatePerLaunch3.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRatePerLaunch3.png
new file mode 100644
index 0000000000..fdabace16a
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRatePerLaunch3.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRatePerLaunch4.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRatePerLaunch4.png
new file mode 100644
index 0000000000..22637970a3
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRatePerLaunch4.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRatePerLaunch5.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRatePerLaunch5.png
new file mode 100644
index 0000000000..a24495807f
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRatePerLaunch5.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRatePerLaunch6.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRatePerLaunch6.png
new file mode 100644
index 0000000000..d0422d1970
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRatePerLaunch6.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRatePerLaunch7.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRatePerLaunch7.png
new file mode 100644
index 0000000000..cc32648daa
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRatePerLaunch7.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRateSummary1.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRateSummary1.png
new file mode 100644
index 0000000000..06ee3b82a4
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRateSummary1.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRateSummary2.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRateSummary2.png
new file mode 100644
index 0000000000..f06d870b2e
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRateSummary2.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRateSummary3.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRateSummary3.png
new file mode 100644
index 0000000000..f1a03c936f
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRateSummary3.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRateSummary4.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRateSummary4.png
new file mode 100644
index 0000000000..1364737efd
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRateSummary4.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRateSummary5.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRateSummary5.png
new file mode 100644
index 0000000000..8adb0967fd
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRateSummary5.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRateSummary6.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRateSummary6.png
new file mode 100644
index 0000000000..7173e605bf
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRateSummary6.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRateSummary7.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRateSummary7.png
new file mode 100644
index 0000000000..649f906722
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/PassingRateSummary7.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ProductStatusWidget.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ProductStatusWidget.png
new file mode 100644
index 0000000000..f275d6c087
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ProductStatusWidget.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ProjectActivityPanel.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ProjectActivityPanel.png
new file mode 100644
index 0000000000..bacb5beb9c
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/ProjectActivityPanel.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch1.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch1.png
new file mode 100644
index 0000000000..5cb86e6371
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch1.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch10.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch10.png
new file mode 100644
index 0000000000..97b3653301
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch10.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch11.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch11.png
new file mode 100644
index 0000000000..63fc85a05e
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch11.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch12.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch12.png
new file mode 100644
index 0000000000..ba0e78a413
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch12.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch13.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch13.png
new file mode 100644
index 0000000000..2b46e41243
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch13.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch14.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch14.png
new file mode 100644
index 0000000000..b83197445c
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch14.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch15.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch15.png
new file mode 100644
index 0000000000..6f95e921e0
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch15.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch16.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch16.png
new file mode 100644
index 0000000000..b64c5aff2a
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch16.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch2.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch2.png
new file mode 100644
index 0000000000..bcb2b6f280
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch2.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch3.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch3.png
new file mode 100644
index 0000000000..885455e308
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch3.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch4.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch4.png
new file mode 100644
index 0000000000..181c69de9c
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch4.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch5.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch5.png
new file mode 100644
index 0000000000..d085d2565e
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch5.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch6.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch6.png
new file mode 100644
index 0000000000..8e5ed94f5b
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch6.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch7.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch7.png
new file mode 100644
index 0000000000..baf5472956
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch7.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch8.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch8.png
new file mode 100644
index 0000000000..d9bc52ded6
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch8.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch9.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch9.png
new file mode 100644
index 0000000000..ae239c9e9f
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCaseSearch9.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCasesGrowthTrendChart.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCasesGrowthTrendChart.png
new file mode 100644
index 0000000000..6d7819431f
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCasesGrowthTrendChart.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCasesGrowthTrendChartTimeline.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCasesGrowthTrendChartTimeline.png
new file mode 100644
index 0000000000..30697e0cc4
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TestCasesGrowthTrendChartTimeline.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TheMostTimeConsumingTestCasesWidgetTable.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TheMostTimeConsumingTestCasesWidgetTable.png
new file mode 100644
index 0000000000..c4088293d7
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/TheMostTimeConsumingTestCasesWidgetTable.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/UniqueBugsTable.png b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/UniqueBugsTable.png
new file mode 100644
index 0000000000..2b5ac105a9
Binary files /dev/null and b/versioned_docs/version-26.1/dashboards-and-widgets/img/widget-types/UniqueBugsTable.png differ
diff --git a/versioned_docs/version-26.1/dashboards-and-widgets/index.md b/versioned_docs/version-26.1/dashboards-and-widgets/index.md
new file mode 100644
index 0000000000..172119b5d1
--- /dev/null
+++ b/versioned_docs/version-26.1/dashboards-and-widgets/index.md
@@ -0,0 +1,18 @@
+---
+title: Dashboards and widgets
+description: Explore guides for dashboard & widget management, aiding effective, real-time test failure analytics.
+---
+
+# Dashboards and widgets
+
+The **Dashboards and widgets** section is designed to help users create a powerful, customized test automation results dashboard that visualizes essential test automation metrics in real-time. Dashboards in ReportPortal serve as central hubs for tracking and analyzing your project’s quality, providing an accessible way to understand complex test data. Here, you’ll find guidance on creating dashboards to consolidate your test automation report data, allowing you to present critical insights effectively to your team or stakeholders and promote collaborative dashboards in test reporting.
+
+Using widgets, you can customize your dashboard to display specific metrics that matter most to your project. Widgets enable you to view real-time data on test results, defect trends, launch statistics, and much more. From tracking project health to identifying areas for improvement, widgets offer granular insights that are essential for optimizing test automation processes.
+
+Each widget type is designed to display different aspects of your testing data, from passing rates and error patterns to execution times. You’ll learn how to configure each widget, add them to your dashboard, and arrange them for maximum clarity and usability. These visualizations not only make it easier to monitor ongoing test results but also streamline the process of creating and sharing test automation reports with your team.
+
+By leveraging dashboards and widgets effectively, you can enhance your testing workflows, keep your team informed, and ensure data-driven decisions are at the heart of your QA process.
+
+import DocCardList from '@theme/DocCardList';
+
+
diff --git a/versioned_docs/version-26.1/developers-guides/APIDifferencesBetweenV4AndV5.md b/versioned_docs/version-26.1/developers-guides/APIDifferencesBetweenV4AndV5.md
new file mode 100644
index 0000000000..5defb09949
--- /dev/null
+++ b/versioned_docs/version-26.1/developers-guides/APIDifferencesBetweenV4AndV5.md
@@ -0,0 +1,269 @@
+---
+sidebar_label: API differences between v4 and v5
+description: Compare API changes between ReportPortal v4 and v5 versions for seamless migration and integration with test automation reporting tool.
+---
+
+# API differences between v4 and v5
+
+## New endpoints
+
+### Activity controller
+
+GET `/v1/{projectName}/activity/{activityId}` - Get activity by id.
+
+---
+
+### Dashboard controller
+
+PUT `/v1/{projectName}/dashboard/{dashboardId}/{widgetId}}` - Add specified widget to dashboard.
+
+DELETE `/v1/{projectName}/dashboard/{dashboardId}/{widgetId}` - Delete specified widget from dashboard.
+
+---
+
+### Launch controller
+
+:::note
+Tags from v4 was replaced by attributes in v5.
+Attribute contains key and value. It may have null key, but non-null value.
+Attribute with null value is analog for v4 tag.
+:::
+GET `/v1/{projectName}/launch/attribute/keys` - Retrieve all unique attribute keys of project launches.
+
+GET `/v1/{projectName}/launch/attribute/values` - Retrieve all unique attribute values of project launches.
+
+GET `/v1/{projectName}/launch/status` - Get launches statuses.
+
+GET `/v1/{projectName}/launch/uuid/{launchUuid}` - Get launch by uuid.
+
+:::note
+Response from start(create) launch request contains object with key `id` and string value (example: `id="33fa80b9-8ec9-4d52-8cb7-68b7bb4070f1"`).
+It is not physical `id` in database. It is UUID (virtual id of launch, part of asynchronous reporting implementation).
+Using request above you can retrieve physical `id` from database of just reported launch and use it in next queries for items, filters etc.
+:::
+PUT `/v1/{projectName}/launch/info` - Bulk update launches attributes and descriptions.
+
+---
+
+### Log controller
+
+New functionality in v5 - [nested steps](https://github.com/reportportal/client-java/wiki/Nested-steps).
+
+GET `/v1/{projectName}/log/nested/{parentId}` - Get nested steps with logs for the parent test item.
+
+GET `/v1/{projectName}/log/uuid/{logUuid}` - Get log by uuid.
+
+POST `/v1/{projectName}/log/search/{itemId}` - Search test items with similar error logs.
+
+---
+
+### Plugin controller
+
+GET `/v1/plugin` - Get all available plugins.
+
+POST `/v1/plugin` - Upload new plugin.
+
+PUT `/v1/plugin/{pluginId}` - update specified plugin.
+
+DELETE `/v1/plugin/{pluginId}` - delete specified plugin.
+
+---
+
+### Project controller
+
+GET `/v1/project/analyzer/status` - Get indexing logs status for project.
+
+GET `/v1/project/export` - Export information about all projects.
+
+GET `/v1/project/list` - Retrieve info about all projects by filer.
+
+GET `/v1/project/names` - Get all project names.
+
+GET `/v1/project/names/search` - Search project names.
+
+GET `/v1/project/{projectName}/widget/{widgetCode}` - Get project widget by code.
+
+PUT `/v1/project/{projectName}/notification` - Update project notifications configuration.
+
+PUT `/v1/project/{projectName}/preference/{login}/{filterId}` - Add specified filter to user preference.
+
+DELETE `/v1/project/{projectName}/preference/{login}/{filerId}` - Remove specified filter from user preference.
+
+---
+
+### Project setting controller
+
+POST `/v1/{projectName}/settings/pattern` - Create pattern template for item's log messages pattern analysis.
+
+PUT `/v1/{projectName}/settings/pattern/{id}` - Update specified pattern template for item's log messages pattern analysis.
+
+DELETE `/v1/{projectName}/settings/pattern/{id}` - Delete specified pattern template for item's log messages pattern analysis.
+
+---
+
+### Test item controller
+
+:::note
+Tags from v4 was replaced by attributes in v5.
+Attribute contains key and value. It may have null key, but non-null value.
+Attribute with null value is analog for v4 tag.
+:::
+
+GET `/v1/{projectName}/item/attribute/keys` - Retrieve all unique attributes keys of specified launch.
+
+GET `/v1/{projectName}/item/attribute/keys/all` - Retrieve all unique attributes keys of specified launch.
+
+GET `/v1/{projectName}/item/attribute/values` - Retrieve all unique attributes values of specified launch.
+
+GET `/v1/{projectName}/item/ticket/ids` - Get tickets that contains a term as a part inside for specified launch.
+
+GET `/v1/{projectName}/item/uuid/{itemId}` - Get test item by uuid.
+
+:::note
+Response from start(create) test item request contains object with key `id` and string value (example: `id="1f8233b0-6a2d-4a82-989b-a33463287130"`).
+It is not physical `id` in database. It is UUID (virtual id of test item, part of asynchronous reporting implementation).
+Using request above you can retrieve physical `id` from database of just reported test item and use it in next queries for items, logs etc.
+:::
+PUT `/v1/{projectName}/item/info` - Bulk update items attributes and descriptions.
+
+PUT `/v1/{projectName}/item/issue/link` - Link external issue for specified test items.
+
+PUT `/v1/{projectName}/item/issue/unlink` - Unlink external issue for specified test items.
+
+---
+
+### User controller
+
+GET `/v1/user/export` - Export information about all users.
+
+GET `/v1/user/registration` - Get user bid info.
+
+GET `/v1/user/registration/info` - Validate user login and/or email.
+
+GET `/v1/user/search` - Search users by term.
+
+GET `/v1/user/{userName}/projects` - Retrieve all user projects.
+
+DELETE `/v1/user` - Delete specified users by ids.
+
+---
+
+### Widget controller
+
+New group of widgets that may have few levels
+
+GET `/v1/{projectName}/widget/multilevel/{widgetId}` - Get multilevel widget by id.
+
+---
+
+## New controllers
+
+#### Bug tracking system controller - replacement of external system controller.
+
+GET `/v1/bts/{integrationId}/fields-set` - Get list of fields required for posting ticket.
+
+GET `/v1/bts/{integrationId}/issue_types` - Get list of allowable issue types for bug tracking system.
+
+GET `/v1/bts/{projectName}/ticket/{ticketId}` - Get ticket from the bts integration.
+
+GET `/v1/bts/{projectName}/{integrationId}/fields-set` - Get list of fields required for posting ticket (project integration).
+
+GET `/v1/bts/{projectName}/{integrationId}/issue_types` - Get list of allowable issue types for bug tracking system (project integration).
+
+POST - `/v1/bts/{projectName}/{integrationId}/ticket` - Post ticket to the bts integration.
+
+---
+
+#### Integration controller
+
+GET `/v1/integration/global/all` - Get available global integrations.
+
+GET `/v1/integration/global/all/{pluginName}` - Get available global integrations for plugin.
+
+GET `/v1/integration/project/{projectName}/all` - Get available project integrations.
+
+GET `/v1/integration/project/{projectName}/all/{pluginName}` - Get available project integrations for plugin.
+
+GET `/v1/integration/{integrationId}` - Get specified global integration by id.
+
+GET `/v1/integration/{integrationId}/connection/test` - Test connection to the global integration.
+
+GET `/v1/integration/{projectName}/{integrationId}/connection/test` - Test connection to the integration through the project config.
+
+GET `/v1/integration/{projectName}/{integrationId}` - Get specified project integration by id.
+
+PUT `/v1/integration/{projectName}/{integrationId}` - Update specified project integration by id.
+
+PUT `/v1/integration/{integrationId}` - Update specified global integration by id.
+
+PUT `/v1/integration/{projectName}/{integrationId}/{command}` - Execute command to the integration instance.
+
+POST `/v1/integration/{pluginName}` - Create global integration.
+
+POST `/v1/integration/{projectName}/{pluginName}` - Create project integration instance.
+
+DELETE `/v1/integration/all/{type}` - Delete all global integrations by type.
+
+DELETE `/v1/integration/{projectName}/all/{type}` - Delete all project integrations by type.
+
+DELETE `/v1/integration/{integrationId}` - Delete specified global integration by id.
+
+DELETE `/v1/integration/{projectName}/{integrationId}` - Delete specified project integration by id.
+
+---
+
+#### Launch asynchronous controller
+
+POST `/v2/{projectName}/launch` - Start launch for specified project.
+
+POST `/v2/{projectName}/launch/merge` - Merge set of specified launches in common one.
+
+PUT `/v2/{projectName}/launch/{launchId}/finish` - Finish launch for specified project.
+
+---
+
+#### Test item asynchronous controller
+
+POST `/v2/{projectName}/item` - Start root test item.
+
+POST `/v2/{projectName}/item/{parentItem}` - Start child test item.
+
+PUT `/v2/{projectName}/item/{testItemId}` - Finish test item.
+
+---
+
+#### Log asynchronous controller
+
+POST `/v2/{projectName}/log` - Create log.
+
+---
+
+## Differences in reporting
+
+### Launch rerun
+[Rerun developers guide](/developers-guides/RerunDevelopersGuide)
+
+### Nested steps
+[Nested steps wiki](https://github.com/reportportal/client-java/wiki/Nested-steps)
+
+### Launch logs
+
+Create log request contains fields `launchUuid` and `itemUuid`. At least one of them should not be null.
+
+```json
+{
+ "itemUuid": "7f32fb6a-fcc2-4ecb-a4f7-780c559a37ca",
+ "launchUuid": "6fd4638d-90e2-4f52-a9bd-bf433ebfb0f3"
+}
+```
+
+If they both are present - log will be saved as test item log.
+If only `itemUuid` is present - log will be saved as test item log.
+If only `launchUuid` is present - log will be saved as launch log.
+
+Java client has static methods for launch log reporting:
+
+- [emitLaunchLog(Function<String, SaveLogRQ> logSupplier)](https://github.com/reportportal/client-java/blob/20b1dda7681301acd86d2d9c9dbcbd7991890cdc/src/main/java/com/epam/reportportal/service/ReportPortal.java#L160)
+- [emitLaunchLog(final String message, final String level, final Date time)](https://github.com/reportportal/client-java/blob/20b1dda7681301acd86d2d9c9dbcbd7991890cdc/src/main/java/com/epam/reportportal/service/ReportPortal.java#L192)
+- [emitLaunchLog(final String message, final String level, final Date time, final File file)](https://github.com/reportportal/client-java/blob/20b1dda7681301acd86d2d9c9dbcbd7991890cdc/src/main/java/com/epam/reportportal/service/ReportPortal.java#L233)
+- [emitLaunchLog(final ReportPortalMessage message, final String level, final Date time)](https://github.com/reportportal/client-java/blob/20b1dda7681301acd86d2d9c9dbcbd7991890cdc/src/main/java/com/epam/reportportal/service/ReportPortal.java#L288)
diff --git a/versioned_docs/version-26.1/developers-guides/AsynchronousReporting.mdx b/versioned_docs/version-26.1/developers-guides/AsynchronousReporting.mdx
new file mode 100644
index 0000000000..b74dc9e5eb
--- /dev/null
+++ b/versioned_docs/version-26.1/developers-guides/AsynchronousReporting.mdx
@@ -0,0 +1,153 @@
+---
+sidebar_label: Asynchronous reporting
+description: Implement asynchronous reporting using AMQP and RabbitMQ for high-performance test automation reporting tools with load balancing.
+---
+
+# Asynchronous reporting
+
+### Overview
+
+Asynchronous reporting is set up using the [AMQP 0-9-1](https://www.rabbitmq.com/tutorials/amqp-concepts.html) protocol with
+[RabbitMq](https://www.rabbitmq.com) as the message broker.
+The main idea is to respond to the client immediately after the server receives a request. This way, the client isn't blocked and doesn't have to wait for the server to process the request.
+Additionally, it acts as a requests load balancer, storing it in queues until the backend is free to process them.
+
+### Scheme of interactions between RabbitMq and API
+
+***Difference between ID and UUID***
+
+`ID` is a numerical identifier for an entity, automatically generated by the database at the moment of saving.
+`UUID` is a string virtual identifier for an entity. `UUID` can be generated on the client side and provided with a request. If it is not provided,
+it is generated automatically when the `API` accepts the request.
+Each entity has both `ID` and `UUID`. `ID` is used to perform the CRUD operations on an entity that is ***already saved in db***.
+`UUID` is used to build the child-parent relationships between entities on the client side during reporting.
+In case of synchronous reporting, any response from `API` is returned ***after*** the request is handled and the entity is saved in the database.
+In case of asynchronous reporting, any response from `API` is returned ***before*** the request is handled and the entity is saved in the database and ***after*** the request is published to the queue.
+The responses in both modes look the same:
+```json
+{
+ "id": "cd64d5eb-fea1-4e7e-8a5a-69998ac5620f"
+}
+```
+The `id` property in the response is actually an `UUID`. This is for backward compatibility.
+Therefore, when you have this `UUID` and want to update or delete the entity, you need to first retrieve the physical `ID`.
+It can be done via `API`:
+* [Get specified launch by UUID](https://developers.reportportal.io/api-docs/service-api/get-launch-by-uuid-old-timestamp)
+
+***Asynchronous reporting scheme***
+
+
+* **Step 1**
+`API` receives HTTP request from `client` to the reporting controller. The `Controller` verifies permissions and call the `producer` logic.
+* **Step 2**
+`Producer` validates business rules if necessary, generates UUID (virtual id) if it is not provided in request,
+builds a message for `RabbitMq` and sends it to the exchange with x-consistent-hash type.
+After message is sent, the `controller` returns HTTP response to the `client` with UUID. **At the moment, the physical entity in database may not be created yet!**
+* **Step 3**
+`Consumer` starts processing the message as soon as it is received from `RabbitMq`.
+After a successful processing, the entity will be stored in a database and obtain a physical id.
+In case of an exception, it is logged and the entity is not saved.
+
+
+
+### Enable asynchronous reporting in agents
+
+Async reporting is supported only by agents since version 5.0.0.
+To enable it you should set `rp.reporting.async=true` in `reportportal.properties`.
+By default (if property `rp.reporting.async` is not specified) agents work in a synchronous mode.
+
+```properties
+rp.endpoint=https://example.com
+rp.api.key=xxx
+rp.launch=launch-name
+rp.project=project-name
+rp.reporting.async=true
+```
+
+(*) Listed above is an example for Java-based client. For another platforms please see corresponding documentation.
+
+### Asynchronous API
+
+Async controllers have `/api/v2` prefix.
+Requests and responses have no differences with sync ones but there are some specific distinctions in the behavior that is described in
+[reporting guide](/developers-guides/ReportingDevelopersGuide).
+
+* [Start launch](/developers-guides/ReportingDevelopersGuide#start-launch)
+* [Start root(suite) item](/developers-guides/ReportingDevelopersGuide#start-rootsuite-item)
+* [Start child(container) item](/developers-guides/ReportingDevelopersGuide#start-childcontainer-item)
+* [Start child(step) item](/developers-guides/ReportingDevelopersGuide#start-childstep-item)
+* [Finish child item](/developers-guides/ReportingDevelopersGuide#finish-child-item)
+* [Finish parent(container) item](/developers-guides/ReportingDevelopersGuide#finish-parentcontainer-item)
+* [Save single log without attachment](/developers-guides/ReportingDevelopersGuide#save-single-log-without-attachment)
+* [Batch save logs](/developers-guides/ReportingDevelopersGuide#batch-save-logs)
+* [Save launch log](/developers-guides/ReportingDevelopersGuide#save-launch-log)
+* [Finish root(suite) item](/developers-guides/ReportingDevelopersGuide#finish-rootsuite-item)
+* [Finish launch](/developers-guides/ReportingDevelopersGuide#finish-launch)
+
+### Detailed scheme of interactions between RabbitMq and API
+
+#### API properties
+
+`API` has the following properties for connection to RabbitMq service:
+
+| Name | Environment variable name | Default value |
+|----------------------|---------------------------|----------------------------------------|
+| rp.amqp.host | RP_AMQP_HOST | rabbitmq |
+| rp.amqp.port | RP_AMQP_PORT | 5672 |
+| rp.amqp.user | RP_AMQP_USER | rabbitmq |
+| rp.amqp.pass | RP_AMQP_PASS | rabbitmq |
+| rp.amqp.addresses | RP_AMQP_ADDRESSES | amqp://rabbitmq:rabbitmq@rabbitmq:5672 |
+| reporting.queues.count | REPORTING_QUEUES_COUNT | 10 |
+
+
+`rp.amqp.host` - Hostname of RabbitMq service.
+`rp.amqp.port` - Port of RabbitMq service.
+`rp.amqp.user` - Username to connect to RabbitMq service.
+`rp.amqp.pass` - User password to connect to RabbitMq service.
+`rp.amqp.addresses` - Full address to connect to RabbitMq service.
+`reporting.queues.count` - Number of queues to be processed by this service-api.
+
+#### Exchanges and queues for reporting
+
+The `API` creates two exchanges: `e.reporting` and `e.reporting.retry`. The `e.reporting` exchange is linked to queues that handle messages from requests, while the `e.reporting.retry` exchange is linked to retry queue and manages rejected from the main reporting queues.
+The number of queues in these exchanges depends on the `REPORTING_QUEUES_COUNT` env variable. The `e.reporting` exchange has `N` queues named `q.reporting.id.0` to `q.reporting.id.N`. The `e.reporting.retry` exchange has 1 queue named `q.retry.reporting.ttl`.
+If a message from `e.reporting.retry` is consumed and throws an exception more than 20 times, it will be moved to a separate queue named `q.parkingLot.reporting`, where it will be stored for 7 days for manual error analysis.
+The retry message will be stored in `q.retry.reporting.ttl` with progressive TTL. It means that ttl will be increase each time. The whole ttl of the retry message is about 2 hours.
+
+
+
+#### Scheme
+
+All requests (items, logs) related to the same launch will be stored in the same RabbitMQ queue.
+This is achieved by using an exchange that maps messages to queues using the `Consistent Hashing` algorithm.
+
+Messages in the queue don't have a strict order but they are stored mostly in the same order as they arrive from `client`.
+This ensures a minimal amount of exceptions (causing the sending of such messages to the retry queue) caused by cases when a child is handled before its own parent.
+
+Consuming scheme:
+
+
+
+`(!)` All not managed exceptions will be moved to the `q.parkingLot.reporting` for manual analysis.
+Possible exceptions that may be thrown and lead to moving the message to the retry queue:
+* On start launch/test item:
+ * Entity not found. Parent entity not found.
+* On finish launch/test item:
+ * Entity not found. Entity that has to be finished not found in database or parent entity not found (for test items).
+* On log creation:
+ * Entity not found. Trying to create log for not existing launch/test item
+
+#### Finishing launch
+
+If the order is not broken, launch finish request will be handled when there are no more child item requests in the queue.
+
+
+
+`(!)` It is a main difference in reporting mechanism between ReportPortal version 4 and 5.
+If the launch finish request is not the last in the queue, the launch will be finished anyway.
+However, all subsequent requests related to that launch will be handled as they reach the consumer, and the launch statistics will be updated accordingly.
+This means it is possible to report items under an already finished launch.
+Events associated with the launch finish will be processed as soon as the launch finish is handled.
+Items processed after the launch finish will not be included in post-launch handling processes such as 'Auto Analysis' and 'Quality Gates.'
+
+
diff --git a/versioned_docs/version-26.1/developers-guides/AttachmentsGuide.mdx b/versioned_docs/version-26.1/developers-guides/AttachmentsGuide.mdx
new file mode 100644
index 0000000000..278becc57b
--- /dev/null
+++ b/versioned_docs/version-26.1/developers-guides/AttachmentsGuide.mdx
@@ -0,0 +1,113 @@
+---
+sidebar_label: Attachments Guide
+description: Add screenshots and file attachments to test logs for comprehensive test failure analysis and debugging in ReportPortal.
+---
+
+# Attachments (Screenshots) Guide
+
+The Attachments feature allows you to add any file or screenshot to the test case logs. It can be useful for further test failure analysis.
+
+An example of image attachment:
+
+
+
+An example of file attachment:
+
+
+
+
+
+## How to log attachments (Screenshots) on Java agents?
+
+Java agents have numerous methods to log attachments, the easiest one is calling `ReportPortal#emitLog` static method:
+
+```java
+import com.epam.reportportal.listeners.LogLevel;
+import com.epam.reportportal.service.ReportPortal;
+
+import java.util.Date;
+import java.io.File;
+
+class Test {
+ public static void log(String message, File file) {
+ ReportPortal.emitLog(message, LogLevel.INFO.name(), new Date(), file);
+ }
+}
+```
+
+If you don't want to put ReportPortal dependencies in your code, there is a way to pass attachments through your logger.
+
+Check out our loggers' documentation:
+
+* [Log4j](https://github.com/reportportal/logger-java-log4j#attaching-files-screenshots-videos-archives-reports-etc)
+* [Logback](https://github.com/reportportal/logger-java-logback#attaching-files-screenshots-videos-archives-reports-etc)
+
+## How to log attachments (Screenshots) on Python agents?
+
+To log attachments in Python you first need to configure a logger, depending on your current test framework. These are the instructions:
+
+* [Pytest](https://github.com/reportportal/agent-python-pytest#examples)
+* [Robot Framework](https://github.com/reportportal/agent-Python-RobotFramework#logging)
+* [Behave](https://github.com/reportportal/agent-python-behave#logging)
+
+Then you can use common method to attach any files to logs which is described [here](https://github.com/reportportal/client-Python#send-attachment-screenshots).
+
+## How to log attachments (Screenshots) on JavaScript agents?
+
+Attachment reports are supported by our [client-javascript](https://github.com/reportportal/client-javascript). The attachment file can be added as a part of a log request, see the [link](https://github.com/reportportal/client-javascript#sendlog) for details.
+
+The implementation of attachments reporting varies from agent to agent.
+
+[agent-js-playwright](https://github.com/reportportal/agent-js-playwright):
+The attachment can be added via built-in [playwright testInfo attachments](https://playwright.dev/docs/api/class-testinfo#test-info-attachments) or [ReportingAPI](https://github.com/reportportal/agent-js-playwright#log).
+
+[agent-js-webdriverio](https://github.com/reportportal/agent-js-webdriverio):
+The attachment can be added via ReportingAPI, follow [docs](https://github.com/reportportal/agent-js-webdriverio#log) for details.
+
+[agent-js-testcafe](https://github.com/reportportal/agent-js-testcafe):
+The attachment can be added via ReportingAPI, follow [docs](https://github.com/reportportal/agent-js-testcafe#log) for details.
+
+[agent-js-codecept](https://github.com/reportportal/agent-js-codecept):
+The attachment can be added via ReportPortal plugin reportPortal.addLog, captured screenshots will be also attached to the report, see [add-log-message](https://github.com/reportportal/agent-js-codecept#add-log-message).
+
+[agent-js-cucumber](https://github.com/reportportal/agent-js-cucumber):
+The attachment can be added via this.attach Cucumber feature, captured screenshots will be also attached to the report, see [attachments](https://github.com/reportportal/agent-js-cucumber#attachments).
+
+[agent-js-cypress](https://github.com/reportportal/agent-js-cypress):
+The attachment can be added via ReportPortal logging custom commands for Cypress, see [logging](https://github.com/reportportal/agent-js-cypress#logging).
+
+[agent-js-mocha](https://github.com/reportportal/agent-js-mocha):
+The attachment can be added via PublicReportingAPI, follow [docs](https://github.com/reportportal/agent-js-mocha#report-logs-and-attachments) for details.
+
+[agent-js-jasmine](https://github.com/reportportal/agent-js-jasmine):
+The attachment can be added via PublicReportingAPI, follow [docs](https://github.com/reportportal/agent-js-jasmine#report-logs-and-attachments) for details.
+
+[agent-js-jest](https://github.com/reportportal/agent-js-jest):
+There is no built-in capability to send attachments during test execution as the Jest Reporter works post-factum and does not allow to provide specific data to the report.
+
+[agent-js-postman](https://github.com/reportportal/agent-js-postman):
+There is no built-in capability at the moment to send attachments during test execution due to the specifics of postman nature.
+
+[agent-js-nightwatch](https://github.com/reportportal/agent-js-nightwatch):
+The attachment can be added via ReportingAPI, follow [docs](https://github.com/reportportal/agent-js-nightwatch#log) for details.
+
+An example for each agent can be found [here](https://github.com/reportportal/examples-js).
+
+## How to log attachments (Screenshots) on .Net agents?
+
+General documentation on this in .net-commons: https://github.com/reportportal/commons-net/blob/develop/docs/Logging.md
+
+You can attach any binary content:
+
+```
+Context.Current.Log.Info("my binary", "image/png", bytes);
+// where bytes is byte[] and image/png is mime type of content
+```
+
+Or use file instead:
+
+```
+Context.Current.Log.Info("my file", new FileInfo(filePath));
+// where filePath is relative/absolute path to your file
+// mime type is determined automatically
+```
diff --git a/versioned_docs/version-26.1/developers-guides/BackEndJavaContributionGuide.mdx b/versioned_docs/version-26.1/developers-guides/BackEndJavaContributionGuide.mdx
new file mode 100644
index 0000000000..2f14b7311b
--- /dev/null
+++ b/versioned_docs/version-26.1/developers-guides/BackEndJavaContributionGuide.mdx
@@ -0,0 +1,476 @@
+---
+sidebar_label: Back-end Java contribution guide
+description: Contribute to ReportPortal's Java backend with comprehensive development guidelines, setup instructions, and coding standards.
+---
+
+# Back-end Java contribution guide
+
+## Useful links
+
+[Landing page](https://reportportal.io)
+
+[Official documentation](https://reportportal.io/docs)
+
+[Contribution notes on GitHub](https://github.com/reportportal/reportportal/wiki/Contribution)
+
+## Deployment components description
+
+- [Traefik](https://traefik.io) as reversed proxy and application entry point
+- Data analysis
+ - [OpenSearch](https://opensearch.org/) as logs analysis data storage
+ - [Service Analyzer](https://github.com/reportportal/service-auto-analyzer) as log messages analysis tool
+ - [Service Analyzer Train](https://github.com/reportportal/service-auto-analyzer) is a `Service Analyzer` running in training mode to increase analysis quality
+
+- Database
+ - [Postgresql](https://www.postgresql.org)
+ - [Service Migrations](https://github.com/reportportal/migrations) - service for DB schema and data updates
+- [RabbitMQ](https://www.rabbitmq.com) - message broker for inter-service communication
+- [Minio](https://min.io) - binary data storage (alternative to plain filesystem storage)
+- [Service Index](https://github.com/reportportal/service-index) - gateway service with services metadata resolving mechanism
+- [Service UI](https://github.com/reportportal/service-ui) - ReportPortal web UI
+
+There are three Java repositories that are part of the whole RP deployment:
+- [Service API](https://github.com/reportportal/service-api) - REST API service as ReportPortal functionality provider
+- [Service Authorization](https://github.com/reportportal/service-authorization) - REST Authorization service for users authentication
+- [Service Jobs](https://github.com/reportportal/service-jobs) - Service with jobs to process data in the back-ground
+
+## Code conventions
+
+### IDE Formatter
+
+[Settings file](https://github.com/reportportal/reportportal/blob/master/idea_formatting_profile.xml)
+
+Steps to import:
+- Click on IDEA "Preferences"
+- Choose "Editor" section
+- Click on "Code style"
+- In "Scheme" section click on settings wheel → Import Scheme → IntelliJ IDEA code style XML
+
+
+
+### Code style
+
+This document is aimed at improving aspects of our existing code base and synchronizing implementation/design approaches within the team. It serves as a blueprint for now but will be continually updated and improved.
+
+- Code should be as simple and readable as possible.
+- Avoid unnecessary interfaces. In our case, if we aren't planning to extend functionality and can easily refactor, we should avoid creating an interface unless there is a distinct need (e.g., for testing, code auto-generation, etc.).
+- Methods and classes should be named according to their responsibilities. If a name isn't self-explanatory, provide a description.
+- Overloaded or overridden methods with the same name should perform similar operations.
+- Keep parameter order consistent across methods with the same name.
+- Parameter names should be clear and indicative of their function. For example, instead of using a generic "id", specify the `entity` it's related to, like "userId" or "projectId."
+- The same principle applies to return parameters.
+- It's advisable to use a suitable structure to avoid unnecessary conversions.
+- Commonly used flows (checks, structure processing, etc.) should be moved to utilities.
+- Manually working with threads should be avoided unless necessary (utilize defined `TaskExecutor` or create a new one).
+- `Optional` and `Stream` should be used primarily when they enhance readability. Always return `Optional` instead of `null`.
+- Avoid using two terminal operations in a Stream.
+
+### Git branch requirements
+
+- Working branch names should start with the Jira-id (EPMRPP-DDD) and an optional description, e.g., `PMRPP-444` or `EPMRPP-443-fix-some-bugs`. All Jira branches must be related to a Jira ticket.
+- All commit messages in `master`, `develop`, and `release` branches must start with a Jira-id as well: EPMRPP-445 Some important fix.
+- It is better to divide commits into small, logically complete parts within the branch, for clarity during code review.
+- When merging a PR into the main branch (`master`, `develop`, `release`), all commits should be squashed and provided with a suitable description with the Jira-id by the person who performs the merge.
+
+**For contributors who do not have access to our Jira tasks**, the branch name prefix should be the GitHub issue name. It is highly recommended to create an issue that doesn't already exist and then fix it within your PR, even if it's a new function. The issue will remain there, a record of your ideas and comments from other contributors. Additionally, ReportPortal users who are not developers might prefer to look through issues rather than PRs to verify if a specific issue has been addressed in a new version of ReportPortal. This is a crucial component in maintaining a transparent, efficient test automation reporting dashboard for all users.
+
+## Open-source contribution workflow
+
+All features fixes should be added to `develop` branch only, exclusions: hot-fixes
+
+Changes applying workflow:
+
+- Clone repository or fork from it
+- Checkout `develop` branch
+- Create branch according to name policy
+- Push branch to the remote
+- Create PR according to name policy into the `develop` branch of the RP repository
+- Review and merge/reject PR (squash commits in one during merge)
+
+## Dev environment setup
+
+### Pre requirements
+
+- Postgresql should be deployed
+- Service Migration should fill/update DB data
+- Binary data storage should be configured
+
+To deploy DB with the latest schema we need the `docker-compose.yml` that looks like this:
+
+```yaml
+version: '2.4'
+services:
+
+ postgres:
+ image: postgres:12-alpine
+ shm_size: '512m'
+ environment:
+ POSTGRES_USER: rpuser
+ POSTGRES_PASSWORD: rppass
+ POSTGRES_DB: reportportal
+ volumes:
+ # For unix host
+ - ./data/postgres:/var/lib/postgresql/data
+ # For windows host
+ # - postgres:/var/lib/postgresql/data
+ ports:
+ - "5432:5432"
+ command:
+ -c checkpoint_completion_target=0.9
+ -c work_mem=96MB
+ -c wal_writer_delay=20ms
+ -c synchronous_commit=off
+ -c wal_buffers=32MB
+ -c min_wal_size=2GB
+ -c max_wal_size=4GB
+ healthcheck:
+ test: ["CMD-SHELL", "pg_isready -d $$POSTGRES_DB -U $$POSTGRES_USER"]
+ interval: 10s
+ timeout: 120s
+ retries: 10
+ restart: always
+
+ db-scripts:
+ image: reportportal/migrations:5.6.0
+ depends_on:
+ postgres:
+ condition: service_healthy
+ environment:
+ POSTGRES_SERVER: postgres
+ POSTGRES_PORT: 5432
+ POSTGRES_DB: reportportal
+ POSTGRES_USER: rpuser
+ POSTGRES_PASSWORD: rppass
+ restart: on-failure
+```
+
+#### How to keep DB data up-to-date
+
+Maintaining an up-to-date database (DB) schema is an important aspect of efficient test automation reporting tools management.
+
+`image: reportportal/migrations:5.6.0` is the released version of the migrations service. However, if any changes were made in the develop branch after the release, the migrated DB schema may be outdated. To prevent this and ensure your DB data remains current, follow the steps outlined below:
+
+- clone/update [Migrations Repository](https://github.com/reportportal/migrations)
+- checkout `develop` branch
+- run the following command:
+```shell
+docker-compose run --rm migrations
+```
+
+This process leverages all SQL scripts present in the develop branch to update your locally running DB instance.
+
+By default, filesystem storage is employed for binary data; meaning all data will be stored on your local filesystem. If you prefer to store binaries using Minio (as we do in our production), you need to deploy it as well. You can do this by adding the necessary pieces to the existing `docker-compose.yml`:
+
+```yaml
+ minio:
+ image: minio/minio:RELEASE.2020-10-27T04-03-55Z
+ ports:
+ - '9000:9000'
+ volumes:
+ # For unix host
+ - ./data/storage:/data
+ # For windows host
+ # - minio:/data
+ environment:
+ MINIO_ACCESS_KEY: minio
+ MINIO_SECRET_KEY: minio123
+ command: server /data
+ healthcheck:
+ test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
+ interval: 30s
+ timeout: 20s
+ retries: 3
+ restart: always
+```
+
+Please be aware of the comments directed towards `Windows` - if you are developing on Windows, uncomment the sections for `Windows` and comment out any `Linux`-related sections, applicable to both Postgres and Minio. Then, add the following statement to the `docker-compose.yml`:
+
+```yaml
+volumes:
+ postgres:
+ minio:
+```
+
+As the result we have the `docker-compose.yml`:
+```yaml
+version: '2.4'
+services:
+
+ postgres:
+ image: postgres:12-alpine
+ shm_size: '512m'
+ environment:
+ POSTGRES_USER: rpuser
+ POSTGRES_PASSWORD: rppass
+ POSTGRES_DB: reportportal
+ volumes:
+ # For unix host
+ - ./data/postgres:/var/lib/postgresql/data
+ # For windows host
+ # - postgres:/var/lib/postgresql/data
+ ports:
+ - "5432:5432"
+ command:
+ -c checkpoint_completion_target=0.9
+ -c work_mem=96MB
+ -c wal_writer_delay=20ms
+ -c synchronous_commit=off
+ -c wal_buffers=32MB
+ -c min_wal_size=2GB
+ -c max_wal_size=4GB
+ healthcheck:
+ test: ["CMD-SHELL", "pg_isready -d $$POSTGRES_DB -U $$POSTGRES_USER"]
+ interval: 10s
+ timeout: 120s
+ retries: 10
+ restart: always
+
+ db-scripts:
+ image: reportportal/migrations:5.6.0
+ depends_on:
+ postgres:
+ condition: service_healthy
+ environment:
+ POSTGRES_SERVER: postgres
+ POSTGRES_PORT: 5432
+ POSTGRES_DB: reportportal
+ POSTGRES_USER: rpuser
+ POSTGRES_PASSWORD: rppass
+ restart: on-failure
+
+ minio:
+ image: minio/minio:RELEASE.2020-10-27T04-03-55Z
+ ports:
+ - '9000:9000'
+ volumes:
+ # For unix host
+ - ./data/storage:/data
+ # For windows host
+ # - minio:/data
+ environment:
+ MINIO_ACCESS_KEY: minio
+ MINIO_SECRET_KEY: minio123
+ command: server /data
+ healthcheck:
+ test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
+ interval: 30s
+ timeout: 20s
+ retries: 3
+ restart: always
+
+volumes:
+ postgres:
+ minio:
+```
+
+This file will be updated in the subsequent sections, but we can already initiate the development of our first service.
+
+### Service Authorization
+
+To start up Service Authorization, you should populate the marked values in the `application.yaml file`:
+
+
+
+
+
+(Optional) Adjust the `context-path` value from `/` to `/uat` if you plan to deploy Service UI locally (described in a later section).
+
+### Service API
+
+Prior to initiating the Service API, RabbitMQ needs to be included in our deployment.
+
+In ReportPortal, RabbitMQ serves three key functions:
+
+- Inter-service communication between Service API and Service Analyzer.
+- Asynchronous reporting feature.
+- User activity event publishing.
+
+To add RabbitMQ to our deployment, the following should be incorporated into our existing `docker-compose.yml`:
+
+```yaml
+ rabbitmq:
+ image: rabbitmq:3.7.16-management
+ ports:
+ - "5672:5672"
+ - "15672:15672"
+ environment:
+ RABBITMQ_DEFAULT_USER: "rabbitmq"
+ RABBITMQ_DEFAULT_PASS: "rabbitmq"
+ healthcheck:
+ test: ["CMD", "rabbitmqctl", "status"]
+ retries: 5
+ restart: always
+```
+
+We can now begin deploying the Service API without encountering any issues. However, it's important to note that all Analyzer-related interactions (such as publishing to analyzer queues and receiving responses) will not be successful. To rectify this, we need to deploy the Service Analyzer and all its required services. To achieve this, we add the following to our `docker-compose.yml`:
+
+```yaml
+ opensearch:
+ image: opensearchproject/opensearch:2.11.0
+ container_name: opensearch
+ environment:
+ discovery.type: single-node
+ plugins.security.disabled: "true"
+ bootstrap.memory_lock: "true"
+ OPENSEARCH_JAVA_OPTS: -Xms512m -Xmx512m
+ DISABLE_INSTALL_DEMO_CONFIG: "true"
+ ulimits:
+ memlock:
+ soft: -1
+ hard: -1
+ ports:
+ - "9200:9200"
+ - "9600:9600"
+ volumes:
+ - opensearch:/usr/share/opensearch/data
+ healthcheck:
+ test: ["CMD", "curl","-s" ,"-f", "http://0.0.0.0:9200/_cat/health"]
+ restart: always
+
+ analyzer:
+ image: reportportal/service-auto-analyzer:5.6.0
+ environment:
+ LOGGING_LEVEL: info
+ AMQP_EXCHANGE_NAME: analyzer-default
+ AMQP_URL: amqp://rabbitmq:rabbitmq@rabbitmq:5672
+ ES_HOSTS: http://opensearch:9200
+ # ES_USER:
+ # ES_PASSWORD:
+ # MINIO_SHORT_HOST: minio:9000
+ # MINIO_ACCESS_KEY: minio
+ # MINIO_SECRET_KEY: minio123
+ depends_on:
+ opensearch:
+ condition: service_started
+ rabbitmq:
+ condition: service_healthy
+ restart: always
+```
+
+As a result of these additions, your `docker-compose.yml` should look something like [this](pathname:///files/DockerCompose.yml).
+
+To start the Service API, populate the marked values in your `application.yaml` file:
+
+
+
+
+
+
+
+Alternatively, you may need to change the `context-path` value from `/` to `/api` should you plan to deploy Service UI locally (detailed instructions will be provided at a later stage).
+
+### Service Jobs
+
+To start Service Jobs, fill in the marked values in your `application.yaml` file:
+
+
+
+
+
+
+
+### Service UI
+
+After all back-end services deployed you may want to interact with them not only using tool like Postman but use ReportPortal UI too.
+Once all back-end services are deployed, you may want to interface with them beyond using a tool like Postman and use ReportPortal UI. To accomplish this, follow these steps:
+
+- Clone or update the [Service UI repository](https://github.com/reportportal/service-ui).
+- Checkout the `develop` branch.
+- Make changes to the `dev.config.js` file.
+
+Before:
+
+```javascript
+proxy: [
+ {
+ context: ['/composite', '/api/', '/uat/'],
+ target: process.env.PROXY_PATH,
+ bypass(req) {
+ console.log(`proxy url: ${req.url}`);
+ },
+ },
+ ]
+```
+
+After:
+```javascript
+proxy: [
+ {
+ context: ['/composite', '/api/'],
+ target: 'http://localhost:8585',
+ bypass(req) {
+ console.log(`proxy url: ${req.url}`);
+ },
+ },
+ {
+ context: ['/uat/'],
+ target: 'http://localhost:9999',
+ bypass(req) {
+ console.log(`proxy url: ${req.url}`);
+ },
+ },
+ ]
+```
+
+- If NodeJs is not already installed, install it (version 20 is recommended).
+- From the root folder(service-ui), run Service UI using the following commands:
+```shell
+cd app
+npm install
+npm run dev
+```
+
+- Open the Service UI page on `localhost` using port `3000` and try to login using the default credentials.
+
+This will allow you to view your test automation dashboard and interact with the reported test results.
+
+## Development workflow
+
+### Introduction to dependencies
+
+In addition to common dependencies such as `spring-...`, our Java services also have ReportPortal libraries distributed across different repositories. Here is a list of these dependencies:
+- [Commons DAO](https://github.com/reportportal/commons-dao) - Data layer dependency with domain model configuration
+- [Commons Model](https://github.com/reportportal/commons-model) - REST models dependency
+- [Commons](https://github.com/reportportal/commons) - Some common utils for multiple usage purposes
+- [Commons Rules](https://github.com/reportportal/commons-rules) - Business rules validation dependency
+- [Plugin API](https://github.com/reportportal/plugin-api) - ReportPortal plugin API
+- [Commons BOM](https://github.com/reportportal/commons-bom) - POM config for releases
+
+### Updates in dependencies
+
+Let's assume you found a bug when trying to retrieve a user from the DB. The logic is invoked within Service API, but the buggy code is in the Commons DAO dependency. To apply a fix and validate its effectiveness, follow these steps:
+
+- Clone or update the `Commons DAO` repository.
+- Checkout the `develop` branch.
+- Implement the necessary changes.
+- Create a branch according to naming policy.
+- Push the changes to the remote.
+- Create a pull request (PR) to the `develop` branch. Now, you can see your branch and the `commit hash` on the GitHub page:
+
+
+
+- Go to the service where your changes need to be applied (Service API in our instance).
+- Copy the `commit hash` and replace the existing one in the `build.gradle` of the required service (Service API in our instance):
+
+
+
+- After rebuilding the project using `Gradle`, the dependency will be resolved and downloaded using the [Jitpack tool](https://jitpack.io).
+- Generate a branch according to the naming policy.
+- Push the changes to the remote.
+- Create a PR to the `develop` branch.
+
+## Summary notes
+
+This documentation should assist you in configuring the ReportPortal local development environment and provide an understanding of the standards and conventions we adhere to.
+
+The simplified development workflow should look as follows:
+
+- Always [maintain the latest schema and data](#how-to-keep-db-data-up-to-date) in your local DB instance.
+- Checkout the `develop` branch in the required repository.
+- Implement changes.
+- If changes in dependencies are necessary:
+ - Go to the dependency repository, apply changes, and create a branch and PR according to conventions.
+ - Using the `commit hash`, update the dependency in the `build.gradle`.
+- Create a branch according to the name policy.
+- Push to the remote.
+- Create a PR following the name policy.
diff --git a/versioned_docs/version-26.1/developers-guides/InteractionsBetweenAPIAndAnalyzer.mdx b/versioned_docs/version-26.1/developers-guides/InteractionsBetweenAPIAndAnalyzer.mdx
new file mode 100644
index 0000000000..3b1378f40a
--- /dev/null
+++ b/versioned_docs/version-26.1/developers-guides/InteractionsBetweenAPIAndAnalyzer.mdx
@@ -0,0 +1,183 @@
+---
+sidebar_label: Interactions between API and Analyzer
+description: Understand API and Analyzer service communication using AMQP and RabbitMQ for test failure analytics and ML processing.
+---
+
+# Interactions between API and Analyzer
+
+## Overview
+
+Communication between `API service` and `analyzer service` is carried out using [AMQP 0-9-1](http://www.amqp.org/specification/0-9-1/amqp-org-download) and [RabbitMQ](https://www.rabbitmq.com) as message broker. `API service` creates [virtual host](https://www.rabbitmq.com/vhosts.html) inside RabbitMQ with name `analyzer` on start. Analyzers in theirs turn connect to the virtual host and declare exchange with name and arguments. Any type of request from `API` and response from `analyzer` stores in the same queue. Request and response messages is presented as JSON.
+
+
+
+## Declaring exchange
+
+Each analyzer has to declare direct exchange with the following arguments:
+
+- `analyzer` - Name of analyzer (string)
+- `version` - Analyzer version (string)
+- `analyzer_index` - Is indexing supported (boolean, false by default)
+- `analyzer_log_search` - Is log searching supported (boolean, false by default)
+- `analyzer_priority` - Priority of analyzer (number). The lower the number, the higher the priority.
+
+
+
+## Declaring queues
+
+Each analyzer has to declare 5 queues with names: `analyze`, `search`, `index`, `clean`, `delete`.
+
+
+
+## Indexing
+
+Index request can be used to store info about logs and then analysis will be proceed based on the info. Requests and responses use `index` queue.
+
+Index request structure from `API`:
+
+IndexLaunch:
+
+| Attribute | Description | Example |
+|----------------|------------------------|------------|
+| launchId | Id of launch | 101 |
+| launchName | Name of launch | Smoke Test |
+| project | Id of project | 12 |
+| analyzerConfig | Analyzer configuration | |
+| testItems | Array of test items | |
+
+AnalyzerConfig:
+
+| Attribute | Description | Example |
+|-----------------------|------------------------------------------------------------------------------|---------|
+| minDocFreq | The minimum frequency of the saved logs | 1 |
+| minTermFreq | The minimum frequency of the word in the analyzed log | 1 |
+| minShouldMatch | Percent of words equality between analyzed log and particular log from index | 95 |
+| numberOfLogLines | The number of first lines of log message that should be considered in indeT | -1 |
+| isAutoAnalyzerEnabled | Is auto analysis enabled | true |
+| analyzerMode | Analysis mode. Allowable values: "all", "launch_name", "current_launch" | all |
+| indexingRunning | Is indexing running | false |
+
+IndexTestItem:
+
+| Attribute | Description | Example |
+|----------------|----------------------------|---------------------------------------|
+| testItemId | Id of test item | 123 |
+| issueType | Issue type locator | pb001 |
+| isAutoAnalyzed | Is test item auto analyzed | false |
+| logs | Array of test item logs | |
+
+IndexLog:
+
+| Attribute | Descrioption | Example |
+|-----------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| logId | Id of log | 125 |
+| logLevel | Log level | 40000 |
+| message | Log message | java.lang.AssertionError: 1 expectation failed. Expected status code <200> but was <400>. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) |
+
+`API` send array of IndexLaunch entities that have to be indexed.
+
+Example in json :
+
+```json
+[
+ {
+ "launchId":110,
+ "launchName":"Smoke Test",
+ "project":11,
+ "analyzerConfig":{
+ "minDocFreq":1,
+ "minTermFreq":1,
+ "minShouldMatch":95,
+ "numberOfLogLines":-1,
+ "isAutoAnalyzerEnabled":true,
+ "analyzerMode":"all",
+ "indexingRunning":false
+ },
+ "testItems":[
+ {
+ "testItemId":101,
+ "issueType":"pb001",
+ "uniqueId":"auto:c6edafc24a03c6f69b6ec070d1fd0089",
+ "isAutoAnalyzed":false,
+ "logs":[
+ {
+ "logId":111,
+ "logLevel":40000,
+ "message":"java.lang.AssertionError: 1 expectation failed. Expected status code <200> but was <400>."
+ },
+ {
+ "logId":112,
+ "logLevel":40000,
+ "message":"java.lang.AssertionError: 1 expectation failed. Expected status code <200> but was <500>."
+ }
+ ]
+ }
+ ]
+ }
+]
+```
+
+Analyzer should return response with number of indexed logs.
+
+## Analyze
+
+Analyze request can be used to find matches from request in indexed data. Requests and responses use `analyze` queue.
+
+Analyze request is the same as IndexLaunch entity used for indexing. It contains info about test items and logs thad have to be analyzed.
+
+Response from analyzer should contain array of the following entities (info about analyzed test items):
+
+AnalyzedItemRs:
+
+| Attribute | Description | Example |
+|----------------|--------------------------|---------|
+| itemId | Id of analyzed test item | 111 |
+| relevantItemId | Id of relevant test item | 123 |
+| issueType | Issue type locator | pb001 |
+
+## Search logs
+
+Search request can be used to find similar logs from test items with `to_investigate` type. Requests and responses use `search` queue.
+
+Search logs request from `API`:
+
+SearchRq:
+
+| Attribute | Description | Example |
+|-------------------|---------------------------------------------------------|-------------------------------------|
+| launchId | Id of launch | 111 |
+| launchName | Name of launch | Smoke Test |
+| itemId | Id of test item | 112 |
+| projectId | Id of project | 10 |
+| filteredLaunchIds | Array of launch ids, among with search would be applied | [1,2,3] |
+| logMessages | Array of log messages looking for | ["first message", "second message"] |
+| logLines | Number of logs lines that will be used in comparison | 5 |
+
+Analyzer should return array of log ids that matches as a response.
+
+## Clean
+
+Clean request can be used to remove stored log from index. Requests use `clean` queue.
+
+Clean logs request from `API`:
+
+CleanIndexRq:
+
+| Attribute | Description | Example |
+|-----------|---------------------------------|-----------------|
+| project | Id of project | 10 |
+| ids | Array of log ids to be removed | [111, 122, 123] |
+
+Analyzer do not send response on the request.
+
+## Delete
+
+Delete request can be used to delete entire index. Requests use `delete` queue.
+
+Request message from `API` contains only id of index.
+
+Analyzer do not send response on the request.
+
+## Examples
+
+Custom [analyzer](https://github.com/ihar-kahadouski/custom-analyzer) written in java using [Spring AMQP](https://spring.io/projects/spring-amqp).
diff --git a/versioned_docs/version-26.1/developers-guides/PluginDevelopersGuide/DevelopACustomImportPlugin.md b/versioned_docs/version-26.1/developers-guides/PluginDevelopersGuide/DevelopACustomImportPlugin.md
new file mode 100644
index 0000000000..a8477aa225
--- /dev/null
+++ b/versioned_docs/version-26.1/developers-guides/PluginDevelopersGuide/DevelopACustomImportPlugin.md
@@ -0,0 +1,109 @@
+---
+sidebar_label: Develop a custom import plugin
+description: Learn how to develop custom import plugins for ReportPortal test automation reporting tools using PF4J framework.
+---
+
+# Develop a custom import plugin
+
+This documentation guides on creating a custom import plugin for ReportPortal, using the PF4J plugin framework.
+
+## Prerequisites
+Before starting the development of a new import plugin, ensure you review these essential resources:
+
+1. **PF4J Plugin Framework**: Learn about PF4J, which is the core framework for ReportPortal plugins system at [pf4j.org](https://pf4j.org).
+2. **Plugin Template**: Start with the standard plugin template available on [GitHub](https://github.com/reportportal/plugin-template).
+3. **Examples**: Examine existing plugins for importing:
+ - JUnit: [GitHub repo](https://github.com/reportportal/plugin-import-junit)
+ - RobotFramework: [GitHub repo](https://github.com/reportportal/plugin-import-robot).
+4. **Event-Based Reporting**: Understand event-based interactions in ReportPortal through [service-api](https://github.com/reportportal/service-api/blob/develop/src/main/java/com/epam/ta/reportportal/reporting/event/EventBasedReporting.java).
+5. **Event Objects**: Familiarize with event objects used in reporting at [GitHub](https://github.com/reportportal/commons/tree/develop/src/main/java/com/epam/reportportal/events).
+6. **Start Import Endpoint**: Learn how to initiate importing through the UI at [GitHub](https://github.com/reportportal/service-api/blob/6d40590d21fef3299ed5b7e009b1cc7130863c21/src/main/java/com/epam/ta/reportportal/ws/controller/PluginController.java#L140).
+
+## Step-by-Step Plugin Development Guide
+
+### Step 1: Clone the Plugin Template
+Begin by using the [plugin template](https://github.com/new?template_name=plugin-template&template_owner=reportportal) to create a new repository and get the required boilerplate code.
+
+### Step 2: Rename and Configure the Template
+Update the naming from 'template' to something specific to your plugin need. Modify the `gradle.properties` to set your `pluginId`, which should be a key word without special symbols. Update the manifest appropriately [here](https://github.com/reportportal/plugin-template/blob/698a17a862eb4a8d52274242a9f8e4ec9e6ab799/plugin/build.gradle#L101).
+
+### Step 3: Implement the Plugin EntryPoint
+Create your main class (or use from the template) annotated with `@Extension` that implements `ReportPortalExtensionPoint` ([TemplatePluginExtension](https://github.com/reportportal/plugin-template/blob/main/plugin/src/main/java/com/epam/reportportal/extension/template/TemplatePluginExtension.java)).
+This class should contain all logic for integrating the new plugin with the ReportPortal system. Implement the necessary methods as shown in the earlier example snippet.
+
+For correct representation on the UI, there should be added specific parameters to the plugin:
+
+```java
+ @Override
+ public Map getPluginParams() {
+ Map params = new HashMap<>();
+ params.put(ALLOWED_COMMANDS, new ArrayList<>(pluginCommandMapping.get().keySet()));
+ params.put(COMMON_COMMANDS, new ArrayList<>(commonPluginCommandMapping.get().keySet()));
+ params.put(DESCRIPTION_KEY, DESCRIPTION);
+ params.put(METADATA, Map.of(IS_INTEGRATIONS_ALLOWED, false));
+ params.put("maxFileSize", MAX_FILE_SIZE);
+ params.put("acceptFileMimeTypes", "List of acceptFileMimeTypes"));
+ return params;
+ }
+
+ @Override
+ public IntegrationGroupEnum getIntegrationGroup() {
+ return IntegrationGroupEnum.IMPORT;
+ }
+```
+
+### Step 4: Define the Import Command
+Create a class for the 'import' command that must implement the [CommonPluginCommand](https://github.com/reportportal/plugin-api/blob/develop/src/main/java/com/epam/reportportal/extension/CommonPluginCommand.java) interface. This should:
+- Specify the command name in the `getName()` method, which must return "import".
+```java
+ @Override
+ public String getName() {
+ return "import";
+ }
+```
+
+- Handle the import logic in the `executeCommand(Map params)` method that includes file parsing and publishing launch reporting events.
+```java
+ @Override
+ public OperationCompletionRS executeCommand(Map params) {}
+```
+
+When working with a loaded file, it's necessary to trigger events in ReportPortal. For instance, if the report contains specific step information, you need to generate a StartTestItemRQ and publish a StartChildItemRqEvent:
+
+```java
+ private String startTestItem(ItemInfo itemInfo) {
+ StartTestItemRQ rq = buildStartItemRq(itemInfo);
+ eventPublisher.publishEvent(
+ new StartChildItemRqEvent(this, projectName, items.peek().getUuid(), rq));
+ return rq.getUuid();
+ }
+```
+
+The same approach used for other requests as well.
+
+### Step 5: Build plugin jar
+
+Build plugin executable jar using standard gradle commands after implementation of the plugin is finished.
+```
+gradle clean build
+```
+More information about the assembling of plugins can be found in [PluginDevelopersGuide](./PluginAPIDevelopersGuide.mdx#assemble-plugin)
+
+### Step 6: Verify the plugin UI
+
+Provide the info, mentioned in [step 3](#step-3-implement-the-plugin-entrypoint). This will help the ReportPortal UI understand the plugin's capabilities and limitations.
+Once the step is completed, the plugin will be available for selection in the ReportPortal UI Launch import modal. No further actions required from the plugin UI to make the import process work.
+
+#### Add custom UI extensions if needed
+
+The plugin template also provides a way to add custom extensions to the ReportPortal UI via plugin.
+This setup isn't required for import process work, but can be used to provide additional pages/sections in the ReportPortal UI via React components.
+For more information, see the [Plugin Developers Guide](./PluginUIDevelopersGuide.md).
+
+## Events to Manage
+- **StartLaunchRqEvent**: To start a new launch.
+- **StartRootItemRqEvent**: To begin a root item just below the launch.
+- **StartChildItemRqEvent**: For starting a child item, requiring a parent UUID.
+- **SaveLogRqEvent**: For saving logs which may include file attachments.
+
+By following these steps and using the available resources, you can build an import plugin that is customized to your reporting requirements and integrates smoothly with ReportPortal.
diff --git a/versioned_docs/version-26.1/developers-guides/PluginDevelopersGuide/PluginAPIDevelopersGuide.mdx b/versioned_docs/version-26.1/developers-guides/PluginDevelopersGuide/PluginAPIDevelopersGuide.mdx
new file mode 100644
index 0000000000..d1712a9158
--- /dev/null
+++ b/versioned_docs/version-26.1/developers-guides/PluginDevelopersGuide/PluginAPIDevelopersGuide.mdx
@@ -0,0 +1,488 @@
+---
+sidebar_label: Plugin API development guide
+description: Develop custom plugins for ReportPortal using APIs and microservices architecture for enhanced test automation reporting tools functionality.
+---
+
+# Plugin API development guide
+
+## Introduction
+
+ReportPortal as a microservice application had services that integrate with external systems like JIRA or RALLY. These are problems of this
+approach:
+
+- every service will run as a separate application consuming additional amount of resources for environment;
+- user may not need all the integrations at the moment but need some (or a new one) later, so he should modify deployment configuration
+ every time;
+- every service modification requires re-deployment.
+
+To solve these problems and support dynamic integrations ReportPortal implements plugin system on top
+of [PF4J](https://github.com/pf4j/pf4j).
+
+:::note
+Documentation for the UI plugins can be found [here](./PluginUIDevelopersGuide.md)
+:::
+## How does it work
+
+
+
+## Creating your first plugin
+
+Result of the following steps can be found here - [Plugin template](https://github.com/reportportal/plugin-template).
+This is fully configured and ready-to-use plugin.
+
+### Base plugin configuration
+
+We configure our build.gradle file as follows:
+
+```groovy
+plugins {
+ id "io.spring.dependency-management" version "1.0.9.RELEASE"
+ id 'java'
+}
+
+repositories {
+ mavenCentral()
+}
+
+dependencies {
+ implementation 'com.epam.reportportal:plugin-api:5.4.0'
+ annotationProcessor 'com.epam.reportportal:plugin-api:5.4.0'
+}
+
+task plugin(type: Jar) {
+ getArchiveBaseName().set("plugin-${pluginId}")
+ into('classes') {
+ with jar
+ }
+ into('lib') {
+ from configurations.compile
+ }
+ extension('zip')
+}
+
+task assemblePlugin(type: Copy) {
+ from plugin
+ into pluginsDir
+}
+
+task assemblePlugins(type: Copy) {
+ dependsOn subprojects.assemblePlugin
+}
+```
+
+This base configuration with `plugin-api` dependency grants access to extension points and core ReportPortal dependencies.
+
+
+
+### Create extension
+
+Firstly we create our plugin representation (we also can override `start()` and `stop()` methods) that will be managed by `pf4j` plugin
+manager.
+
+```java
+package com.epam.reportportal.extension.example;
+
+import org.pf4j.Plugin;
+import org.pf4j.PluginWrapper;
+
+public class ExamplePlugin extends Plugin {
+ public ExamplePlugin(PluginWrapper wrapper) {
+ super(wrapper);
+ }
+}
+```
+
+Then we create our plugin entry point. We start with `ReportPortalExtensionPoint` implementation:
+
+```java
+
+@Extension
+public class ExampleExtension implements ReportPortalExtensionPoint {
+
+ private final Supplier