diff --git a/.gitattributes b/.gitattributes
deleted file mode 100644
index 176a458f9..000000000
--- a/.gitattributes
+++ /dev/null
@@ -1 +0,0 @@
-* text=auto
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 1f249aa78..000000000
--- a/.gitignore
+++ /dev/null
@@ -1,25 +0,0 @@
-\#vcs.properties#
-vcs.properties
-.DS_Store
-webapp/temp
-CDS.iml
-
-# test logs
-test/sampledata/**/*.log
-
-# generated theme artifacts
-app/Connector/bootstrap.css
-app/Connector/bootstrap.js
-app/Connector/bootstrap.json
-app/Connector/sass/example
-webapp/connector-theme
-webapp/production/Connector/app.js
-webapp/production/Connector/index.html
-webapp/production/Connector/resources/Readme.md
-webapp/production/Connector/resources/Connector-all.css
-webapp/frontPage/css/application.css
-
-node_modules/
-.gradle/
-
-resources/web/cds/gen/*
diff --git a/LICENSE.txt b/LICENSE.txt
deleted file mode 100644
index 8f71f43fe..000000000
--- a/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "{}"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright {yyyy} {name of copyright owner}
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
diff --git a/README.md b/README.md
index 6e3cd3026..a315afe45 100644
--- a/README.md
+++ b/README.md
@@ -1,44 +1 @@
-# CDS
-
-## Dataset/Assay updates
-A frequent request from client is to add/modify dataset fields. There are currently 7 datasets defined for DataSpace: 1 demographics, 5 subject level assay and 1 mab assay. The dataset definitions lives in dataset xml files (MasterDataspace/study/datasets/) and are loaded to LabKey server via folder import.
-
-The following work are usually required to change dataset fields:
-Make modification to dataset definition in dataset_metadata.xml
-Add new fields, or modify existing fields label/description, etc
-Re import dataset definition by uploading MasterDataspace/ and import folder.xml
-Make schema, query and ETL changes for dataset change
-Schema change usually is needed when new fields are to be added. There is a set of import_* tables, that the ETL import flat txt import files into, as a first step. See “CDS ETLs” section for more information.
-Customize field in measure.js
-
-Measure.js: field behavior in app
-Dataset_metadata.xml defines some basic field props, such as name, description, measure, dimension, field type, etc. Fields are future decorated in measure.js to allow customized behavior in Plot (Y axis, X axis and color) and Grid variable selector.
-CDS ETLs
-2 ETLs are used to load data into the app from a set of txt files.
-
-CDSImport.xml
-This first step ETL reads txt files into a set of import_tables. When new dataset fields are requested, schema change is often needed so the import_ tables match the new fields available in the uploaded txt files.
-
-LoadApplications.xml
-This step transforms the raw data into processed data and loads to destination cds and study schema. Data processing are done in 2 ways:
-Through staging queries. There are a set of queries defined over cds as well as study schema, they are mainly used for the following purposes: intermediate / semi processed source table for ETL (lots of the ds_* queries), helper queries for Learn About (some ds_ and most learn_).
-Through java code. For more complex processing, java based (or a combination of query and java) approach is used. See PopulateTreatmentArmTask for example.
-
-## Compiling scss for cds
-Themes are built with Webpack and no longer need to be checked in. Styles are built during a gradle build via our build
-commands in package.json.
-
-Styles for main cds app live in the theme/connector/ directory.
-
-Styles for the front page live in the theme/front-page/ directory.
-
-You might need to run 'npm run build' from the cds/ root directory before running deployApp for the changes in .scss to take effect.
-
-## Staging and prod server upgrade
-Staging server reminder: One thing worth reminding Jon of during each staging upgrade is, for DataSpace staging, a data refresh is never needed/desired. The staging server may hold in progress work, such as R reports, that should not be wiped out during upgrade.
-CDS take the latest patch release build, not the latest Alpha (sprint) build.
-
-For each upgrade, developer should check if there is any dataset change. If so, upload the version of MasterDataspace/ folder that matches the build to the server, and run folder import to update dataset definition. If this is not done, ETL might fail.
-If there is new data, the 2 ETLs will be run. Usually the client uploads the new data and then run the ETLs themselves.
-
-Recommend browser cache clearing if client is seeing weird styles.
+Module moved to [LabKey/clientModules](https://github.com/LabKey/clientModules) in 25.3
diff --git a/build.gradle b/build.gradle
deleted file mode 100644
index 66afa63a5..000000000
--- a/build.gradle
+++ /dev/null
@@ -1,25 +0,0 @@
-import org.labkey.gradle.util.BuildUtils
-
-plugins {
- id 'org.labkey.build.module'
-}
-
-dependencies
-{
- BuildUtils.addLabKeyDependency(project: project, config: "implementation", depProjectPath: ":server:modules:premiumModules:dataintegration", depProjectConfig: "apiJarFile")
- BuildUtils.addLabKeyDependency(project: project, config: "jspImplementation", depProjectPath: ":server:modules:premiumModules:dataintegration", depProjectConfig: "apiJarFile")
- BuildUtils.addLabKeyDependency(project: project, config: "modules", depProjectPath: BuildUtils.getPlatformModuleProjectPath(project.gradle, "study"), depProjectConfig: "published", depExtension: "module")
- BuildUtils.addLabKeyDependency(project: project, config: "modules", depProjectPath: ":server:modules:premiumModules:dataintegration", depProjectConfig: "published", depExtension: "module")
-}
-
-project.evaluationDependsOn(BuildUtils.getPlatformModuleProjectPath(project.gradle, "query"))
-project.evaluationDependsOn(BuildUtils.getPlatformModuleProjectPath(project.gradle, "core"))
-project.evaluationDependsOn(BuildUtils.getApiProjectPath(project.gradle))
-
-// FIXME this will not work if not also building the modules below. Probably will need a
-// different approach to source code for these dependencies.
-tasks.named('compressClientLibs').configure {
- dependsOn(project(BuildUtils.getPlatformModuleProjectPath(project.gradle, "query")).tasks.processResources)
- dependsOn(project(BuildUtils.getPlatformModuleProjectPath(project.gradle, "core")).tasks.processResources)
- dependsOn(project(BuildUtils.getApiProjectPath(project.gradle)).tasks.processResources)
-}
diff --git a/module.properties b/module.properties
deleted file mode 100644
index b4bf18c2c..000000000
--- a/module.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-ModuleClass: org.labkey.cds.CDSModule
-License: Apache 2.0
-LicenseURL: http://www.apache.org/licenses/LICENSE-2.0
-ManageVersion: true
diff --git a/package-lock.json b/package-lock.json
deleted file mode 100644
index 73054599c..000000000
--- a/package-lock.json
+++ /dev/null
@@ -1,5504 +0,0 @@
-{
- "name": "cds-theme",
- "version": "0.0.1",
- "lockfileVersion": 2,
- "requires": true,
- "packages": {
- "": {
- "name": "cds-theme",
- "version": "0.0.1",
- "license": "ISC",
- "devDependencies": {
- "bourbon": "4.2.7",
- "bourbon-neat": "4.0.0",
- "compass-mixins": "0.12.11",
- "copy-webpack-plugin": "11.0.0",
- "css-loader": "6.7.1",
- "css-minimizer-webpack-plugin": "4.0.0",
- "mini-css-extract-plugin": "2.6.0",
- "resolve-url-loader": "5.0.0",
- "rimraf": "3.0.2",
- "sass": "1.52.1",
- "sass-loader": "13.0.0",
- "webpack": "5.72.1",
- "webpack-cli": "4.9.2"
- }
- },
- "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==",
- "dev": true,
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true,
- "engines": {
- "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==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@trysound/sax": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
- "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==",
- "dev": true,
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/@types/eslint": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.2.tgz",
- "integrity": "sha512-Z1nseZON+GEnFjJc04sv4NSALGjhFwy6K0HXt7qsn5ArfAKtb63dXNJHf+1YW6IpOIYRBGUbu3GwJdj8DGnCjA==",
- "dev": true,
- "dependencies": {
- "@types/estree": "*",
- "@types/json-schema": "*"
- }
- },
- "node_modules/@types/eslint-scope": {
- "version": "3.7.3",
- "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz",
- "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==",
- "dev": true,
- "dependencies": {
- "@types/eslint": "*",
- "@types/estree": "*"
- }
- },
- "node_modules/@types/estree": {
- "version": "0.0.51",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
- "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==",
- "dev": true
- },
- "node_modules/@types/json-schema": {
- "version": "7.0.11",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
- "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==",
- "dev": true
- },
- "node_modules/@types/node": {
- "version": "17.0.35",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.35.tgz",
- "integrity": "sha512-vu1SrqBjbbZ3J6vwY17jBs8Sr/BKA+/a/WtjRG+whKg1iuLFOosq872EXS0eXWILdO36DHQQeku/ZcL6hz2fpg==",
- "dev": true
- },
- "node_modules/@webassemblyjs/ast": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
- "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==",
- "dev": true,
- "dependencies": {
- "@webassemblyjs/helper-numbers": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1"
- }
- },
- "node_modules/@webassemblyjs/floating-point-hex-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz",
- "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==",
- "dev": true
- },
- "node_modules/@webassemblyjs/helper-api-error": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz",
- "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==",
- "dev": true
- },
- "node_modules/@webassemblyjs/helper-buffer": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz",
- "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==",
- "dev": true
- },
- "node_modules/@webassemblyjs/helper-numbers": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz",
- "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==",
- "dev": true,
- "dependencies": {
- "@webassemblyjs/floating-point-hex-parser": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
- "@xtuc/long": "4.2.2"
- }
- },
- "node_modules/@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz",
- "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==",
- "dev": true
- },
- "node_modules/@webassemblyjs/helper-wasm-section": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz",
- "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==",
- "dev": true,
- "dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1"
- }
- },
- "node_modules/@webassemblyjs/ieee754": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz",
- "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==",
- "dev": true,
- "dependencies": {
- "@xtuc/ieee754": "^1.2.0"
- }
- },
- "node_modules/@webassemblyjs/leb128": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz",
- "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==",
- "dev": true,
- "dependencies": {
- "@xtuc/long": "4.2.2"
- }
- },
- "node_modules/@webassemblyjs/utf8": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz",
- "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==",
- "dev": true
- },
- "node_modules/@webassemblyjs/wasm-edit": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz",
- "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==",
- "dev": true,
- "dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/helper-wasm-section": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1",
- "@webassemblyjs/wasm-opt": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "@webassemblyjs/wast-printer": "1.11.1"
- }
- },
- "node_modules/@webassemblyjs/wasm-gen": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz",
- "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==",
- "dev": true,
- "dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/ieee754": "1.11.1",
- "@webassemblyjs/leb128": "1.11.1",
- "@webassemblyjs/utf8": "1.11.1"
- }
- },
- "node_modules/@webassemblyjs/wasm-opt": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz",
- "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==",
- "dev": true,
- "dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1"
- }
- },
- "node_modules/@webassemblyjs/wasm-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz",
- "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==",
- "dev": true,
- "dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/ieee754": "1.11.1",
- "@webassemblyjs/leb128": "1.11.1",
- "@webassemblyjs/utf8": "1.11.1"
- }
- },
- "node_modules/@webassemblyjs/wast-printer": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz",
- "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==",
- "dev": true,
- "dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@xtuc/long": "4.2.2"
- }
- },
- "node_modules/@webpack-cli/configtest": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz",
- "integrity": "sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==",
- "dev": true,
- "peerDependencies": {
- "webpack": "4.x.x || 5.x.x",
- "webpack-cli": "4.x.x"
- }
- },
- "node_modules/@webpack-cli/info": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz",
- "integrity": "sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==",
- "dev": true,
- "dependencies": {
- "envinfo": "^7.7.3"
- },
- "peerDependencies": {
- "webpack-cli": "4.x.x"
- }
- },
- "node_modules/@webpack-cli/serve": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz",
- "integrity": "sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==",
- "dev": true,
- "peerDependencies": {
- "webpack-cli": "4.x.x"
- },
- "peerDependenciesMeta": {
- "webpack-dev-server": {
- "optional": true
- }
- }
- },
- "node_modules/@xtuc/ieee754": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
- "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
- "dev": true
- },
- "node_modules/@xtuc/long": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
- "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
- "dev": true
- },
- "node_modules/acorn": {
- "version": "8.7.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz",
- "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==",
- "dev": true,
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-import-assertions": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
- "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==",
- "dev": true,
- "peerDependencies": {
- "acorn": "^8"
- }
- },
- "node_modules/adjust-sourcemap-loader": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz",
- "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==",
- "dev": true,
- "dependencies": {
- "loader-utils": "^2.0.0",
- "regex-parser": "^2.2.11"
- },
- "engines": {
- "node": ">=8.9"
- }
- },
- "node_modules/ajv": {
- "version": "8.11.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
- "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
- "dev": true,
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/ajv-formats": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
- "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
- "dev": true,
- "dependencies": {
- "ajv": "^8.0.0"
- },
- "peerDependencies": {
- "ajv": "^8.0.0"
- },
- "peerDependenciesMeta": {
- "ajv": {
- "optional": true
- }
- }
- },
- "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==",
- "dev": true,
- "dependencies": {
- "fast-deep-equal": "^3.1.3"
- },
- "peerDependencies": {
- "ajv": "^8.8.2"
- }
- },
- "node_modules/anymatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
- "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
- "dev": true,
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true
- },
- "node_modules/big.js": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
- "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/binary-extensions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/boolbase": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
- "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
- "dev": true
- },
- "node_modules/bourbon": {
- "version": "4.2.7",
- "resolved": "https://registry.npmjs.org/bourbon/-/bourbon-4.2.7.tgz",
- "integrity": "sha512-0SPII1YFrHoY74meA4xIbPI/VQjV1GKYl8ef2WT3q4ZBxSQBE4O/yxkp5Ajr4W9kWFNOnDBjUjQLuq8Dx/edbw==",
- "dev": true
- },
- "node_modules/bourbon-neat": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/bourbon-neat/-/bourbon-neat-4.0.0.tgz",
- "integrity": "sha512-Ql1JdvjNvK9NbGvcBpsDkfuRRMK8fZ/mx1gRyZEy3PM/kqQ8QX0PcmKEqnZMl18YLfKaDwC0qa+e36TlDmT49g==",
- "dev": true
- },
- "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/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "dependencies": {
- "fill-range": "^7.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/browserslist": {
- "version": "4.20.3",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz",
- "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- }
- ],
- "dependencies": {
- "caniuse-lite": "^1.0.30001332",
- "electron-to-chromium": "^1.4.118",
- "escalade": "^3.1.1",
- "node-releases": "^2.0.3",
- "picocolors": "^1.0.0"
- },
- "bin": {
- "browserslist": "cli.js"
- },
- "engines": {
- "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
- }
- },
- "node_modules/buffer-from": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
- "dev": true
- },
- "node_modules/caniuse-api": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz",
- "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==",
- "dev": true,
- "dependencies": {
- "browserslist": "^4.0.0",
- "caniuse-lite": "^1.0.0",
- "lodash.memoize": "^4.1.2",
- "lodash.uniq": "^4.5.0"
- }
- },
- "node_modules/caniuse-lite": {
- "version": "1.0.30001343",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001343.tgz",
- "integrity": "sha512-8KeCrAtPMabo/XW14B+R9sZYoClx1n0b+WYgwDKZPtWR3TcdvWzdSy7mPyFEmR5WU1St9v1PW6sdO5dkFOEzfA==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
- }
- ]
- },
- "node_modules/chokidar": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ],
- "dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "engines": {
- "node": ">= 8.10.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/chokidar/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/chrome-trace-event": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
- "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
- "dev": true,
- "engines": {
- "node": ">=6.0"
- }
- },
- "node_modules/clone-deep": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
- "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
- "dev": true,
- "dependencies": {
- "is-plain-object": "^2.0.4",
- "kind-of": "^6.0.2",
- "shallow-clone": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/colord": {
- "version": "2.9.2",
- "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz",
- "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==",
- "dev": true
- },
- "node_modules/colorette": {
- "version": "2.0.16",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz",
- "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==",
- "dev": true
- },
- "node_modules/commander": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
- "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
- "dev": true,
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/compass-mixins": {
- "version": "0.12.11",
- "resolved": "https://registry.npmjs.org/compass-mixins/-/compass-mixins-0.12.11.tgz",
- "integrity": "sha512-Wyjh0EHkOhOZsZ4a2OE67yDRzzhAy2EyX5OntVLwGxpxrXGDWLZgqMm639/uGrjzUuAn6qAya+PbO/SBLxE/jA==",
- "dev": true
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true
- },
- "node_modules/convert-source-map": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
- "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.1"
- }
- },
- "node_modules/copy-webpack-plugin": {
- "version": "11.0.0",
- "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz",
- "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==",
- "dev": true,
- "dependencies": {
- "fast-glob": "^3.2.11",
- "glob-parent": "^6.0.1",
- "globby": "^13.1.1",
- "normalize-path": "^3.0.0",
- "schema-utils": "^4.0.0",
- "serialize-javascript": "^6.0.0"
- },
- "engines": {
- "node": ">= 14.15.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^5.1.0"
- }
- },
- "node_modules/cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/css-declaration-sorter": {
- "version": "6.2.2",
- "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.2.2.tgz",
- "integrity": "sha512-Ufadglr88ZLsrvS11gjeu/40Lw74D9Am/Jpr3LlYm5Q4ZP5KdlUhG+6u2EjyXeZcxmZ2h1ebCKngDjolpeLHpg==",
- "dev": true,
- "engines": {
- "node": "^10 || ^12 || >=14"
- },
- "peerDependencies": {
- "postcss": "^8.0.9"
- }
- },
- "node_modules/css-loader": {
- "version": "6.7.1",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz",
- "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==",
- "dev": true,
- "dependencies": {
- "icss-utils": "^5.1.0",
- "postcss": "^8.4.7",
- "postcss-modules-extract-imports": "^3.0.0",
- "postcss-modules-local-by-default": "^4.0.0",
- "postcss-modules-scope": "^3.0.0",
- "postcss-modules-values": "^4.0.0",
- "postcss-value-parser": "^4.2.0",
- "semver": "^7.3.5"
- },
- "engines": {
- "node": ">= 12.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^5.0.0"
- }
- },
- "node_modules/css-minimizer-webpack-plugin": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-4.0.0.tgz",
- "integrity": "sha512-7ZXXRzRHvofv3Uac5Y+RkWRNo0ZMlcg8e9/OtrqUYmwDWJo+qs67GvdeFrXLsFb7czKNwjQhPkM0avlIYl+1nA==",
- "dev": true,
- "dependencies": {
- "cssnano": "^5.1.8",
- "jest-worker": "^27.5.1",
- "postcss": "^8.4.13",
- "schema-utils": "^4.0.0",
- "serialize-javascript": "^6.0.0",
- "source-map": "^0.6.1"
- },
- "engines": {
- "node": ">= 14.15.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^5.0.0"
- },
- "peerDependenciesMeta": {
- "@parcel/css": {
- "optional": true
- },
- "clean-css": {
- "optional": true
- },
- "csso": {
- "optional": true
- },
- "esbuild": {
- "optional": true
- }
- }
- },
- "node_modules/css-select": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz",
- "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==",
- "dev": true,
- "dependencies": {
- "boolbase": "^1.0.0",
- "css-what": "^6.0.1",
- "domhandler": "^4.3.1",
- "domutils": "^2.8.0",
- "nth-check": "^2.0.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/fb55"
- }
- },
- "node_modules/css-tree": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
- "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
- "dev": true,
- "dependencies": {
- "mdn-data": "2.0.14",
- "source-map": "^0.6.1"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/css-what": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
- "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==",
- "dev": true,
- "engines": {
- "node": ">= 6"
- },
- "funding": {
- "url": "https://github.com/sponsors/fb55"
- }
- },
- "node_modules/cssesc": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
- "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
- "dev": true,
- "bin": {
- "cssesc": "bin/cssesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/cssnano": {
- "version": "5.1.9",
- "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.9.tgz",
- "integrity": "sha512-hctQHIIeDrfMjq0bQhoVmRVaSeNNOGxkvkKVOcKpJzLr09wlRrZWH4GaYudp0aszpW8wJeaO5/yBmID9n7DNCg==",
- "dev": true,
- "dependencies": {
- "cssnano-preset-default": "^5.2.9",
- "lilconfig": "^2.0.3",
- "yaml": "^1.10.2"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/cssnano"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/cssnano-preset-default": {
- "version": "5.2.9",
- "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.9.tgz",
- "integrity": "sha512-/4qcQcAfFEg+gnXE5NxKmYJ9JcT+8S5SDuJCLYMDN8sM/ymZ+lgLXq5+ohx/7V2brUCkgW2OaoCzOdAN0zvhGw==",
- "dev": true,
- "dependencies": {
- "css-declaration-sorter": "^6.2.2",
- "cssnano-utils": "^3.1.0",
- "postcss-calc": "^8.2.3",
- "postcss-colormin": "^5.3.0",
- "postcss-convert-values": "^5.1.1",
- "postcss-discard-comments": "^5.1.1",
- "postcss-discard-duplicates": "^5.1.0",
- "postcss-discard-empty": "^5.1.1",
- "postcss-discard-overridden": "^5.1.0",
- "postcss-merge-longhand": "^5.1.5",
- "postcss-merge-rules": "^5.1.1",
- "postcss-minify-font-values": "^5.1.0",
- "postcss-minify-gradients": "^5.1.1",
- "postcss-minify-params": "^5.1.3",
- "postcss-minify-selectors": "^5.2.0",
- "postcss-normalize-charset": "^5.1.0",
- "postcss-normalize-display-values": "^5.1.0",
- "postcss-normalize-positions": "^5.1.0",
- "postcss-normalize-repeat-style": "^5.1.0",
- "postcss-normalize-string": "^5.1.0",
- "postcss-normalize-timing-functions": "^5.1.0",
- "postcss-normalize-unicode": "^5.1.0",
- "postcss-normalize-url": "^5.1.0",
- "postcss-normalize-whitespace": "^5.1.1",
- "postcss-ordered-values": "^5.1.1",
- "postcss-reduce-initial": "^5.1.0",
- "postcss-reduce-transforms": "^5.1.0",
- "postcss-svgo": "^5.1.0",
- "postcss-unique-selectors": "^5.1.1"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/cssnano-utils": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz",
- "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==",
- "dev": true,
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/csso": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz",
- "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==",
- "dev": true,
- "dependencies": {
- "css-tree": "^1.1.2"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dev": true,
- "dependencies": {
- "path-type": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/dom-serializer": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
- "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
- "dev": true,
- "dependencies": {
- "domelementtype": "^2.0.1",
- "domhandler": "^4.2.0",
- "entities": "^2.0.0"
- },
- "funding": {
- "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
- }
- },
- "node_modules/domelementtype": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
- "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/fb55"
- }
- ]
- },
- "node_modules/domhandler": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
- "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
- "dev": true,
- "dependencies": {
- "domelementtype": "^2.2.0"
- },
- "engines": {
- "node": ">= 4"
- },
- "funding": {
- "url": "https://github.com/fb55/domhandler?sponsor=1"
- }
- },
- "node_modules/domutils": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
- "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
- "dev": true,
- "dependencies": {
- "dom-serializer": "^1.0.1",
- "domelementtype": "^2.2.0",
- "domhandler": "^4.2.0"
- },
- "funding": {
- "url": "https://github.com/fb55/domutils?sponsor=1"
- }
- },
- "node_modules/electron-to-chromium": {
- "version": "1.4.140",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.140.tgz",
- "integrity": "sha512-NLz5va823QfJBYOO/hLV4AfU4Crmkl/6Hl2pH3qdJcmi0ySZ3YTWHxOlDm3uJOFBEPy3pIhu8gKQo6prQTWKKA==",
- "dev": true
- },
- "node_modules/emojis-list": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
- "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
- "dev": true,
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/enhanced-resolve": {
- "version": "5.9.3",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz",
- "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/entities": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
- "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
- "dev": true,
- "funding": {
- "url": "https://github.com/fb55/entities?sponsor=1"
- }
- },
- "node_modules/envinfo": {
- "version": "7.8.1",
- "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz",
- "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==",
- "dev": true,
- "bin": {
- "envinfo": "dist/cli.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/es-module-lexer": {
- "version": "0.9.3",
- "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz",
- "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==",
- "dev": true
- },
- "node_modules/escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/eslint-scope": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
- "dev": true,
- "dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/esrecurse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "dev": true,
- "dependencies": {
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/esrecurse/node_modules/estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true,
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
- "dev": true,
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/events": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
- "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
- "dev": true,
- "engines": {
- "node": ">=0.8.x"
- }
- },
- "node_modules/execa": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
- "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
- "dev": true,
- "dependencies": {
- "cross-spawn": "^7.0.3",
- "get-stream": "^6.0.0",
- "human-signals": "^2.1.0",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.1",
- "onetime": "^5.1.2",
- "signal-exit": "^3.0.3",
- "strip-final-newline": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/execa?sponsor=1"
- }
- },
- "node_modules/fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true
- },
- "node_modules/fast-glob": {
- "version": "3.2.11",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
- "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- },
- "engines": {
- "node": ">=8.6.0"
- }
- },
- "node_modules/fast-glob/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
- },
- "node_modules/fastest-levenshtein": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz",
- "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==",
- "dev": true
- },
- "node_modules/fastq": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
- "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
- "dev": true,
- "dependencies": {
- "reusify": "^1.0.4"
- }
- },
- "node_modules/fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
- },
- "node_modules/fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "dev": true,
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
- "node_modules/function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
- "node_modules/get-stream": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/glob": {
- "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",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dev": true,
- "dependencies": {
- "is-glob": "^4.0.3"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/glob-to-regexp": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
- "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
- "dev": true
- },
- "node_modules/globby": {
- "version": "13.1.1",
- "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.1.tgz",
- "integrity": "sha512-XMzoDZbGZ37tufiv7g0N4F/zp3zkwdFtVbV3EHsVl1KQr4RPLfNoT068/97RPshz2J5xYNEjLKKBKaGHifBd3Q==",
- "dev": true,
- "dependencies": {
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.11",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^4.0.0"
- },
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/graceful-fs": {
- "version": "4.2.10",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
- "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
- "dev": true
- },
- "node_modules/has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "dependencies": {
- "function-bind": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/human-signals": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
- "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
- "dev": true,
- "engines": {
- "node": ">=10.17.0"
- }
- },
- "node_modules/icss-utils": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
- "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
- "dev": true,
- "engines": {
- "node": "^10 || ^12 || >= 14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
- }
- },
- "node_modules/ignore": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
- "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
- "dev": true,
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/immutable": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz",
- "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==",
- "dev": true
- },
- "node_modules/import-local": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz",
- "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==",
- "dev": true,
- "dependencies": {
- "pkg-dir": "^4.2.0",
- "resolve-cwd": "^3.0.0"
- },
- "bin": {
- "import-local-fixture": "fixtures/cli.js"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "dev": true,
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
- },
- "node_modules/interpret": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz",
- "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==",
- "dev": true,
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dev": true,
- "dependencies": {
- "binary-extensions": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-core-module": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
- "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
- "dev": true,
- "dependencies": {
- "has": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/is-plain-object": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
- "dev": true,
- "dependencies": {
- "isobject": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-stream": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
- "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
- "dev": true
- },
- "node_modules/isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/jest-worker": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
- "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
- "dev": true,
- "dependencies": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- }
- },
- "node_modules/json-parse-even-better-errors": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
- "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
- "dev": true
- },
- "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==",
- "dev": true
- },
- "node_modules/json5": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
- "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
- "dev": true,
- "bin": {
- "json5": "lib/cli.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/klona": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz",
- "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/lilconfig": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz",
- "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/loader-runner": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
- "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
- "dev": true,
- "engines": {
- "node": ">=6.11.5"
- }
- },
- "node_modules/loader-utils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz",
- "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==",
- "dev": true,
- "dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- },
- "engines": {
- "node": ">=8.9.0"
- }
- },
- "node_modules/locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "dependencies": {
- "p-locate": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/lodash.memoize": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
- "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
- "dev": true
- },
- "node_modules/lodash.sortby": {
- "version": "4.7.0",
- "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
- "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
- "dev": true
- },
- "node_modules/lodash.uniq": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
- "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
- "dev": true
- },
- "node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/mdn-data": {
- "version": "2.0.14",
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
- "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==",
- "dev": true
- },
- "node_modules/merge-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
- "dev": true
- },
- "node_modules/merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
- "dev": true,
- "dependencies": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "dev": true,
- "dependencies": {
- "mime-db": "1.52.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/mini-css-extract-plugin": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.0.tgz",
- "integrity": "sha512-ndG8nxCEnAemsg4FSgS+yNyHKgkTB4nPKqCOgh65j3/30qqC5RaSQQXMm++Y6sb6E1zRSxPkztj9fqxhS1Eo6w==",
- "dev": true,
- "dependencies": {
- "schema-utils": "^4.0.0"
- },
- "engines": {
- "node": ">= 12.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^5.0.0"
- }
- },
- "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/nanoid": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
- "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
- "dev": true,
- "bin": {
- "nanoid": "bin/nanoid.cjs"
- },
- "engines": {
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
- }
- },
- "node_modules/neo-async": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
- "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
- "dev": true
- },
- "node_modules/node-releases": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz",
- "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==",
- "dev": true
- },
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/normalize-url": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
- "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/npm-run-path": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
- "dev": true,
- "dependencies": {
- "path-key": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/nth-check": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
- "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
- "dev": true,
- "dependencies": {
- "boolbase": "^1.0.0"
- },
- "funding": {
- "url": "https://github.com/fb55/nth-check?sponsor=1"
- }
- },
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/onetime": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
- "dev": true,
- "dependencies": {
- "mimic-fn": "^2.1.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "dependencies": {
- "p-try": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "dependencies": {
- "p-limit": "^2.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "dev": true
- },
- "node_modules/path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
- "dev": true
- },
- "node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true,
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
- "dev": true,
- "dependencies": {
- "find-up": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/postcss": {
- "version": "8.4.14",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz",
- "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss"
- }
- ],
- "dependencies": {
- "nanoid": "^3.3.4",
- "picocolors": "^1.0.0",
- "source-map-js": "^1.0.2"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- }
- },
- "node_modules/postcss-calc": {
- "version": "8.2.4",
- "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz",
- "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==",
- "dev": true,
- "dependencies": {
- "postcss-selector-parser": "^6.0.9",
- "postcss-value-parser": "^4.2.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.2"
- }
- },
- "node_modules/postcss-colormin": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz",
- "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==",
- "dev": true,
- "dependencies": {
- "browserslist": "^4.16.6",
- "caniuse-api": "^3.0.0",
- "colord": "^2.9.1",
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-convert-values": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.1.tgz",
- "integrity": "sha512-UjcYfl3wJJdcabGKk8lgetPvhi1Et7VDc3sYr9EyhNBeB00YD4vHgPBp+oMVoG/dDWCc6ASbmzPNV6jADTwh8Q==",
- "dev": true,
- "dependencies": {
- "browserslist": "^4.20.3",
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-discard-comments": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.1.tgz",
- "integrity": "sha512-5JscyFmvkUxz/5/+TB3QTTT9Gi9jHkcn8dcmmuN68JQcv3aQg4y88yEHHhwFB52l/NkaJ43O0dbksGMAo49nfQ==",
- "dev": true,
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-discard-duplicates": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz",
- "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==",
- "dev": true,
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-discard-empty": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz",
- "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==",
- "dev": true,
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-discard-overridden": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz",
- "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==",
- "dev": true,
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-merge-longhand": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.5.tgz",
- "integrity": "sha512-NOG1grw9wIO+60arKa2YYsrbgvP6tp+jqc7+ZD5/MalIw234ooH2C6KlR6FEn4yle7GqZoBxSK1mLBE9KPur6w==",
- "dev": true,
- "dependencies": {
- "postcss-value-parser": "^4.2.0",
- "stylehacks": "^5.1.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-merge-rules": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.1.tgz",
- "integrity": "sha512-8wv8q2cXjEuCcgpIB1Xx1pIy8/rhMPIQqYKNzEdyx37m6gpq83mQQdCxgIkFgliyEnKvdwJf/C61vN4tQDq4Ww==",
- "dev": true,
- "dependencies": {
- "browserslist": "^4.16.6",
- "caniuse-api": "^3.0.0",
- "cssnano-utils": "^3.1.0",
- "postcss-selector-parser": "^6.0.5"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-minify-font-values": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz",
- "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==",
- "dev": true,
- "dependencies": {
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-minify-gradients": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz",
- "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==",
- "dev": true,
- "dependencies": {
- "colord": "^2.9.1",
- "cssnano-utils": "^3.1.0",
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-minify-params": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.3.tgz",
- "integrity": "sha512-bkzpWcjykkqIujNL+EVEPOlLYi/eZ050oImVtHU7b4lFS82jPnsCb44gvC6pxaNt38Els3jWYDHTjHKf0koTgg==",
- "dev": true,
- "dependencies": {
- "browserslist": "^4.16.6",
- "cssnano-utils": "^3.1.0",
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-minify-selectors": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.0.tgz",
- "integrity": "sha512-vYxvHkW+iULstA+ctVNx0VoRAR4THQQRkG77o0oa4/mBS0OzGvvzLIvHDv/nNEM0crzN2WIyFU5X7wZhaUK3RA==",
- "dev": true,
- "dependencies": {
- "postcss-selector-parser": "^6.0.5"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-modules-extract-imports": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
- "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
- "dev": true,
- "engines": {
- "node": "^10 || ^12 || >= 14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
- }
- },
- "node_modules/postcss-modules-local-by-default": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz",
- "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==",
- "dev": true,
- "dependencies": {
- "icss-utils": "^5.0.0",
- "postcss-selector-parser": "^6.0.2",
- "postcss-value-parser": "^4.1.0"
- },
- "engines": {
- "node": "^10 || ^12 || >= 14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
- }
- },
- "node_modules/postcss-modules-scope": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz",
- "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==",
- "dev": true,
- "dependencies": {
- "postcss-selector-parser": "^6.0.4"
- },
- "engines": {
- "node": "^10 || ^12 || >= 14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
- }
- },
- "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==",
- "dev": true,
- "dependencies": {
- "icss-utils": "^5.0.0"
- },
- "engines": {
- "node": "^10 || ^12 || >= 14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
- }
- },
- "node_modules/postcss-normalize-charset": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz",
- "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==",
- "dev": true,
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-normalize-display-values": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz",
- "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==",
- "dev": true,
- "dependencies": {
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-normalize-positions": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.0.tgz",
- "integrity": "sha512-8gmItgA4H5xiUxgN/3TVvXRoJxkAWLW6f/KKhdsH03atg0cB8ilXnrB5PpSshwVu/dD2ZsRFQcR1OEmSBDAgcQ==",
- "dev": true,
- "dependencies": {
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-normalize-repeat-style": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.0.tgz",
- "integrity": "sha512-IR3uBjc+7mcWGL6CtniKNQ4Rr5fTxwkaDHwMBDGGs1x9IVRkYIT/M4NelZWkAOBdV6v3Z9S46zqaKGlyzHSchw==",
- "dev": true,
- "dependencies": {
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-normalize-string": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz",
- "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==",
- "dev": true,
- "dependencies": {
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-normalize-timing-functions": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz",
- "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==",
- "dev": true,
- "dependencies": {
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-normalize-unicode": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz",
- "integrity": "sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==",
- "dev": true,
- "dependencies": {
- "browserslist": "^4.16.6",
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-normalize-url": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz",
- "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==",
- "dev": true,
- "dependencies": {
- "normalize-url": "^6.0.1",
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-normalize-whitespace": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz",
- "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==",
- "dev": true,
- "dependencies": {
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-ordered-values": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.1.tgz",
- "integrity": "sha512-7lxgXF0NaoMIgyihL/2boNAEZKiW0+HkMhdKMTD93CjW8TdCy2hSdj8lsAo+uwm7EDG16Da2Jdmtqpedl0cMfw==",
- "dev": true,
- "dependencies": {
- "cssnano-utils": "^3.1.0",
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-reduce-initial": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz",
- "integrity": "sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==",
- "dev": true,
- "dependencies": {
- "browserslist": "^4.16.6",
- "caniuse-api": "^3.0.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-reduce-transforms": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz",
- "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==",
- "dev": true,
- "dependencies": {
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-selector-parser": {
- "version": "6.0.10",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
- "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
- "dev": true,
- "dependencies": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/postcss-svgo": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz",
- "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==",
- "dev": true,
- "dependencies": {
- "postcss-value-parser": "^4.2.0",
- "svgo": "^2.7.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-unique-selectors": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz",
- "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==",
- "dev": true,
- "dependencies": {
- "postcss-selector-parser": "^6.0.5"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-value-parser": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
- "dev": true
- },
- "node_modules/punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/randombytes": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "^5.1.0"
- }
- },
- "node_modules/readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "dev": true,
- "dependencies": {
- "picomatch": "^2.2.1"
- },
- "engines": {
- "node": ">=8.10.0"
- }
- },
- "node_modules/rechoir": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
- "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==",
- "dev": true,
- "dependencies": {
- "resolve": "^1.9.0"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/regex-parser": {
- "version": "2.2.11",
- "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz",
- "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==",
- "dev": true
- },
- "node_modules/require-from-string": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
- "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/resolve": {
- "version": "1.22.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
- "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
- "dev": true,
- "dependencies": {
- "is-core-module": "^2.8.1",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- },
- "bin": {
- "resolve": "bin/resolve"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/resolve-cwd": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
- "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
- "dev": true,
- "dependencies": {
- "resolve-from": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/resolve-url-loader": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz",
- "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==",
- "dev": true,
- "dependencies": {
- "adjust-sourcemap-loader": "^4.0.0",
- "convert-source-map": "^1.7.0",
- "loader-utils": "^2.0.0",
- "postcss": "^8.2.14",
- "source-map": "0.6.1"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "dev": true,
- "engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
- }
- },
- "node_modules/rimraf": {
- "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"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "queue-microtask": "^1.2.2"
- }
- },
- "node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "node_modules/sass": {
- "version": "1.52.1",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.52.1.tgz",
- "integrity": "sha512-fSzYTbr7z8oQnVJ3Acp9hV80dM1fkMN7mSD/25mpcct9F7FPBMOI8krEYALgU1aZoqGhQNhTPsuSmxjnIvAm4Q==",
- "dev": true,
- "dependencies": {
- "chokidar": ">=3.0.0 <4.0.0",
- "immutable": "^4.0.0",
- "source-map-js": ">=0.6.2 <2.0.0"
- },
- "bin": {
- "sass": "sass.js"
- },
- "engines": {
- "node": ">=12.0.0"
- }
- },
- "node_modules/sass-loader": {
- "version": "13.0.0",
- "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.0.0.tgz",
- "integrity": "sha512-IHCFecI+rbPvXE2zO/mqdVFe8MU7ElGrwga9hh2H65Ru4iaBJAMRteum1c4Gsxi9Cq1FOtTEDd6+/AEYuQDM4Q==",
- "dev": true,
- "dependencies": {
- "klona": "^2.0.4",
- "neo-async": "^2.6.2"
- },
- "engines": {
- "node": ">= 14.15.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "fibers": ">= 3.1.0",
- "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0",
- "sass": "^1.3.0",
- "sass-embedded": "*",
- "webpack": "^5.0.0"
- },
- "peerDependenciesMeta": {
- "fibers": {
- "optional": true
- },
- "node-sass": {
- "optional": true
- },
- "sass": {
- "optional": true
- },
- "sass-embedded": {
- "optional": true
- }
- }
- },
- "node_modules/schema-utils": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
- "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
- "dev": true,
- "dependencies": {
- "@types/json-schema": "^7.0.9",
- "ajv": "^8.8.0",
- "ajv-formats": "^2.1.1",
- "ajv-keywords": "^5.0.0"
- },
- "engines": {
- "node": ">= 12.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
- "node_modules/semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
- "dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/serialize-javascript": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
- "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
- "dev": true,
- "dependencies": {
- "randombytes": "^2.1.0"
- }
- },
- "node_modules/shallow-clone": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
- "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
- "dev": true,
- "dependencies": {
- "kind-of": "^6.0.2"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "dependencies": {
- "shebang-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/signal-exit": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
- "dev": true
- },
- "node_modules/slash": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
- "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
- "dev": true,
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/source-map-js": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
- "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/source-map-support": {
- "version": "0.5.21",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
- "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
- "dev": true,
- "dependencies": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "node_modules/stable": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
- "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
- "dev": true
- },
- "node_modules/strip-final-newline": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
- "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/stylehacks": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz",
- "integrity": "sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==",
- "dev": true,
- "dependencies": {
- "browserslist": "^4.16.6",
- "postcss-selector-parser": "^6.0.4"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/supports-color?sponsor=1"
- }
- },
- "node_modules/supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/svgo": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz",
- "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==",
- "dev": true,
- "dependencies": {
- "@trysound/sax": "0.2.0",
- "commander": "^7.2.0",
- "css-select": "^4.1.3",
- "css-tree": "^1.1.3",
- "csso": "^4.2.0",
- "picocolors": "^1.0.0",
- "stable": "^0.1.8"
- },
- "bin": {
- "svgo": "bin/svgo"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/tapable": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
- "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/terser": {
- "version": "5.13.1",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.13.1.tgz",
- "integrity": "sha512-hn4WKOfwnwbYfe48NgrQjqNOH9jzLqRcIfbYytOXCOv46LBfWr9bDS17MQqOi+BWGD0sJK3Sj5NC/gJjiojaoA==",
- "dev": true,
- "dependencies": {
- "acorn": "^8.5.0",
- "commander": "^2.20.0",
- "source-map": "~0.8.0-beta.0",
- "source-map-support": "~0.5.20"
- },
- "bin": {
- "terser": "bin/terser"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/terser-webpack-plugin": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz",
- "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==",
- "dev": true,
- "dependencies": {
- "jest-worker": "^27.4.5",
- "schema-utils": "^3.1.1",
- "serialize-javascript": "^6.0.0",
- "source-map": "^0.6.1",
- "terser": "^5.7.2"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^5.1.0"
- },
- "peerDependenciesMeta": {
- "@swc/core": {
- "optional": true
- },
- "esbuild": {
- "optional": true
- },
- "uglify-js": {
- "optional": true
- }
- }
- },
- "node_modules/terser-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==",
- "dev": true,
- "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/terser-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==",
- "dev": true,
- "peerDependencies": {
- "ajv": "^6.9.1"
- }
- },
- "node_modules/terser-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==",
- "dev": true
- },
- "node_modules/terser-webpack-plugin/node_modules/schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "dev": true,
- "dependencies": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
- "node_modules/terser/node_modules/commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "dev": true
- },
- "node_modules/terser/node_modules/source-map": {
- "version": "0.8.0-beta.0",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz",
- "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==",
- "dev": true,
- "dependencies": {
- "whatwg-url": "^7.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/tr46": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
- "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
- "dev": true,
- "dependencies": {
- "punycode": "^2.1.0"
- }
- },
- "node_modules/uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dev": true,
- "dependencies": {
- "punycode": "^2.1.0"
- }
- },
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
- "dev": true
- },
- "node_modules/watchpack": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz",
- "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==",
- "dev": true,
- "dependencies": {
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.1.2"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/webidl-conversions": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
- "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
- "dev": true
- },
- "node_modules/webpack": {
- "version": "5.72.1",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.1.tgz",
- "integrity": "sha512-dXG5zXCLspQR4krZVR6QgajnZOjW2K/djHvdcRaDQvsjV9z9vaW6+ja5dZOYbqBBjF6kGXka/2ZyxNdc+8Jung==",
- "dev": true,
- "dependencies": {
- "@types/eslint-scope": "^3.7.3",
- "@types/estree": "^0.0.51",
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/wasm-edit": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "acorn": "^8.4.1",
- "acorn-import-assertions": "^1.7.6",
- "browserslist": "^4.14.5",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.9.3",
- "es-module-lexer": "^0.9.0",
- "eslint-scope": "5.1.1",
- "events": "^3.2.0",
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.2.9",
- "json-parse-even-better-errors": "^2.3.1",
- "loader-runner": "^4.2.0",
- "mime-types": "^2.1.27",
- "neo-async": "^2.6.2",
- "schema-utils": "^3.1.0",
- "tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.1.3",
- "watchpack": "^2.3.1",
- "webpack-sources": "^3.2.3"
- },
- "bin": {
- "webpack": "bin/webpack.js"
- },
- "engines": {
- "node": ">=10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependenciesMeta": {
- "webpack-cli": {
- "optional": true
- }
- }
- },
- "node_modules/webpack-cli": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz",
- "integrity": "sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==",
- "dev": true,
- "dependencies": {
- "@discoveryjs/json-ext": "^0.5.0",
- "@webpack-cli/configtest": "^1.1.1",
- "@webpack-cli/info": "^1.4.1",
- "@webpack-cli/serve": "^1.6.1",
- "colorette": "^2.0.14",
- "commander": "^7.0.0",
- "execa": "^5.0.0",
- "fastest-levenshtein": "^1.0.12",
- "import-local": "^3.0.2",
- "interpret": "^2.2.0",
- "rechoir": "^0.7.0",
- "webpack-merge": "^5.7.3"
- },
- "bin": {
- "webpack-cli": "bin/cli.js"
- },
- "engines": {
- "node": ">=10.13.0"
- },
- "peerDependencies": {
- "webpack": "4.x.x || 5.x.x"
- },
- "peerDependenciesMeta": {
- "@webpack-cli/generators": {
- "optional": true
- },
- "@webpack-cli/migrate": {
- "optional": true
- },
- "webpack-bundle-analyzer": {
- "optional": true
- },
- "webpack-dev-server": {
- "optional": true
- }
- }
- },
- "node_modules/webpack-merge": {
- "version": "5.8.0",
- "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz",
- "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==",
- "dev": true,
- "dependencies": {
- "clone-deep": "^4.0.1",
- "wildcard": "^2.0.0"
- },
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/webpack-sources": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
- "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
- "dev": true,
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/webpack/node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "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/webpack/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==",
- "dev": true,
- "peerDependencies": {
- "ajv": "^6.9.1"
- }
- },
- "node_modules/webpack/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==",
- "dev": true
- },
- "node_modules/webpack/node_modules/schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "dev": true,
- "dependencies": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
- "node_modules/whatwg-url": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
- "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
- "dev": true,
- "dependencies": {
- "lodash.sortby": "^4.7.0",
- "tr46": "^1.0.1",
- "webidl-conversions": "^4.0.2"
- }
- },
- "node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/wildcard": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz",
- "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==",
- "dev": true
- },
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
- },
- "node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- },
- "node_modules/yaml": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
- "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
- "dev": true,
- "engines": {
- "node": ">= 6"
- }
- }
- },
- "dependencies": {
- "@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==",
- "dev": true
- },
- "@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "requires": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- }
- },
- "@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true
- },
- "@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==",
- "dev": true,
- "requires": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- }
- },
- "@trysound/sax": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
- "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==",
- "dev": true
- },
- "@types/eslint": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.2.tgz",
- "integrity": "sha512-Z1nseZON+GEnFjJc04sv4NSALGjhFwy6K0HXt7qsn5ArfAKtb63dXNJHf+1YW6IpOIYRBGUbu3GwJdj8DGnCjA==",
- "dev": true,
- "requires": {
- "@types/estree": "*",
- "@types/json-schema": "*"
- }
- },
- "@types/eslint-scope": {
- "version": "3.7.3",
- "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz",
- "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==",
- "dev": true,
- "requires": {
- "@types/eslint": "*",
- "@types/estree": "*"
- }
- },
- "@types/estree": {
- "version": "0.0.51",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
- "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==",
- "dev": true
- },
- "@types/json-schema": {
- "version": "7.0.11",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
- "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==",
- "dev": true
- },
- "@types/node": {
- "version": "17.0.35",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.35.tgz",
- "integrity": "sha512-vu1SrqBjbbZ3J6vwY17jBs8Sr/BKA+/a/WtjRG+whKg1iuLFOosq872EXS0eXWILdO36DHQQeku/ZcL6hz2fpg==",
- "dev": true
- },
- "@webassemblyjs/ast": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
- "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==",
- "dev": true,
- "requires": {
- "@webassemblyjs/helper-numbers": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1"
- }
- },
- "@webassemblyjs/floating-point-hex-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz",
- "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==",
- "dev": true
- },
- "@webassemblyjs/helper-api-error": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz",
- "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==",
- "dev": true
- },
- "@webassemblyjs/helper-buffer": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz",
- "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==",
- "dev": true
- },
- "@webassemblyjs/helper-numbers": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz",
- "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==",
- "dev": true,
- "requires": {
- "@webassemblyjs/floating-point-hex-parser": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
- "@xtuc/long": "4.2.2"
- }
- },
- "@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz",
- "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==",
- "dev": true
- },
- "@webassemblyjs/helper-wasm-section": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz",
- "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==",
- "dev": true,
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1"
- }
- },
- "@webassemblyjs/ieee754": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz",
- "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==",
- "dev": true,
- "requires": {
- "@xtuc/ieee754": "^1.2.0"
- }
- },
- "@webassemblyjs/leb128": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz",
- "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==",
- "dev": true,
- "requires": {
- "@xtuc/long": "4.2.2"
- }
- },
- "@webassemblyjs/utf8": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz",
- "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==",
- "dev": true
- },
- "@webassemblyjs/wasm-edit": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz",
- "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==",
- "dev": true,
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/helper-wasm-section": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1",
- "@webassemblyjs/wasm-opt": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "@webassemblyjs/wast-printer": "1.11.1"
- }
- },
- "@webassemblyjs/wasm-gen": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz",
- "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==",
- "dev": true,
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/ieee754": "1.11.1",
- "@webassemblyjs/leb128": "1.11.1",
- "@webassemblyjs/utf8": "1.11.1"
- }
- },
- "@webassemblyjs/wasm-opt": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz",
- "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==",
- "dev": true,
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1"
- }
- },
- "@webassemblyjs/wasm-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz",
- "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==",
- "dev": true,
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/ieee754": "1.11.1",
- "@webassemblyjs/leb128": "1.11.1",
- "@webassemblyjs/utf8": "1.11.1"
- }
- },
- "@webassemblyjs/wast-printer": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz",
- "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==",
- "dev": true,
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@xtuc/long": "4.2.2"
- }
- },
- "@webpack-cli/configtest": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz",
- "integrity": "sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==",
- "dev": true
- },
- "@webpack-cli/info": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz",
- "integrity": "sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==",
- "dev": true,
- "requires": {
- "envinfo": "^7.7.3"
- }
- },
- "@webpack-cli/serve": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz",
- "integrity": "sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==",
- "dev": true
- },
- "@xtuc/ieee754": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
- "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
- "dev": true
- },
- "@xtuc/long": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
- "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
- "dev": true
- },
- "acorn": {
- "version": "8.7.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz",
- "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==",
- "dev": true
- },
- "acorn-import-assertions": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
- "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==",
- "dev": true
- },
- "adjust-sourcemap-loader": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz",
- "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==",
- "dev": true,
- "requires": {
- "loader-utils": "^2.0.0",
- "regex-parser": "^2.2.11"
- }
- },
- "ajv": {
- "version": "8.11.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
- "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
- "dev": true,
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
- }
- },
- "ajv-formats": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
- "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
- "dev": true,
- "requires": {
- "ajv": "^8.0.0"
- }
- },
- "ajv-keywords": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
- "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
- "dev": true,
- "requires": {
- "fast-deep-equal": "^3.1.3"
- }
- },
- "anymatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
- "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
- "dev": true,
- "requires": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- }
- },
- "balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true
- },
- "big.js": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
- "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
- "dev": true
- },
- "binary-extensions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
- "dev": true
- },
- "boolbase": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
- "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
- "dev": true
- },
- "bourbon": {
- "version": "4.2.7",
- "resolved": "https://registry.npmjs.org/bourbon/-/bourbon-4.2.7.tgz",
- "integrity": "sha512-0SPII1YFrHoY74meA4xIbPI/VQjV1GKYl8ef2WT3q4ZBxSQBE4O/yxkp5Ajr4W9kWFNOnDBjUjQLuq8Dx/edbw==",
- "dev": true
- },
- "bourbon-neat": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/bourbon-neat/-/bourbon-neat-4.0.0.tgz",
- "integrity": "sha512-Ql1JdvjNvK9NbGvcBpsDkfuRRMK8fZ/mx1gRyZEy3PM/kqQ8QX0PcmKEqnZMl18YLfKaDwC0qa+e36TlDmT49g==",
- "dev": true
- },
- "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,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "browserslist": {
- "version": "4.20.3",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz",
- "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==",
- "dev": true,
- "requires": {
- "caniuse-lite": "^1.0.30001332",
- "electron-to-chromium": "^1.4.118",
- "escalade": "^3.1.1",
- "node-releases": "^2.0.3",
- "picocolors": "^1.0.0"
- }
- },
- "buffer-from": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
- "dev": true
- },
- "caniuse-api": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz",
- "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==",
- "dev": true,
- "requires": {
- "browserslist": "^4.0.0",
- "caniuse-lite": "^1.0.0",
- "lodash.memoize": "^4.1.2",
- "lodash.uniq": "^4.5.0"
- }
- },
- "caniuse-lite": {
- "version": "1.0.30001343",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001343.tgz",
- "integrity": "sha512-8KeCrAtPMabo/XW14B+R9sZYoClx1n0b+WYgwDKZPtWR3TcdvWzdSy7mPyFEmR5WU1St9v1PW6sdO5dkFOEzfA==",
- "dev": true
- },
- "chokidar": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
- "dev": true,
- "requires": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "fsevents": "~2.3.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "dependencies": {
- "glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "requires": {
- "is-glob": "^4.0.1"
- }
- }
- }
- },
- "chrome-trace-event": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
- "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
- "dev": true
- },
- "clone-deep": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
- "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
- "dev": true,
- "requires": {
- "is-plain-object": "^2.0.4",
- "kind-of": "^6.0.2",
- "shallow-clone": "^3.0.0"
- }
- },
- "colord": {
- "version": "2.9.2",
- "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz",
- "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==",
- "dev": true
- },
- "colorette": {
- "version": "2.0.16",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz",
- "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==",
- "dev": true
- },
- "commander": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
- "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
- "dev": true
- },
- "compass-mixins": {
- "version": "0.12.11",
- "resolved": "https://registry.npmjs.org/compass-mixins/-/compass-mixins-0.12.11.tgz",
- "integrity": "sha512-Wyjh0EHkOhOZsZ4a2OE67yDRzzhAy2EyX5OntVLwGxpxrXGDWLZgqMm639/uGrjzUuAn6qAya+PbO/SBLxE/jA==",
- "dev": true
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true
- },
- "convert-source-map": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
- "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.1"
- }
- },
- "copy-webpack-plugin": {
- "version": "11.0.0",
- "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz",
- "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==",
- "dev": true,
- "requires": {
- "fast-glob": "^3.2.11",
- "glob-parent": "^6.0.1",
- "globby": "^13.1.1",
- "normalize-path": "^3.0.0",
- "schema-utils": "^4.0.0",
- "serialize-javascript": "^6.0.0"
- }
- },
- "cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- }
- },
- "css-declaration-sorter": {
- "version": "6.2.2",
- "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.2.2.tgz",
- "integrity": "sha512-Ufadglr88ZLsrvS11gjeu/40Lw74D9Am/Jpr3LlYm5Q4ZP5KdlUhG+6u2EjyXeZcxmZ2h1ebCKngDjolpeLHpg==",
- "dev": true
- },
- "css-loader": {
- "version": "6.7.1",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz",
- "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==",
- "dev": true,
- "requires": {
- "icss-utils": "^5.1.0",
- "postcss": "^8.4.7",
- "postcss-modules-extract-imports": "^3.0.0",
- "postcss-modules-local-by-default": "^4.0.0",
- "postcss-modules-scope": "^3.0.0",
- "postcss-modules-values": "^4.0.0",
- "postcss-value-parser": "^4.2.0",
- "semver": "^7.3.5"
- }
- },
- "css-minimizer-webpack-plugin": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-4.0.0.tgz",
- "integrity": "sha512-7ZXXRzRHvofv3Uac5Y+RkWRNo0ZMlcg8e9/OtrqUYmwDWJo+qs67GvdeFrXLsFb7czKNwjQhPkM0avlIYl+1nA==",
- "dev": true,
- "requires": {
- "cssnano": "^5.1.8",
- "jest-worker": "^27.5.1",
- "postcss": "^8.4.13",
- "schema-utils": "^4.0.0",
- "serialize-javascript": "^6.0.0",
- "source-map": "^0.6.1"
- }
- },
- "css-select": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz",
- "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==",
- "dev": true,
- "requires": {
- "boolbase": "^1.0.0",
- "css-what": "^6.0.1",
- "domhandler": "^4.3.1",
- "domutils": "^2.8.0",
- "nth-check": "^2.0.1"
- }
- },
- "css-tree": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
- "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
- "dev": true,
- "requires": {
- "mdn-data": "2.0.14",
- "source-map": "^0.6.1"
- }
- },
- "css-what": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
- "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==",
- "dev": true
- },
- "cssesc": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
- "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
- "dev": true
- },
- "cssnano": {
- "version": "5.1.9",
- "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.9.tgz",
- "integrity": "sha512-hctQHIIeDrfMjq0bQhoVmRVaSeNNOGxkvkKVOcKpJzLr09wlRrZWH4GaYudp0aszpW8wJeaO5/yBmID9n7DNCg==",
- "dev": true,
- "requires": {
- "cssnano-preset-default": "^5.2.9",
- "lilconfig": "^2.0.3",
- "yaml": "^1.10.2"
- }
- },
- "cssnano-preset-default": {
- "version": "5.2.9",
- "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.9.tgz",
- "integrity": "sha512-/4qcQcAfFEg+gnXE5NxKmYJ9JcT+8S5SDuJCLYMDN8sM/ymZ+lgLXq5+ohx/7V2brUCkgW2OaoCzOdAN0zvhGw==",
- "dev": true,
- "requires": {
- "css-declaration-sorter": "^6.2.2",
- "cssnano-utils": "^3.1.0",
- "postcss-calc": "^8.2.3",
- "postcss-colormin": "^5.3.0",
- "postcss-convert-values": "^5.1.1",
- "postcss-discard-comments": "^5.1.1",
- "postcss-discard-duplicates": "^5.1.0",
- "postcss-discard-empty": "^5.1.1",
- "postcss-discard-overridden": "^5.1.0",
- "postcss-merge-longhand": "^5.1.5",
- "postcss-merge-rules": "^5.1.1",
- "postcss-minify-font-values": "^5.1.0",
- "postcss-minify-gradients": "^5.1.1",
- "postcss-minify-params": "^5.1.3",
- "postcss-minify-selectors": "^5.2.0",
- "postcss-normalize-charset": "^5.1.0",
- "postcss-normalize-display-values": "^5.1.0",
- "postcss-normalize-positions": "^5.1.0",
- "postcss-normalize-repeat-style": "^5.1.0",
- "postcss-normalize-string": "^5.1.0",
- "postcss-normalize-timing-functions": "^5.1.0",
- "postcss-normalize-unicode": "^5.1.0",
- "postcss-normalize-url": "^5.1.0",
- "postcss-normalize-whitespace": "^5.1.1",
- "postcss-ordered-values": "^5.1.1",
- "postcss-reduce-initial": "^5.1.0",
- "postcss-reduce-transforms": "^5.1.0",
- "postcss-svgo": "^5.1.0",
- "postcss-unique-selectors": "^5.1.1"
- }
- },
- "cssnano-utils": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz",
- "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==",
- "dev": true
- },
- "csso": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz",
- "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==",
- "dev": true,
- "requires": {
- "css-tree": "^1.1.2"
- }
- },
- "dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dev": true,
- "requires": {
- "path-type": "^4.0.0"
- }
- },
- "dom-serializer": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
- "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
- "dev": true,
- "requires": {
- "domelementtype": "^2.0.1",
- "domhandler": "^4.2.0",
- "entities": "^2.0.0"
- }
- },
- "domelementtype": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
- "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
- "dev": true
- },
- "domhandler": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
- "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
- "dev": true,
- "requires": {
- "domelementtype": "^2.2.0"
- }
- },
- "domutils": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
- "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
- "dev": true,
- "requires": {
- "dom-serializer": "^1.0.1",
- "domelementtype": "^2.2.0",
- "domhandler": "^4.2.0"
- }
- },
- "electron-to-chromium": {
- "version": "1.4.140",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.140.tgz",
- "integrity": "sha512-NLz5va823QfJBYOO/hLV4AfU4Crmkl/6Hl2pH3qdJcmi0ySZ3YTWHxOlDm3uJOFBEPy3pIhu8gKQo6prQTWKKA==",
- "dev": true
- },
- "emojis-list": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
- "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
- "dev": true
- },
- "enhanced-resolve": {
- "version": "5.9.3",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz",
- "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- }
- },
- "entities": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
- "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
- "dev": true
- },
- "envinfo": {
- "version": "7.8.1",
- "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz",
- "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==",
- "dev": true
- },
- "es-module-lexer": {
- "version": "0.9.3",
- "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz",
- "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==",
- "dev": true
- },
- "escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "dev": true
- },
- "eslint-scope": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
- "dev": true,
- "requires": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
- }
- },
- "esrecurse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "dev": true,
- "requires": {
- "estraverse": "^5.2.0"
- },
- "dependencies": {
- "estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true
- }
- }
- },
- "estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
- "dev": true
- },
- "events": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
- "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
- "dev": true
- },
- "execa": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
- "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
- "dev": true,
- "requires": {
- "cross-spawn": "^7.0.3",
- "get-stream": "^6.0.0",
- "human-signals": "^2.1.0",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.1",
- "onetime": "^5.1.2",
- "signal-exit": "^3.0.3",
- "strip-final-newline": "^2.0.0"
- }
- },
- "fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true
- },
- "fast-glob": {
- "version": "3.2.11",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
- "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
- "dev": true,
- "requires": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- },
- "dependencies": {
- "glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "requires": {
- "is-glob": "^4.0.1"
- }
- }
- }
- },
- "fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
- },
- "fastest-levenshtein": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz",
- "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==",
- "dev": true
- },
- "fastq": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
- "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
- "dev": true,
- "requires": {
- "reusify": "^1.0.4"
- }
- },
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
- },
- "fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "dev": true,
- "optional": true
- },
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
- "get-stream": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
- "dev": true
- },
- "glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dev": true,
- "requires": {
- "is-glob": "^4.0.3"
- }
- },
- "glob-to-regexp": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
- "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
- "dev": true
- },
- "globby": {
- "version": "13.1.1",
- "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.1.tgz",
- "integrity": "sha512-XMzoDZbGZ37tufiv7g0N4F/zp3zkwdFtVbV3EHsVl1KQr4RPLfNoT068/97RPshz2J5xYNEjLKKBKaGHifBd3Q==",
- "dev": true,
- "requires": {
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.11",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^4.0.0"
- }
- },
- "graceful-fs": {
- "version": "4.2.10",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
- "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
- "dev": true
- },
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "human-signals": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
- "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
- "dev": true
- },
- "icss-utils": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
- "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
- "dev": true
- },
- "ignore": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
- "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
- "dev": true
- },
- "immutable": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz",
- "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==",
- "dev": true
- },
- "import-local": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz",
- "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==",
- "dev": true,
- "requires": {
- "pkg-dir": "^4.2.0",
- "resolve-cwd": "^3.0.0"
- }
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "dev": true,
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
- },
- "interpret": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz",
- "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==",
- "dev": true
- },
- "is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dev": true,
- "requires": {
- "binary-extensions": "^2.0.0"
- }
- },
- "is-core-module": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
- "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
- "dev": true,
- "requires": {
- "has": "^1.0.3"
- }
- },
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
- "dev": true
- },
- "is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "requires": {
- "is-extglob": "^2.1.1"
- }
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true
- },
- "is-plain-object": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
- "dev": true,
- "requires": {
- "isobject": "^3.0.1"
- }
- },
- "is-stream": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
- "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
- "dev": true
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
- "dev": true
- },
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
- "dev": true
- },
- "jest-worker": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
- "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
- "dev": true,
- "requires": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
- }
- },
- "json-parse-even-better-errors": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
- "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
- "dev": true
- },
- "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==",
- "dev": true
- },
- "json5": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
- "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
- "dev": true
- },
- "kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
- "dev": true
- },
- "klona": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz",
- "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==",
- "dev": true
- },
- "lilconfig": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz",
- "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==",
- "dev": true
- },
- "loader-runner": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
- "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
- "dev": true
- },
- "loader-utils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz",
- "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==",
- "dev": true,
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- }
- },
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "lodash.memoize": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
- "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
- "dev": true
- },
- "lodash.sortby": {
- "version": "4.7.0",
- "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
- "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
- "dev": true
- },
- "lodash.uniq": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
- "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
- "dev": true
- },
- "lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "mdn-data": {
- "version": "2.0.14",
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
- "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==",
- "dev": true
- },
- "merge-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
- "dev": true
- },
- "merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true
- },
- "micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
- "dev": true,
- "requires": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
- }
- },
- "mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "dev": true
- },
- "mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "dev": true,
- "requires": {
- "mime-db": "1.52.0"
- }
- },
- "mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
- "dev": true
- },
- "mini-css-extract-plugin": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.0.tgz",
- "integrity": "sha512-ndG8nxCEnAemsg4FSgS+yNyHKgkTB4nPKqCOgh65j3/30qqC5RaSQQXMm++Y6sb6E1zRSxPkztj9fqxhS1Eo6w==",
- "dev": true,
- "requires": {
- "schema-utils": "^4.0.0"
- }
- },
- "minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "nanoid": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
- "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
- "dev": true
- },
- "neo-async": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
- "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
- "dev": true
- },
- "node-releases": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz",
- "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==",
- "dev": true
- },
- "normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true
- },
- "normalize-url": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
- "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
- "dev": true
- },
- "npm-run-path": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
- "dev": true,
- "requires": {
- "path-key": "^3.0.0"
- }
- },
- "nth-check": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
- "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
- "dev": true,
- "requires": {
- "boolbase": "^1.0.0"
- }
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "onetime": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
- "dev": true,
- "requires": {
- "mimic-fn": "^2.1.0"
- }
- },
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "requires": {
- "p-limit": "^2.2.0"
- }
- },
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true
- },
- "path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true
- },
- "path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true
- },
- "path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "dev": true
- },
- "path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true
- },
- "picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
- "dev": true
- },
- "picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true
- },
- "pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
- "dev": true,
- "requires": {
- "find-up": "^4.0.0"
- }
- },
- "postcss": {
- "version": "8.4.14",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz",
- "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==",
- "dev": true,
- "requires": {
- "nanoid": "^3.3.4",
- "picocolors": "^1.0.0",
- "source-map-js": "^1.0.2"
- }
- },
- "postcss-calc": {
- "version": "8.2.4",
- "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz",
- "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==",
- "dev": true,
- "requires": {
- "postcss-selector-parser": "^6.0.9",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-colormin": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz",
- "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==",
- "dev": true,
- "requires": {
- "browserslist": "^4.16.6",
- "caniuse-api": "^3.0.0",
- "colord": "^2.9.1",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-convert-values": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.1.tgz",
- "integrity": "sha512-UjcYfl3wJJdcabGKk8lgetPvhi1Et7VDc3sYr9EyhNBeB00YD4vHgPBp+oMVoG/dDWCc6ASbmzPNV6jADTwh8Q==",
- "dev": true,
- "requires": {
- "browserslist": "^4.20.3",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-discard-comments": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.1.tgz",
- "integrity": "sha512-5JscyFmvkUxz/5/+TB3QTTT9Gi9jHkcn8dcmmuN68JQcv3aQg4y88yEHHhwFB52l/NkaJ43O0dbksGMAo49nfQ==",
- "dev": true
- },
- "postcss-discard-duplicates": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz",
- "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==",
- "dev": true
- },
- "postcss-discard-empty": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz",
- "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==",
- "dev": true
- },
- "postcss-discard-overridden": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz",
- "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==",
- "dev": true
- },
- "postcss-merge-longhand": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.5.tgz",
- "integrity": "sha512-NOG1grw9wIO+60arKa2YYsrbgvP6tp+jqc7+ZD5/MalIw234ooH2C6KlR6FEn4yle7GqZoBxSK1mLBE9KPur6w==",
- "dev": true,
- "requires": {
- "postcss-value-parser": "^4.2.0",
- "stylehacks": "^5.1.0"
- }
- },
- "postcss-merge-rules": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.1.tgz",
- "integrity": "sha512-8wv8q2cXjEuCcgpIB1Xx1pIy8/rhMPIQqYKNzEdyx37m6gpq83mQQdCxgIkFgliyEnKvdwJf/C61vN4tQDq4Ww==",
- "dev": true,
- "requires": {
- "browserslist": "^4.16.6",
- "caniuse-api": "^3.0.0",
- "cssnano-utils": "^3.1.0",
- "postcss-selector-parser": "^6.0.5"
- }
- },
- "postcss-minify-font-values": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz",
- "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==",
- "dev": true,
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-minify-gradients": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz",
- "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==",
- "dev": true,
- "requires": {
- "colord": "^2.9.1",
- "cssnano-utils": "^3.1.0",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-minify-params": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.3.tgz",
- "integrity": "sha512-bkzpWcjykkqIujNL+EVEPOlLYi/eZ050oImVtHU7b4lFS82jPnsCb44gvC6pxaNt38Els3jWYDHTjHKf0koTgg==",
- "dev": true,
- "requires": {
- "browserslist": "^4.16.6",
- "cssnano-utils": "^3.1.0",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-minify-selectors": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.0.tgz",
- "integrity": "sha512-vYxvHkW+iULstA+ctVNx0VoRAR4THQQRkG77o0oa4/mBS0OzGvvzLIvHDv/nNEM0crzN2WIyFU5X7wZhaUK3RA==",
- "dev": true,
- "requires": {
- "postcss-selector-parser": "^6.0.5"
- }
- },
- "postcss-modules-extract-imports": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
- "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
- "dev": true
- },
- "postcss-modules-local-by-default": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz",
- "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==",
- "dev": true,
- "requires": {
- "icss-utils": "^5.0.0",
- "postcss-selector-parser": "^6.0.2",
- "postcss-value-parser": "^4.1.0"
- }
- },
- "postcss-modules-scope": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz",
- "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==",
- "dev": true,
- "requires": {
- "postcss-selector-parser": "^6.0.4"
- }
- },
- "postcss-modules-values": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz",
- "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==",
- "dev": true,
- "requires": {
- "icss-utils": "^5.0.0"
- }
- },
- "postcss-normalize-charset": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz",
- "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==",
- "dev": true
- },
- "postcss-normalize-display-values": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz",
- "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==",
- "dev": true,
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-normalize-positions": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.0.tgz",
- "integrity": "sha512-8gmItgA4H5xiUxgN/3TVvXRoJxkAWLW6f/KKhdsH03atg0cB8ilXnrB5PpSshwVu/dD2ZsRFQcR1OEmSBDAgcQ==",
- "dev": true,
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-normalize-repeat-style": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.0.tgz",
- "integrity": "sha512-IR3uBjc+7mcWGL6CtniKNQ4Rr5fTxwkaDHwMBDGGs1x9IVRkYIT/M4NelZWkAOBdV6v3Z9S46zqaKGlyzHSchw==",
- "dev": true,
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-normalize-string": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz",
- "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==",
- "dev": true,
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-normalize-timing-functions": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz",
- "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==",
- "dev": true,
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-normalize-unicode": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz",
- "integrity": "sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==",
- "dev": true,
- "requires": {
- "browserslist": "^4.16.6",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-normalize-url": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz",
- "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==",
- "dev": true,
- "requires": {
- "normalize-url": "^6.0.1",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-normalize-whitespace": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz",
- "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==",
- "dev": true,
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-ordered-values": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.1.tgz",
- "integrity": "sha512-7lxgXF0NaoMIgyihL/2boNAEZKiW0+HkMhdKMTD93CjW8TdCy2hSdj8lsAo+uwm7EDG16Da2Jdmtqpedl0cMfw==",
- "dev": true,
- "requires": {
- "cssnano-utils": "^3.1.0",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-reduce-initial": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz",
- "integrity": "sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==",
- "dev": true,
- "requires": {
- "browserslist": "^4.16.6",
- "caniuse-api": "^3.0.0"
- }
- },
- "postcss-reduce-transforms": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz",
- "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==",
- "dev": true,
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-selector-parser": {
- "version": "6.0.10",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
- "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
- "dev": true,
- "requires": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- }
- },
- "postcss-svgo": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz",
- "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==",
- "dev": true,
- "requires": {
- "postcss-value-parser": "^4.2.0",
- "svgo": "^2.7.0"
- }
- },
- "postcss-unique-selectors": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz",
- "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==",
- "dev": true,
- "requires": {
- "postcss-selector-parser": "^6.0.5"
- }
- },
- "postcss-value-parser": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
- "dev": true
- },
- "punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "dev": true
- },
- "queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true
- },
- "randombytes": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
- "dev": true,
- "requires": {
- "safe-buffer": "^5.1.0"
- }
- },
- "readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "dev": true,
- "requires": {
- "picomatch": "^2.2.1"
- }
- },
- "rechoir": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
- "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==",
- "dev": true,
- "requires": {
- "resolve": "^1.9.0"
- }
- },
- "regex-parser": {
- "version": "2.2.11",
- "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz",
- "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==",
- "dev": true
- },
- "require-from-string": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
- "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
- "dev": true
- },
- "resolve": {
- "version": "1.22.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
- "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
- "dev": true,
- "requires": {
- "is-core-module": "^2.8.1",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- }
- },
- "resolve-cwd": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
- "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
- "dev": true,
- "requires": {
- "resolve-from": "^5.0.0"
- }
- },
- "resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
- "dev": true
- },
- "resolve-url-loader": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz",
- "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==",
- "dev": true,
- "requires": {
- "adjust-sourcemap-loader": "^4.0.0",
- "convert-source-map": "^1.7.0",
- "loader-utils": "^2.0.0",
- "postcss": "^8.2.14",
- "source-map": "0.6.1"
- }
- },
- "reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "dev": true
- },
- "rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
- "requires": {
- "queue-microtask": "^1.2.2"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "sass": {
- "version": "1.52.1",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.52.1.tgz",
- "integrity": "sha512-fSzYTbr7z8oQnVJ3Acp9hV80dM1fkMN7mSD/25mpcct9F7FPBMOI8krEYALgU1aZoqGhQNhTPsuSmxjnIvAm4Q==",
- "dev": true,
- "requires": {
- "chokidar": ">=3.0.0 <4.0.0",
- "immutable": "^4.0.0",
- "source-map-js": ">=0.6.2 <2.0.0"
- }
- },
- "sass-loader": {
- "version": "13.0.0",
- "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.0.0.tgz",
- "integrity": "sha512-IHCFecI+rbPvXE2zO/mqdVFe8MU7ElGrwga9hh2H65Ru4iaBJAMRteum1c4Gsxi9Cq1FOtTEDd6+/AEYuQDM4Q==",
- "dev": true,
- "requires": {
- "klona": "^2.0.4",
- "neo-async": "^2.6.2"
- }
- },
- "schema-utils": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
- "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
- "dev": true,
- "requires": {
- "@types/json-schema": "^7.0.9",
- "ajv": "^8.8.0",
- "ajv-formats": "^2.1.1",
- "ajv-keywords": "^5.0.0"
- }
- },
- "semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
- "dev": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
- "serialize-javascript": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
- "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
- "dev": true,
- "requires": {
- "randombytes": "^2.1.0"
- }
- },
- "shallow-clone": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
- "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.2"
- }
- },
- "shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "requires": {
- "shebang-regex": "^3.0.0"
- }
- },
- "shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true
- },
- "signal-exit": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
- "dev": true
- },
- "slash": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
- "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
- "dev": true
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- },
- "source-map-js": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
- "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
- "dev": true
- },
- "source-map-support": {
- "version": "0.5.21",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
- "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
- "dev": true,
- "requires": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "stable": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
- "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
- "dev": true
- },
- "strip-final-newline": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
- "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
- "dev": true
- },
- "stylehacks": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz",
- "integrity": "sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==",
- "dev": true,
- "requires": {
- "browserslist": "^4.16.6",
- "postcss-selector-parser": "^6.0.4"
- }
- },
- "supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
- "dev": true
- },
- "svgo": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz",
- "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==",
- "dev": true,
- "requires": {
- "@trysound/sax": "0.2.0",
- "commander": "^7.2.0",
- "css-select": "^4.1.3",
- "css-tree": "^1.1.3",
- "csso": "^4.2.0",
- "picocolors": "^1.0.0",
- "stable": "^0.1.8"
- }
- },
- "tapable": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
- "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
- "dev": true
- },
- "terser": {
- "version": "5.13.1",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.13.1.tgz",
- "integrity": "sha512-hn4WKOfwnwbYfe48NgrQjqNOH9jzLqRcIfbYytOXCOv46LBfWr9bDS17MQqOi+BWGD0sJK3Sj5NC/gJjiojaoA==",
- "dev": true,
- "requires": {
- "acorn": "^8.5.0",
- "commander": "^2.20.0",
- "source-map": "~0.8.0-beta.0",
- "source-map-support": "~0.5.20"
- },
- "dependencies": {
- "commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "dev": true
- },
- "source-map": {
- "version": "0.8.0-beta.0",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz",
- "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==",
- "dev": true,
- "requires": {
- "whatwg-url": "^7.0.0"
- }
- }
- }
- },
- "terser-webpack-plugin": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz",
- "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==",
- "dev": true,
- "requires": {
- "jest-worker": "^27.4.5",
- "schema-utils": "^3.1.1",
- "serialize-javascript": "^6.0.0",
- "source-map": "^0.6.1",
- "terser": "^5.7.2"
- },
- "dependencies": {
- "ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "ajv-keywords": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
- "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
- "dev": true
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
- },
- "schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "dev": true,
- "requires": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- }
- }
- }
- },
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "requires": {
- "is-number": "^7.0.0"
- }
- },
- "tr46": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
- "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
- "dev": true,
- "requires": {
- "punycode": "^2.1.0"
- }
- },
- "uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dev": true,
- "requires": {
- "punycode": "^2.1.0"
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
- "dev": true
- },
- "watchpack": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz",
- "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==",
- "dev": true,
- "requires": {
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.1.2"
- }
- },
- "webidl-conversions": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
- "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
- "dev": true
- },
- "webpack": {
- "version": "5.72.1",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.1.tgz",
- "integrity": "sha512-dXG5zXCLspQR4krZVR6QgajnZOjW2K/djHvdcRaDQvsjV9z9vaW6+ja5dZOYbqBBjF6kGXka/2ZyxNdc+8Jung==",
- "dev": true,
- "requires": {
- "@types/eslint-scope": "^3.7.3",
- "@types/estree": "^0.0.51",
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/wasm-edit": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "acorn": "^8.4.1",
- "acorn-import-assertions": "^1.7.6",
- "browserslist": "^4.14.5",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.9.3",
- "es-module-lexer": "^0.9.0",
- "eslint-scope": "5.1.1",
- "events": "^3.2.0",
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.2.9",
- "json-parse-even-better-errors": "^2.3.1",
- "loader-runner": "^4.2.0",
- "mime-types": "^2.1.27",
- "neo-async": "^2.6.2",
- "schema-utils": "^3.1.0",
- "tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.1.3",
- "watchpack": "^2.3.1",
- "webpack-sources": "^3.2.3"
- },
- "dependencies": {
- "ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "ajv-keywords": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
- "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
- "dev": true
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
- },
- "schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "dev": true,
- "requires": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- }
- }
- }
- },
- "webpack-cli": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz",
- "integrity": "sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==",
- "dev": true,
- "requires": {
- "@discoveryjs/json-ext": "^0.5.0",
- "@webpack-cli/configtest": "^1.1.1",
- "@webpack-cli/info": "^1.4.1",
- "@webpack-cli/serve": "^1.6.1",
- "colorette": "^2.0.14",
- "commander": "^7.0.0",
- "execa": "^5.0.0",
- "fastest-levenshtein": "^1.0.12",
- "import-local": "^3.0.2",
- "interpret": "^2.2.0",
- "rechoir": "^0.7.0",
- "webpack-merge": "^5.7.3"
- }
- },
- "webpack-merge": {
- "version": "5.8.0",
- "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz",
- "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==",
- "dev": true,
- "requires": {
- "clone-deep": "^4.0.1",
- "wildcard": "^2.0.0"
- }
- },
- "webpack-sources": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
- "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
- "dev": true
- },
- "whatwg-url": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
- "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
- "dev": true,
- "requires": {
- "lodash.sortby": "^4.7.0",
- "tr46": "^1.0.1",
- "webidl-conversions": "^4.0.2"
- }
- },
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "wildcard": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz",
- "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==",
- "dev": true
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
- },
- "yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- },
- "yaml": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
- "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
- "dev": true
- }
- }
-}
diff --git a/package.json b/package.json
deleted file mode 100644
index dcdb2596e..000000000
--- a/package.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "name": "cds-theme",
- "version": "0.0.1",
- "description": "Build for CDS Theme",
- "main": "index.js",
- "directories": {
- "test": "test"
- },
- "scripts": {
- "setup": "npm ci",
- "build:connector": "npm run clean:connector && webpack --config ./theme/build/connector.config.js --color && npm run clean:js",
- "build:front-page": "npm run clean:front-page && webpack --config ./theme/build/front-page.config.js --color && npm run clean:js",
- "build": "npm run build:connector && npm run build:front-page",
- "build-dev": "npm run build",
- "build-prod": "npm run build",
- "clean:js": "rimraf resources/web/cds/gen/main.js",
- "clean:connector-css": "rimraf resources/web/cds/gen/Connector-all.css resources/web/cds/gen/images",
- "clean:connector": "npm run clean:js && npm run clean:connector-css",
- "clean:front-page-css": "rimraf resources/web/cds/gen/application.css",
- "clean:front-page": "npm run clean:js && npm run clean:front-page-css",
- "clean": "npm run clean:connector && npm run clean:front-page"
- },
- "repository": {
- "type": "git",
- "url": "git+https://github.com/LabKey/cds.git"
- },
- "author": "alanv@labkey.com",
- "license": "ISC",
- "bugs": {
- "url": "https://github.com/LabKey/cds/issues"
- },
- "homepage": "https://github.com/LabKey/cds#readme",
- "dependencies": {},
- "devDependencies": {
- "bourbon": "4.2.7",
- "bourbon-neat": "4.0.0",
- "compass-mixins": "0.12.11",
- "copy-webpack-plugin": "11.0.0",
- "css-loader": "6.7.1",
- "css-minimizer-webpack-plugin": "4.0.0",
- "mini-css-extract-plugin": "2.6.0",
- "resolve-url-loader": "5.0.0",
- "rimraf": "3.0.2",
- "sass": "1.52.1",
- "sass-loader": "13.0.0",
- "webpack": "5.72.1",
- "webpack-cli": "4.9.2"
- }
-}
diff --git a/pull_request_template.md b/pull_request_template.md
deleted file mode 100644
index 2a1c8ac4c..000000000
--- a/pull_request_template.md
+++ /dev/null
@@ -1,8 +0,0 @@
-#### Rationale
-
-
-#### Related Pull Requests
-*
-
-#### Changes
-*
diff --git a/resources/cds-tours/definitions/tour_active_filters.js b/resources/cds-tours/definitions/tour_active_filters.js
deleted file mode 100644
index 93a4bab5b..000000000
--- a/resources/cds-tours/definitions/tour_active_filters.js
+++ /dev/null
@@ -1,241 +0,0 @@
-var tour_active_filters = {
- title: 'Active_filters',
- description: 'A tour for using "Active filters".',
- id: 'tour-active-filters',
- winerror: 0,
- i18n: {
- skipBtn: 'Start the tour'
- },
- onStart: function(){
- window.onerror = function() { self.winerror = 1; hopscotch.endTour(); };
- if(self.winerror === 0){
- for(var i of nodeTextSearch(document.querySelectorAll('span[id*=button]'), "clear")){
- i.click();
- }
- for(var j of nodeTextSearch(document.querySelectorAll('span[id*=button]'), "Cancel")){
- j.click();
- }
- self.winerror = 0;
- }
- },
- onEnd: function(){
- var nodes = null;
- var promise = new Promise(function(resolve, reject){
- nodes = nodeDisplaySearch(nodeTextSearch(document.querySelectorAll('span[id*=button]'), "clear"));
- if(nodes.length > 0){
- resolve();
- }
- }).then(function(result){
- nodes[0].click();
- });
- },
- onClose: function(){
- hopscotch.endTour();
- },
- onError: function(){
- for(var i of nodeTextSearch(document.querySelectorAll('span[id*=button]'), "clear")){
- i.click();
- }
- for(var j of nodeTextSearch(document.querySelectorAll('span[id*=button]'), "Cancel")){
- j.click();
- }
- hopscotch.endTour();
- },
- steps:
- [
- {
- target: 'h3[class*="tour-section-title"]',
- placement: 'bottom',
- arrowOffset: 'center',
- title: 'Active filters',
- content: 'This is a guided tour designed to take you on a specific path through the DataSpace. Clicking the \'Next\' button will advance you through the predefined steps of the tour. Please be aware that any additional clicking or scrolling during the tour (unless instructed) may cause the tour to terminate early. Some tours are not compatible with small screens. For best results, view tours in full screen mode.
Note: Taking this tour will change the filters in the Active filters pane. If you have applied filters during this session that you don\'t want to lose, save your data before proceeding on this tour. If you continue, your filters will be modified.',
- xOffset: (window.innerWidth / 2) - 280,
- showSkip: true
- },{
- target: 'div[class*="filterpanel-header"]',
- placement: 'left',
- arrowOffset: 'center',
- title: 'The Active filters pane tracks data during your session',
- content: 'The Active filters pane gives you a summary of the data being explored during your session and provides you with important context for selecting and interpreting the data.',
- yOffset: -17
- },{
- target: 'div[class*="status-row info_Subject hl-status-row nolink"]',
- placement: 'left',
- arrowOffset: 'center',
- content: 'When you begin a new session, you start off with all the subjects and data in DataSpace, so you\'ll need to filter down to the data you want to explore. Filters can be applied in the Active filters pane, and in any section of the DataSpace where you explore subject data (i.e. in Find subjects, Plot data, and View data grid).
Note the number of subjects in the data.',
- yOffset: 10
- },{
- target: 'div[class*="info_Species"]',
- placement: 'left',
- arrowOffset: 'center',
- title: 'Filtering data using the Active filters pane',
- content: 'In the Active filter pane, you can filter the data for subjects with specific subject characteristics (such as species), subjects from specific studies, or subjects who received specific products or treatments.',
- yOffset: -17,
- onNext: function(){
- checkTarget('div[class*="status-row info_Species"]');
- }
- },{
- target: 'div[class*="status-row info_Species"]',
- placement: 'left',
- arrowOffset: 'center',
- content: 'As an example, when we click on the species category \...',
- yOffset: -8,
- onNext: function(){
- document.querySelector('.info_Species > li:nth-child(1) > span:nth-child(1)').click();
- var checkExist = setInterval(
- function(){
- if(document.querySelector('div[title="Human"]') !== null){
- document.querySelector('div[title="Human"]').click();
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- clearInterval(checkExist);
- }
- }, 100);
- },
- multipage: true
- },{
- target: 'div[title="Human"]',
- placement: 'left',
- arrowOffset: 'center',
- content: 'We see the types of species represented in the data. We can select just one species and click the filter button to apply the filter.',
- xOffset: -30,
- yOffset: -55,
- onNext: function(){
- document.querySelector('a[class*="x-btn filterinfoaction x-unselectable"]').click();
- var checkExist = setInterval(
- function(){
- if(document.querySelector('div[class="x-container filterstatus-content x-container-default"]') !== null){
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- clearInterval(checkExist);
- }
- }, 100);
- },
- multipage: true
- },{
- target: 'div[class*="x-container filterstatus-content x-container-default"]',
- placement: 'left',
- arrowOffset: 'center',
- content: 'We can see that our filter has been applied.',
- yOffset: -17
- },{
- target: '.info_Species > li:nth-child(1) > span:nth-child(1)',
- placement: 'left',
- arrowOffset: 'center',
- content: 'We can also see that the number of subjects, studies, products, and treatments has decreased.',
- yOffset: -17,
- onNext: function(){
- document.querySelector('.info_Species > li:nth-child(1) > span:nth-child(1)').click();
- var checkExist = setInterval(
- function(){
- if(document.querySelector('span[class*="sorter-content"]') !== null){
- document.querySelector('span[class*="sorter-content"]').click();
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- clearInterval(checkExist);
- }
- }, 100);
- },
- multipage: true
- },{
- target: 'span[class*="sorter-content"]',
- placement: 'left',
- arrowOffset: 'center',
- content: 'Each category has multiple related fields that can be filtered. To see the other fields available, click on the red arrow next to the category to expand the list. In this case, there are other subject characteristics to choose from.',
- yOffset: -17,
- onNext: function(){
- document.querySelector('a[class*="x-btn filterinfocancel x-unselectable"]').click();
- var checkExist = setInterval(
- function(){
- if(document.querySelector('.info_Study > li:nth-child(1) > span:nth-child(1)') !== null){
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- clearInterval(checkExist);
- }
- }, 100);
- },
- multipage: true
- },{
- target: '.info_Study > li:nth-child(1) > span:nth-child(1)',
- placement: 'left',
- arrowOffset: 'center',
- content: 'Once you have applied one or more filters, if we click on the Studies row...',
- yOffset: -40,
- onNext: function(){
- document.querySelector('.info_Study > li:nth-child(1)').click();
-
- var checkExist1 = setInterval(
- function(){
- var nodes = nodeTextSearch(document.querySelectorAll('div[class*="x-grid-group-title"]'), "Has data in active filters");
- if(document.querySelector('span[class*="sorter-content"]') !== null &&
- isVisCoords(document.querySelector('span[class*="sorter-content"]')) &&
- nodes.length > 0){
- nodes[0].classList.add("has-data-header");
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- if(document.querySelector('div[class*="has-data-header"]') !== null){
- clearInterval(checkExist2);
- checkTarget('div[class*="has-data-header"]');
- }
- }, 100);
-
- },
- multipage: true
- },{
- target: 'div[class*="has-data-header"]',
- placement: 'left',
- arrowOffset: 'center',
- yOffset: -60,
- content: 'The studies will be listed under \'Has data in active filters\' and \'No data in active filters\' to indicate if any subjects in that study meet the filter criteria.',
- onNext: function(){
- // Need to handle what if there are two of these?
- // document.querySelectorAll('div[class*="infopane"]')
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- }
- },{
- target: 'div[title*="CAVD 256"]',
- placement: 'left',
- arrowOffset: 'center',
- content: 'Hover over one of the studies to see the red info link to the study page.',
- xOffset: -30,
- onNext: function(){
- document.querySelector('a[class*="x-btn filterinfocancel x-unselectable"]').click();
- var checkExist = setInterval(
- function(){
- if(document.querySelector('span[class*="closeitem"]') !== null){
- document.querySelector('span[class*="closeitem"]').style.display = 'block';
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- clearInterval(checkExist);
- }
- }, 100);
- },
- multipage: true
- },{
- target: 'span[class*="closeitem"]',
- placement: 'left',
- arrowOffset: 'center',
- content: 'You can remove a filter by clicking the red ❌ in the corner of the filter box. The Clear button removes all filters. Click the Save button to save your filters for further exploration in a future session.',
- xOffset: -200,
- yOffset: -50,
- onNext: function(){
- document.querySelector('div.nav-label:nth-child(1)').click();
- var checkExist = setInterval(
- function(){
- var node = document.querySelector('h3[class*="tour-section-title"]');
- if(node !== null && isVisCoords(node)){
- checkTarget('h3[class*="tour-section-title"]');
- clearInterval(checkExist);
- }
- }, 100);
- }
- },{
- target: 'h3[class*="tour-section-title"]',
- placement: 'bottom',
- arrowOffset: 'center',
- title: 'This concludes the tour',
- content: 'We’re back on the Home page where we started. From here you can take another tour or try it out for yourself.
Have any questions? Click the Help section at the top of the page or contact us for more information.',
- xOffset: (window.innerWidth / 2) - 280,
- showSkip: true
- }
- ]
-};
\ No newline at end of file
diff --git a/resources/cds-tours/definitions/tour_find_subjects.js b/resources/cds-tours/definitions/tour_find_subjects.js
deleted file mode 100644
index f6df9f6e8..000000000
--- a/resources/cds-tours/definitions/tour_find_subjects.js
+++ /dev/null
@@ -1,336 +0,0 @@
-var tour_find_subjects = {
- title: 'Find-subjects',
- description: 'A tour for the "Find subjects" section.',
- id: 'tour-find-subjects',
- winerror: 0,
- i18n: {
- skipBtn: 'Start the tour'
- },
- onStart: function(){
- window.onerror = function() { self.winerror = 1; hopscotch.endTour(); };
- if(self.winerror === 0){
- for(var i of nodeTextSearch(document.querySelectorAll('span[id*=button]'), "clear")){
- i.click();
- }
- for(var j of nodeTextSearch(document.querySelectorAll('span[id*=button]'), "Cancel")){
- j.click();
- }
- self.winerror = 0;
- }
- },
- onEnd: function(){
- var nodes = null;
- var promise = new Promise(function(resolve, reject){
- nodes = nodeDisplaySearch(nodeTextSearch(document.querySelectorAll('span[id*=button]'), "clear"));
- if(nodes.length > 0){
- resolve();
- } else {
- document.querySelector('div.nav-label:nth-child(1)').click();
- reject();
- }
- }).then(function(result){
- nodes[0].click();
- }).then(function(result){
- document.querySelector('div.nav-label:nth-child(1)').click();
- });
- },
-
- onClose: function(){
- hopscotch.endTour();
- },
- onError: function(){
- for(var i of nodeTextSearch(document.querySelectorAll('span[id*=button]'), "clear")){
- i.click();
- }
- for(var j of nodeTextSearch(document.querySelectorAll('span[id*=button]'), "Cancel")){
- j.click();
- }
- hopscotch.endTour();
- },
- steps:
- [
- {
- target: 'h3[class*="tour-section-title"]',
- placement: 'bottom',
- arrowOffset: 'center',
- title: 'Find subjects',
- content: 'This is a guided tour designed to take you on a specific path through the DataSpace. Clicking the \'Next\' button will advance you through the predefined steps of the tour. Please be aware that any additional clicking or scrolling during the tour (unless instructed) may cause the tour to terminate early. Some tours are not compatible with small screens. For best results, view tours in full screen mode.
Note: Taking this tour will change the filters in the Active filters pane. If you have applied filters during this session that you don\'t want to lose, save your data before proceeding on this tour. If you continue, your filters will be modified.',
- xOffset: (window.innerWidth / 2) - 280,
- showSkip: true
- },{
- target: 'div.nav-label:nth-child(3)',
- placement: 'left',
- title: 'Finding subjects and studies of interest',
- content: 'The Find subjects section helps you find subjects with common characteristics. You can also use it to profile the subject characteristics of a specific study or set of studies.',
- yOffset: -17,
- onNext: function() {
- document.querySelector('div.nav-label:nth-child(3) > span:nth-child(2)').click();
- var checkExist = setInterval(
- function() {
- if (
- nodeDisplaySearch(document.querySelectorAll('div[id*=summarydataview]')).length > 0 &&
- nodeDisplaySearch(nodeTextSearch(document.querySelectorAll('span[class*="label"]'), " Subject characteristics")).length > 0
- ) {
- window.location = 'cds-app.view?#summary';
- checkTarget('div[id*=summarydataview]');
- clearInterval(checkExist);
- }
- }, 100);
- },
- multipage: true
- },{
- target: 'div[id*=summarydataview]',
- placement: 'top',
- arrowOffset: 'center',
- xOffset: 70,
- content: 'Here you see a set of parameters we can use to search for subjects and studies.',
- onNext: function(){
- document.querySelector('div[id*=summarydataview]').firstChild.nextSibling.classList.add("by-products-row");
- var checkExist = setInterval(
- function(){
- if(document.querySelector('div[class*="by-products-row"]') !== null){
- checkTarget('div.row:nth-child(2)');
- clearInterval(checkExist);
- }
- }, 100);
- },
- multipage: true
- },{
- target: 'div.row:nth-child(2)',
- placement: 'top',
- arrowOffset: 'center',
- xOffset: 70,
- content: 'Clicking the "Products" row will let you find the products for which there is data available in DataSpace.',
- onNext: function(){
- document.querySelector("div.row:nth-child(2)").click();
- var checkExist = setInterval(
- function(){
- if (document.querySelector('#sae-hierarchy-dropdown') !== null && document.querySelectorAll('span[class="parrow"]') !== null) {
- document.querySelector('#sae-hierarchy-dropdown').click();
- checkTarget('span[class="parrow"]');
- clearInterval(checkExist);
- }
- }, 100);
- },
- multipage: true
- },{
- target: 'span[class="parrow"]',
- placement: 'top',
- arrowOffset: 'left',
- xOffset: -20,
- content: 'Each category has other related categories that can be viewed. When you click on the red arrow next to the category, it expands the list',
- onNext: function(){
- document.querySelector('div[class*="x-container titlepanel secondary"]').click();
- checkTarget('.bargroup');
- }, multipage: true
-
- },{
- target: '.bargroup',
- placement: 'top',
- arrowOffset: 'left',
- xOffset: 70,
- content: 'This column shows the products by name.',
- onNext: function(){
- function nodeSearch(nodeList, strVal){
- for(i = 0; i < bars.length; i++){
- if(bars[i].innerHTML === strVal){
- bars[i].nextSibling.nextSibling.classList.add('index-selected', 'inactive');
- return(bars[i]);
- }
- }
- return("none found");
- }
- var bars = document.querySelectorAll('span[class="barlabel"]');
- var topElem = nodeSearch(bars, "AIDSVAX B/E");
- var botElem = nodeSearch(bars, "ALVAC (vCP1521)");
- nodeSearch(bars, "Alum");
- topElem.classList.add('bubblePoint');
- botElem.scrollIntoView(alignToTop = false);
- var checkExist = setInterval(
- function(){
- if(document.querySelector('span[class*="bubblePoint"]') !== null){
- checkTarget('span[class*="bubblePoint"]');
- clearInterval(checkExist);
- }
- }, 100);
-
- }, multipage: true
- },{
- target: 'span[class*="bubblePoint"]',
- placement: 'top',
- arrowOffset: 'left',
- xOffset: 70,
- content: 'Find a product of interest. When hovering over the text, teal indicates other products that have been administered with this product.',
- onNext: function(){
- var bars = document.querySelectorAll('span[class="barlabel"]');
- var botElem = nodeTextSearch(bars, "ALVAC (vCP1521)")[0];
- var checkExist = setInterval(
- function(){
- if(nodeTextSearch(bars, "ALVAC (vCP1521)").length > 0){
- nodeTextSearch(bars, "ALVAC (vCP1521)")[0].click();
- checkTarget('h2[class*="filterheader-text"]');
- clearInterval(checkExist);
- }
- }, 100);
- }
- },{
- target: 'h2[class*="filterheader-text"]',
- placement: 'left',
- arrowOffset: 'center',
- xOffset: 0,
- yOffset: 0,
- content: 'Clicking on a product will select that product. The Active filters show the impact of that selection on your data filters prior to applying the filter. The counts in teal show how many subjects received this product.',
- },{
- target: 'a[class="x-btn x-unselectable x-btn-toolbar x-box-item x-toolbar-item x-btn-rounded-inverted-accent-toolbar-small x-noicon x-btn-noicon x-btn-rounded-inverted-accent-toolbar-small-noicon"]',
- placement: 'bottom',
- arrowOffset: '250',
- xOffset: -250,
- content: 'Clicking the Filter button applies the filter to the data in your session.',
- onNext: function(){
- document.getElementsByClassName('x-btn x-unselectable x-btn-toolbar x-box-item x-toolbar-item x-btn-rounded-inverted-accent-toolbar-small x-noicon x-btn-noicon x-btn-rounded-inverted-accent-toolbar-small-noicon')[0].click();
- var checkExist = setInterval(
- function(){
- if (false){
- checkTarget('ul[class="detailstatus"]');
- }
- }, 100);
- }
- },{
- target: 'ul[class="detailstatus"]',
- placement: 'left',
- arrowOffset: '0',
- xOffset: 0,
- yOffset: 30,
- content: 'The total number of subjects has been reduced and a summary of those subjects is seen here.'
- },{
- target: 'h2[class*="filterheader-text"]',
- placement: 'left',
- arrowOffset: 'center',
- xOffset: 0,
- yOffset: -45,
- content: 'You can save your filter or clear it by clicking the "clear" or "save" buttons.',
- onNext: function(){
-
- var hedr = document.querySelectorAll('h1[class*="lhdv"]');
- var shdr = nodeTextSearch(hedr, "Subject characteristics")[0];
- shdr.click();
- shdr.classList.add("find-subj-char");
-
- var checkExist = setInterval(
- function() {
- var node = document.querySelector('h1[class*="find-subj-char"]');
- if (
- node !== null &&
- node.className.match("active") !== null &&
- isVisCoords(node)
- ) {
- checkTarget('h1[class*="find-subj-char"]');
- clearInterval(checkExist);
- }
- }, 100);
-
- }, multipage: true
- },{
- target: 'h1[class*="find-subj-char"]',
- placement: 'top',
- content: 'Looking at Subject characteristics...',
- yOffset: 20,
- onNext: function() {
- document.querySelector('span[class*="parrow"]').click();
- var checkExist = setInterval(
- function(){
- if(document.querySelector('div[id*="boundlist"]').style.display !== "none") {
- var subj = document.querySelectorAll('li[class*="x-boundlist-item"]');
- var ages = nodeTextSearch(subj, "Age")[0];
- var spec = nodeTextSearch(subj, "Species")[0];
- ages.classList.add("x-boundlist-selected");
- spec.classList.remove("x-boundlist-selected");
- checkTarget('span[class*="parrow"]');
- clearInterval(checkExist);
- }
-
- }, 100);
- }, multipage: true
- },{
- target: 'span[class*="parrow"]',
- placement: 'top',
- content: 'Clicking Age...',
- yOffset: 0,
- xOffset: -20,
- onNext: function() {
- document.querySelector('span[class*="parrow"]').click();
- document.querySelector('li[class*="x-boundlist-selected"]').click();
- var checkExist = setInterval(
- function(){
- if(document.querySelectorAll('div[class*="saeparent"]').length > 0) {
- document.querySelectorAll('div[class="saeparent"]')[3].firstChild.classList.add("age-elem");
- document.querySelector("div[class*='age-elem']").click();
- clearInterval(checkExist);
- checkTarget('div[class*="age-elem"]');
- }
- }, 100);
-
- }, multipage: true
- },{
- target: 'div[class*="age-elem"]',
- placement: 'top',
- arrowOffset: 'left',
- content: 'Now that you\'ve identified a group of subjects, we can look at their subject characteristics, e.g. by age category, by expanding with the plus sign.',
- xOffset: -20,
- onNext: function(){
-
- if(nodeDisplaySearch(nodeTextSearch(document.querySelectorAll('span[id*="button"]'), "Hide empty")).length > 0) {
- var node = nodeDisplaySearch(nodeTextSearch(document.querySelectorAll('span[id*="button"]'), "Hide empty"))[0];
- } else {
- var node = nodeDisplaySearch(nodeTextSearch(document.querySelectorAll('span[id*="button"]'), "Show empty"))[0];
- }
- node.classList.add("hide-show-empty-btn");
- var checkExist = setInterval(
- function(){
- if(document.querySelector('span[class*="hide-show-empty-btn"]') !== null){
- checkTarget('span[class*="hide-show-empty-btn"]');
- clearInterval(checkExist);
- }
- }, 100);
-
- }, multipage: true
- },{
- target: 'span[class*="hide-show-empty-btn"]',
- placement: 'left',
- arrowOffset: 'center',
- yOffset: -53,
- content: 'Click on the Hide/Show empty button to remove categories that don\'t have subjects.',
- onNext: function(){
- document.querySelector('span[class*="hide-show-empty-btn"]').click();
- document.querySelector('div.nav-label:nth-child(1)').click();
- var checkExist = setInterval(
- function(){
- var node = document.querySelector('h3[class*="tour-section-title"]');
- if(node !== null && isVisCoords(node)){
- checkTarget('h3[class*="tour-section-title"]');
- clearInterval(checkExist);
- }
- }, 100);
-
- // document.querySelector('div.nav-label:nth-child(1)').click();
- // var checkExist = setInterval(
- // function(){
- // var node = document.querySelector('h3[class*="tour-section-title"]');
- // if(node !== null && isVisCoords(node)){
- // checkTarget('h3[class*="tour-section-title"]');
- // clearInterval(checkExist);
- // }
- // }, 100);
-
- }, multipage: true
- },{
- target: 'h3[class*="tour-section-title"]',
- placement: 'bottom',
- arrowOffset: 'center',
- title: 'This concludes the tour',
- content: 'We’re back on the Home page where we started. From here you can take another tour or try it out for yourself.
Have any questions? Click the Help section at the top of the page or contact us for more information.',
- xOffset: (window.innerWidth / 2) - 280,
- showSkip: true
- }
- ]
-};
\ No newline at end of file
diff --git a/resources/cds-tours/definitions/tour_get_oriented.js b/resources/cds-tours/definitions/tour_get_oriented.js
deleted file mode 100644
index 146873d68..000000000
--- a/resources/cds-tours/definitions/tour_get_oriented.js
+++ /dev/null
@@ -1,203 +0,0 @@
-var tour_get_oriented = {
- title: 'Get-oriented',
- description: 'A tour for getting oriented with DataSpace.',
- id: 'tour-get-oriented',
- winerror: 0,
- i18n: {
- skipBtn: 'Start the tour'
- },
- onStart: function(){
- window.onerror = function() { self.winerror = 1; hopscotch.endTour(); };
- if(self.winerror === 1){
- for(var i of nodeTextSearch(document.querySelectorAll('span[id*=button]'), "clear")){
- i.click();
- }
- for(var j of nodeTextSearch(document.querySelectorAll('span[id*=button]'), "Cancel")){
- j.click();
- }
- self.winerror = 0;
- }
- },
- onEnd: function(){
- },
- onClose: function(){
- hopscotch.endTour();
- },
- onError: function(){
- for(var i of nodeTextSearch(document.querySelectorAll('span[id*=button]'), "clear")){
- i.click();
- }
- for(var j of nodeTextSearch(document.querySelectorAll('span[id*=button]'), "Cancel")){
- j.click();
- }
- hopscotch.endTour();
- },
- steps:
- [
- {
- target: 'h3[class*="tour-section-title"]',
- placement: 'bottom',
- arrowOffset: 'center',
- title: 'Get oriented to the DataSpace',
- content: 'This is a guided tour designed to take you on a specific path through the DataSpace. Clicking the \'Next\' button will advance you through the predefined steps of the tour. Please be aware that any additional clicking or scrolling during the tour (unless instructed) may cause the tour to terminate early. Some tours are not compatible with small screens. For best results, view tours in full screen mode.',
- xOffset: (window.innerWidth / 2) - 280,
- showSkip: true
- },{
- target: 'div.nav-label:nth-child(1)',
- placement: 'left',
- title: 'Getting around the DataSpace',
- content: 'Let\'s take a look at the main areas of the DataSpace.',
- yOffset: -17
- },{
- target: 'div.nav-label:nth-child(2)',
- placement: 'left',
- title: 'Learn about',
- content: 'The Learn about section is where you\'ll find information about the studies conducted by the research networks, and the products, assays, and antibodies being evaluated in those studies. You can also search for publications and view reports from those studies.',
- yOffset: -17
- },{
- target: 'div.nav-label:nth-child(3)',
- placement: 'left',
- title: 'Subject data',
- content: 'The Find subjects, Plot data, and View data grid sections are where you can explore the study subject data.',
- yOffset: -17
- },{
- target: 'div.nav-label:nth-child(3)',
- placement: 'left',
- title: 'Find subjects',
- content: 'The Find subjects section helps you find subjects with common characteristics. You can also use it to profile the subject characteristics of a specific study or set of studies.',
- yOffset: -17
- },{
- target: 'div.nav-label:nth-child(4)',
- placement: 'left',
- title: 'Plot data',
- content: 'The Plot data section is where you can explore the subject data using simple plots that allow you to compare the data across studies and assays.',
- yOffset: -17
- },{
- target: 'div.nav-label:nth-child(5)',
- placement: 'left',
- title: 'View data grid',
- content: 'The View data grid section let\'s you explore the subject data in a spreadsheet format. From this section, you can export the subject data for further exploration in your own analysis tools.',
- yOffset: -17
- },{
- target: 'div.nav-label:nth-child(6)',
- placement: 'left',
- title: 'Monoclonal antibodies',
- content: 'The Monoclonal antibodies section is where you can explore data from monoclonal antibody characterization studies. In this section, you can search for antibodies and compare the neutralization curves and heatmaps for different antibody-virus combinations.',
- yOffset: -17
- },{
- target: 'div[class*="filterpanel-header"]',
- placement: 'left',
- title: 'Active filters',
- content: 'The Active filter pane gives you a summary of the data being explored during your session and provides you with important context for selecting and interpreting the data.',
- yOffset: -17,
- onNext: function(){
-
- function getScrollParent(node) {
- if (node == null) {
- return null;
- } else if (node.style.overflow == "hidden auto") {
- return node;
- } else {
- return getScrollParent(node.parentNode);
- }
- }
-
- nodeTextSearch(document.querySelectorAll('h2[class*="section-title"]'), "Groups and plots")[0].classList.add("groups-plots");
- getScrollParent(nodeTextSearch(document.querySelectorAll('h3'), "Explore relationships")[0]).classList.add("quick-link-scroll-frame");
- var smt = null;
-
- var checkExist_1 = setInterval(
- function(){
- var node = document.querySelector('h2[class*="groups-plots"]');
- if(node !== null){
- smt = Math.max(node.getBoundingClientRect().y - 200, 0);
- clearInterval(checkExist_1);
- }
- }, 100);
-
- var checkExist1 = setInterval(
- function(){
- var node = document.querySelector('div[class*="quick-link-scroll-frame"]');
- if(node !== null && smt !== null){
- node.scrollTo({left: 0, top: smt, behavior: 'smooth'});
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- var node = document.querySelector('div[class*="quick-link-scroll-frame"]');
- if(
- node !== null &&
- smt !== null &&
- (node.scrollTop === smt ||
- Math.abs((node.clientHeight + node.scrollTop) - node.scrollHeight) < 3)
- ){
- checkTarget('h2[class*="groups-plots"]');
- clearInterval(checkExist2);
- }
- }, 100);
-
- }, multipage: true
- },{
- target: 'h2[class*="groups-plots"]',
- placement: 'top',
- arrowOffset: 'left',
- title: 'Curated groups and plots',
- content: 'This Saved groups and plots section on the Home page is where the DataSpace team shares plots and subject groups with all members. You can save your own groups here, too. Your groups will only be accessible to you.',
- yOffset: -17
- },{
- target: 'div[id*="cds-news"]',
- placement: 'top',
- arrowOffset: 'left',
- title: 'News',
- content: 'The News section on the Home page is where you\'ll find blogs about how other members have used the DataSpace. We\'ll also let you know about new data, new features, and collaboration opportunities.',
- yOffset: -17,
- onNext: function(){
-
- var smt = null;
-
- var checkExist_1 = setInterval(
- function(){
- var node = document.querySelector('h3[class*="tour-section-title"]');
- if(node !== null && smt === null){
- smt = Math.max(node.getBoundingClientRect().y - 300, 0);
- clearInterval(checkExist_1);
- }
- }, 100);
-
- var checkExist1 = setInterval(
- function(){
- var node = document.querySelector('div[class*="quick-link-scroll-frame"]');
- if(node !== null && smt !== null){
- node.scrollTo({left: 0, top: smt, behavior: 'smooth'});
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- var node = document.querySelector('div[class*="quick-link-scroll-frame"]');
- if(
- node !== null &&
- smt !== null &&
- (node.scrollTop === smt ||
- node.scrollTop === 0)
- ){
- checkTarget('h3[class*="tour-section-title"]');
- clearInterval(checkExist2);
- }
- }, 100);
-
- }
- },{
- target: 'h3[class*="tour-section-title"]',
- placement: 'bottom',
- arrowOffset: 'center',
- title: 'This concludes the tour',
- content: 'We’re back on the Home page where we started. From here you can take another tour or try it out for yourself.
Have any questions? Click the Help section at the top of the page or contact us for more information.',
- xOffset: (window.innerWidth / 2) - 280,
- showSkip: true
- }
- ]
-};
\ No newline at end of file
diff --git a/resources/cds-tours/definitions/tour_helpers.js b/resources/cds-tours/definitions/tour_helpers.js
deleted file mode 100644
index f0cdb7f8e..000000000
--- a/resources/cds-tours/definitions/tour_helpers.js
+++ /dev/null
@@ -1,98 +0,0 @@
-// Helper functions for DataSpace tours
-
-// searches innerHTML in node list for a given string
-//////////
-function nodeTextSearch(nodeList, strVal){
- if (nodeList.constructor.name === "String") {
- nodeList = document.querySelectorAll(nodeList);
- }
- var nodes = [];
- for(var i of nodeList){
- if(i.innerHTML === strVal){
- nodes.push(i);
- }
- }
- return(nodes);
-}
-// checks all nodes in a NodeList and return the first where display
-// does not equal none.
-//////////
-function nodeDisplaySearch(nodeList){
- var nodes = [];
- for(var i of nodeList){
- if(i.offsetParent !== null){
- nodes.push(i);
- }
- }
- return(nodes);
-}
-// checks which members of a node list have positive coordinates
-// would be nice if this was a part of display search
-//////////
-function nodePosCoordSearch(nodeList){
- var nodes = [];
- for(var i of nodeList){
- var bb = i.getBoundingClientRect();
- if(bb.x > 0 && bb.y > 0){
- nodes.push(i);
- }
- }
- return(nodes);
-}
-// checks if a given node has coordinates that are within the window.
-//////////
-function isVisCoords(node){
- var nod = node.getBoundingClientRect();
- var win = document.body.getBoundingClientRect();
- if(JSON.stringify(win) === JSON.stringify(nod) ||
- (nod.left >= win.left &&
- nod.top >= win.top &&
- nod.right < win.right &&
- nod.right > 0 &&
- nod.bottom < win.bottom &&
- nod.bottom > 0 &&
- node.offeseParent !== null)
- ){
- return(true);
- }
- return(false);
-}
-// returns how much to scroll by. will return values of zero when
-// scrolling not required.
-//////////
-function scrollAmount(node, amount = 60){
- var ndm = node.getBoundingClientRect();
- var bdm = document.body.getBoundingClientRect();
- var right = ndm.right + amount;
- var bottom = ndm.bottom + amount;
- var ret = { x: 0, y:0 };
-
- if( ndm.left < bdm.left ){
- ret.x = ndm.left - bdm.left;
- } else if( right > bdm.right ){
- ret.x = ndm.right - bdm.right;
- }
- if(ndm.top < bdm.top){
- ret.y = ndm.top - bdm.top;
- } else if( bottom > bdm.bottom ){
- ret.y = bottom - bdm.bottom;
- }
- return(ret);
-}
-
-// starts the next step of the tour if the next target is valid.
-//////////
-function checkTarget(target){
- var nod = document.querySelector(target);
- var xbd = window.innerWidth;
- var ybd = window.innerHeight;
-
- if ( nod !== null && nod.offsetParent !== null ) {
- var dim = nod.getBoundingClientRect();
- if ( dim.x >= 0 || dim.y >= 0 || dim.top > ybd || dim.left > xbd ) {
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- }
- } else {
- window.hopscotch.endTour();
- }
-}
\ No newline at end of file
diff --git a/resources/cds-tours/definitions/tour_learn_about.js b/resources/cds-tours/definitions/tour_learn_about.js
deleted file mode 100644
index 8bb63891b..000000000
--- a/resources/cds-tours/definitions/tour_learn_about.js
+++ /dev/null
@@ -1,858 +0,0 @@
-var tour_learn_about = {
- title: 'Learn-about',
- description: 'A tour for the "Learn about" section.',
- id: 'tour-learn-about',
- winerror: 0,
- i18n: {
- skipBtn: 'Start the tour'
- },
- onStart: function(){
- window.onerror = function() { self.winerror = 1; hopscotch.endTour(); };
- if(self.winerror === 0){
- for(var i of nodeTextSearch(document.querySelectorAll('span[id*=button]'), "clear")){
- i.click();
- }
- for(var j of nodeTextSearch(document.querySelectorAll('span[id*=button]'), "Cancel")){
- j.click();
- }
- self.winerror = 0;
- }
- },
- onEnd: function(){
- self.started = 0;
- document.querySelector('div.nav-label:nth-child(1)').click();
- var node = null;
- var promise = new Promise(function(resolve, reject) {
- node = document.querySelector('input[class*="search-studies"]');
- if(node !== null){
- resolve();
- }
- }).then(function(result) {
- node.value = "";
- if(node.value === ""){
-
- }
- }).then(function(result) {
- var event = new Event("change");
- node.dispatchEvent(event);
-
- });
-
- },
- onClose: function(){
- hopscotch.endTour();
- },
- onError: function(){
- for(var i of nodeTextSearch(document.querySelectorAll('span[id*=button]'), "clear")){
- i.click();
- }
- for(var j of nodeTextSearch(document.querySelectorAll('span[id*=button]'), "Cancel")){
- j.click();
- }
- hopscotch.endTour();
- },
- steps:
- [
- {
- target: 'h3[class*="tour-section-title"]',
- placement: 'bottom',
- arrowOffset: 'center',
- title: 'Learn about',
- content: 'This is a guided tour designed to take you on a specific path through the DataSpace. Clicking the \'Next\' button will advance you through the predefined steps of the tour. Please be aware that any additional clicking or scrolling during the tour (unless instructed) may cause the tour to terminate early. Some tours are not compatible with small screens. For best results, view tours in full screen mode.
Note: Taking this tour will change the filters in the Active filters pane. If you have applied filters during this session that you don\'t want to lose, save your data before proceeding on this tour. If you continue, your filters will be modified.',
- xOffset: (window.innerWidth / 2) - 280,
- showSkip: true
- },{
- target: 'div.nav-label:nth-child(2) > span:nth-child(2)',
- placement: 'left',
- title: 'Finding information in Learn about',
- content: 'The Learn about section is where you\'ll find information about the studies conducted by the research networks, and the products, assays, and antibodies being evaluated in those studies.',
- yOffset: -17,
- onNext: function() {
- document.querySelector('div.nav-label:nth-child(2) > span:nth-child(2)').click();
- var checkExist = setInterval(
- function() {
- if (document.querySelector('div[class*="learn-dim-selector"]') !== null &&
- document.querySelector('div[id*=learnheaderdataview]') !== null &&
- isVisCoords(document.querySelector('div[id*=learnheaderdataview]')) &&
- nodeDisplaySearch(document.querySelectorAll('td[class*=x-grid-cell]')).length > 0
- ) {
- window.location = 'cds-app.view?#learn/learn/Study';
- checkTarget('div[id*=learnheaderdataview]');
- clearInterval(checkExist);
- }
- }, 100);
- },
- multipage: true
- },{
- target: 'div[id*=learnheaderdataview]',
- placement: 'bottom',
- arrowOffset: 'center',
- xOffset: 64,
- yOffset: 25,
- title: 'Select a topic',
- content: 'In the Learn about section, there are 5 categories to explore -- Studies, Assays, Products, Monoclonal antibodies, Publications, and Reports.',
- onNext: function() {
-
- var checkExist1 = setInterval(
- function(){
- var nodes = nodeDisplaySearch(nodeTextSearch(document.querySelectorAll('h1[class*="lhdv"]'), "Studies"));
- if(nodes.length > 0) {
- nodes[0].classList.add("learn-studies-tab");
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- if(document.querySelector('h1[class*="learn-studies-tab"]') !== null) {
- checkTarget('h1[class*="learn-studies-tab"]');
- clearInterval(checkExist2);
- }
- }, 100);
-
- }, multipage: true
- },{
- target: 'h1[class*="learn-studies-tab"]',
- placement: 'bottom',
- arrowOffset: 'left',
- yOffset: 0,
- content: 'The Studies tab, contains a list of the studies conducted by the research networks contributing data and information to the DataSpace. Studies are listed by the network-assigned study number. Because not everyone is familiar with the study numbers, there are other ways to search for studies of interest. Each study in this view has a brief description and other summary information such as the study type, investigator, vaccine strategy used, products used, and study status.',
- onNext: function() {
- document.querySelector('div[id^="templatecolumn"][id*="-titleEl"]').classList.add("x-column-header-over");
- var checkExist = setInterval(
- function(){
- if(
- document.querySelector('div[id^="templatecolumn"][id*="-triggerEl"][class*="x-column-header-over"]') !== null
- ){
- checkTarget('div[id^="templatecolumn"][id*="-triggerEl"]');
- clearInterval(checkExist);
- }
- }, 100);
- }
- },{
- target: 'div[id^="templatecolumn"][id*="-triggerEl"]',
- placement: 'top',
- title: 'Learn about - Studies',
- content: 'Use the column headers to sort and filter the list of studies.',
- xOffset: -20,
- onNext: function() {
- document.querySelector('div[id^="templatecolumn"][id*="-triggerEl"]').click();
- var checkExist = setInterval(
- function() {
- if (
- document.querySelector('a[class*="x-btn filter-btn x-unselectable x-box-item x-toolbar-item"]') !== null &&
- document.querySelectorAll('a[class*="x-btn filter-btn x-unselectable x-box-item x-toolbar-item"]').length === 3 &&
- document.querySelector('button[class*=sortDropdown][class*=ipdropdown]')
- ) {
- document.querySelector('div[id^="templatecolumn"][id*="-titleEl"]').classList.remove("x-column-header-over");
- document.querySelector('button[class*=sortDropdown][class*=ipdropdown]').click();
- checkTarget('button[class*=sortDropdown][class*=ipdropdown]');
- clearInterval(checkExist);
- }
- }, 100);
- },
- multipage: true
- },{
- target: 'button[class*=sortDropdown][class*=ipdropdown]',
- placement: 'top',
- content: 'Each column has 2 related fields that can be filtered. To see the other fields available, click on the red arrow next to the category to expand the list. In this case, you can choose to filter on study name or network.',
- placement: 'top',
- arrowOffset: 'right',
- yOffset: 0,
- xOffset: -15,
- onNext: function(){
-
- var checkExist_4 = setInterval(
- function(){
- var nodes = nodeDisplaySearch(document.querySelectorAll('div[id*="menuitem"]'));
- if ( nodes.length > 0 ) {
- nodes[0].classList.add("search-by-menu-dropdown");
- clearInterval(checkExist_4);
- }
- }, 100);
-
- var checkExist_3 = setInterval(
- function(){
- var node = document.querySelector('div[class*="search-by-menu-dropdown"]');
- if ( node !== null ) {
- node.click();
- clearInterval(checkExist_3);
- }
- }, 100);
-
- var checkExist_2 = setInterval(
- function(){
- var nodes = nodeDisplaySearch(document.querySelectorAll('a[class*="x-btn-custom-toolbar-small x-noicon x-btn-noicon"]'));
- if ( nodes.length > 0 ) {
- nodes[0].click();
- clearInterval(checkExist_2);
- }
- }, 100
- );
-
- var checkExist_1 = setInterval(
- function() {
- if(
- nodeDisplaySearch(document.querySelectorAll('div[class*=window-body-filterwindow]')).length === 0 &&
- nodeDisplaySearch(document.querySelectorAll('input')).length !== 0
- ){
- nodeDisplaySearch(document.querySelectorAll('input'))[0].classList.add("search-studies");
- clearInterval(checkExist_1);
- }
- }, 100);
-
- var checkExist1 = setInterval(
- function(){
- var node = document.querySelector('input[class*="search-studies"]');
- if(node !== null){
- node.value = "434";
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- var node = document.querySelector('input[class*="search-studies"]');
- var event = new Event("change");
- if(node !== null && node.value === "434"){
- node.dispatchEvent(event);
- clearInterval(checkExist2);
- }
- }, 100);
-
- var checkExist3 = setInterval(
- function(){
- var node1 = document.querySelector('tr[id*="gridview"][id*="record-cvd434"]');
- var node2 = document.querySelector('input[class*="search-studies"]');
- if(
- node1 !== null &&
- node2 !== null &&
- node1.nextSibling === null &&
- node1.previousSibling === null &&
- isVisCoords(node1) &&
- node2.value == "434"
- ){
- checkTarget('input[class*="search-studies"]');
- clearInterval(checkExist3);
- }
- },100);
-
- }, multipage: true
- },{
- target: 'input[class*="search-studies"]',
- placement: 'left',
- content: 'You can also use the search bar to find a specific study.',
- yOffset: -17,
- onNext: function(){
- var checkExist = setInterval(
- function() {
- if(
- document.querySelector('tr[id*="gridview"][id*="record-cvd434"]') !== null &&
- isVisCoords(document.querySelector('tr[id*="gridview"][id*="record-cvd434"]'))
- ){
- checkTarget('tr[id*="record-cvd434"]');
- clearInterval(checkExist);
- }
- }, 100);
- }, multipage: true
- },{
- target: 'tr[id*="record-cvd434"]',
- placement: 'top',
- arrowOffset: 'center',
- content: 'Clicking anywhere in the row takes you to the study page.',
- onNext: function(){
- document.querySelector('tr[id*="record-cvd434"]').click();
- var checkExist = setInterval(
- function() {
- if(document.querySelectorAll("div[class*='x-container modulecontainercolumn x-box-item']").length === 2){
- checkTarget('div[id*="app-module-studyheader"]');
- clearInterval(checkExist);
- }
- }, 100);
- }, multipage: true
-
- },{
- target: 'div[id*="app-module-studyheader"]',
- placement: 'right',
- arrowOffset: 'top',
- xOffset: -200,
- yOffset: -75,
- content: 'On the study pages, you\'ll find background information about the study, including the type of study, the species being studied, the grant under which it was conducted, as well as the study objectives, rationale, and methods. Treatment and assay schemas provide a summary view of vaccination administration and assay testing schedules.',
- onNext: function(){
-
- function getScrollParent(node) {
- if (node == null) {
- return null;
- }
- if (node.scrollHeight > node.clientHeight) {
- return node;
- } else {
- return getScrollParent(node.parentNode);
- }
- }
-
- var smt = null;
- var checkExist_2 = setInterval(
- function(){
- var nodes = nodeTextSearch('h3', "Findings");
- if(nodes.length > 0){
- nodes[0].classList.add("findings-header");
- clearInterval(checkExist_2);
- }
- }, 100);
-
- var checkExist_1 = setInterval(
- function(){
- var node = document.querySelector('h3[class*="findings-header"]');
- if(node !== null && smt === null){
- smt = Math.max(node.getBoundingClientRect().y - 300, 0);
- clearInterval(checkExist_1);
- }
- }, 100);
-
- var checkExist1 = setInterval(
- function(){
- if(document.querySelector('h3[class*="findings-header"]') !== null && smt !== null) {
- getScrollParent(document.querySelector('div[class="x-container auto-scroll-y x-container-default"]')).classList.add("find-scroll-frame");
- clearInterval(checkExist1);
- }
- }, 100);
-
- // if(smt + node.clientHeight > node.scrollHeight) smt = node.scrollHeight - node.clientHeight
-
- var checkExist2 = setInterval(
- function(){
- var node = document.querySelector('div[class*="find-scroll-frame"]');
- if(node !== null){
- node.scrollTo({left: 0, top: smt, behavior: 'smooth'});
- clearInterval(checkExist2);
- }
- }, 100);
-
- var checkExist3 = setInterval(
- function(){
- var node = document.querySelector('div[class*="find-scroll-frame"]');
- if (
- node !== null && smt != null &&
- ( Math.abs(node.scrollTop - smt) < 3 ||
- Math.abs((node.clientHeight + node.scrollTop) - node.scrollHeight) < 3)
- ){
- checkTarget('h3[class*="findings-header"]');
- clearInterval(checkExist3);
- }
- }, 100);
-
- }, multipage: true
- },{
- target: 'h3[class*="findings-header"]',
- placement: 'right',
- arrowOffset: 'center',
- xOffset: -200,
- yOffset: -55,
- content: 'Completed studies include a summary of findings and links to publications.',
- onNext: function(){
-
- var snd = null;
- var smt = null;
- var checkExist1 = setInterval(
- function(){
- snd = document.querySelector('div[class*="find-scroll-frame"]');
- if( snd !== null ){
- smt = Math.max((snd.scrollTop + document.querySelector('div[id*="app-module-contactcds"]').getBoundingClientRect().y - 300), 0);
- document.querySelector('div[class*="find-scroll-frame"]').scrollTo({left: 0, top: smt, behavior: 'smooth'});
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- var node = document.querySelector('div[class*="find-scroll-frame"]');
- if (
- node !== null &&
- smt != null &&
- Math.abs(node.scrollTop - smt) < 3
- ) {
- checkTarget('div[id*="app-module-contactcds"]');
- clearInterval(checkExist2);
- }
- }, 100);
-
- }, multipage: true
- },{
- target: 'div[id*="app-module-contactcds"]',
- placement: 'right',
- arrowOffset: 'center',
- xOffset: -200,
- yOffset: -60,
- content: 'Additional resources and contact information are available for follow up questions.',
- },{
- target: 'div[id*="app-module-studyproducts"]',
- placement: 'right',
- arrowOffset: 'center',
- xOffset: -200,
- yOffset: -60,
- content: 'Links to the Product pages in Learn about provide more information for the products tested in the study.',
- onNext: function(){
-
- var smt = Math.max(document.querySelector('div[id*="app-module-dataavailability"]').getBoundingClientRect().y - 300, 0);
- var checkExist1 = setInterval(
- function(){
- var node = document.querySelector('div[class*="find-scroll-frame"]');
- if(node !== null){
- document.querySelector('div[class*="find-scroll-frame"]').scrollTo({left: 0, top: smt, behavior: 'smooth'});
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- var node = document.querySelector('div[class*="find-scroll-frame"]');
- if(
- node !== null && smt != null &&
- ( Math.abs(node.scrollTop - smt) < 3 ||
- Math.floor(node.clientHeight + node.scrollTop) === Math.floor(node.scrollHeight) )
- ){
- checkTarget('div[id*="app-module-dataavailability"]');
- clearInterval(checkExist2);
- }
- }, 100);
-
- }, multipage: true
-
- },{
- target: 'div[id*="app-module-dataavailability"]',
- placement: 'right',
- arrowOffset: 'center',
- xOffset: -200,
- yOffset: -78,
- content: 'This section gives you a summary of the data collected during the study and whether the data is available via the DataSpace. Hover over the data type to get the status. Assays highlighted in red are links to the Assay pages in Learn about.',
- onNext: function(){
-
- var smt = null;
- var node = null;
- var checkExist1 = setInterval(
- function(){
- node = document.querySelector('div[class*="find-scroll-frame"]');
- smt = Math.max(document.querySelector('div[id*="app-module-studyreports"]').getBoundingClientRect().y - 100, 0);
- if(node !== null && smt !== null){
- node.scrollTo({left: 0, top: smt, behavior: 'smooth'});
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- var node = document.querySelector('div[class*="find-scroll-frame"]');
- if(
- node !== null && smt != null &&
- ( Math.abs(node.scrollTop - smt) < 3 ||
- Math.floor(node.clientHeight + node.scrollTop) === Math.floor(node.scrollHeight) )
- ){
- checkTarget('div[id*="app-module-studyreports"]');
- clearInterval(checkExist2);
- }
- }, 100);
-
- }, multipage: true
- },{
- target: 'div[id*="app-module-studyreports"]',
- placement: 'right',
- arrowOffset: 'center',
- xOffset: -200,
- yOffset: -60,
- content: 'Some studies have additional reports or presentations to summarize study findings.',
- onNext: function(){
-
- var smt = null;
- var node = null;
- var checkExist1 = setInterval(
- function(){
- node = document.querySelector('div[class*="find-scroll-frame"]');
- smt = Math.max(document.querySelector('.iarrow').getBoundingClientRect().y - 300, 0);
- if(node !== null && smt !== null){
- document.querySelector('div[class*="find-scroll-frame"]').scrollTo({left: 0, top: smt, behavior: 'smooth'});
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- var node = document.querySelector('div[class*="find-scroll-frame"]');
- if (
- node !== null && smt != null &&
- ( Math.abs(node.scrollTop - smt) < 3 ||
- Math.floor(node.clientHeight + node.scrollTop) === Math.floor(node.scrollHeight) )
- ){
- checkTarget('.iarrow');
- clearInterval(checkExist2);
- }
- }, 100);
-
- }, multipage: true
- },{
- target: '.iarrow',
- placement: 'right',
- arrowOffset: 'top',
- content: 'Clicking this arrow sends the page back to Learn about.',
- onNext: function(){
-
- document.querySelector('.iarrow').click();
- var event = new Event("change");
-
- var ck1 = setInterval(
- function(){
- if(document.querySelector('input[id*=learn-search]').offsetParent !== null &&
- document.querySelector('div[id*="learnheader"]').offsetParent !== null){
- document.querySelector('input[id*=learn-search]').value = "";
- clearInterval(ck1);
- }
- }, 100);
-
- var ck2 = setInterval(
- function(){
- var event = new Event("change");
- var node = document.querySelector('input[id*="learn-search"]');
- if(document.querySelector('input[id*=learn-search]').offsetParent !== null &&
- document.querySelector('div[id*="learnheader"]').offsetParent !== null &&
- document.querySelector('input[id*=learn-search]').value === ""){
- document.querySelector('input[id*=learn-search]').dispatchEvent(event);
- clearInterval(ck2);
- }
- }, 100);
-
- var ck3 = setInterval(
- function(){
- var nodes = nodeDisplaySearch(document.querySelectorAll('h1[class*="lhdv"][class*=active]'));
- if( nodeDisplaySearch(nodeTextSearch(document.querySelectorAll('h2'), 'CAVD 434')).length > 0 &&
- !isVisCoords(nodeDisplaySearch(nodeTextSearch(document.querySelectorAll('h2'), 'CAVD 434'))[0]) &&
- nodes.length > 0
- ){
- nodes[0].nextSibling.click();
- nodes[0].nextSibling.classList.add("learn-assay-tab");
- clearInterval(ck3);
- }
- }, 100);
-
- var ck5 = setInterval(
- function(){
- if(document.querySelector('h1[class*="learn-assay-tab"]') !== null){
- checkTarget('h1[class*="learn-assay-tab"]');
- clearInterval(ck5);
- }
- }, 100);
-
- }, multipage: true
-
- },{
- target: 'h1[class*="learn-assay-tab"]',
- placement: 'right',
- arrowOffset: 'bottom',
- title: 'Learn about - Assays',
- content: 'Assay pages describe the assay methods and endpoints and show which studies have data for the assay. Each assay page contains assay dimensions and variable definitions to provide background on the assay data.',
- onNext: function(){
-
- var event = new Event("change");
- nodeDisplaySearch(document.querySelectorAll('h1[class*="lhdv"]'))[2].click();
-
- var checkExist1 = setInterval(
- function() {
- if(document.querySelector('input[placeholder*="Search products"]') !== null){
- var inbox = document.querySelector('input[placeholder*="Search products"]');
- inbox.value = "ALVAC";
- inbox.dispatchEvent(event);
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function() {
- if(nodeDisplaySearch(document.querySelectorAll('h2'))[1].innerHTML === "ALVAC (vCP1521)"){
- checkTarget('input[placeholder*="Search products"]');
- clearInterval(checkExist2);
- }
- }, 100);
-
-
- }, multipage: true
-
- },{
- target: 'input[placeholder*="Search products"]',
- placement: 'left',
- arrowOffset: 'center',
- title: 'Learn about - Products',
- yOffset: -55,
- content: 'On the Products page, use the column filters or search bar to find specific products.',
- onNext: function(){
-
- var checkExist1 = setInterval(
- function(){
- var nodes = nodeTextSearch(document.querySelectorAll('h2'), "ALVAC (vCP1521)");
- if(nodes.length > 0){
- nodes = nodeDisplaySearch(nodes);
- if(nodes.length > 0){
- nodes[0].classList.add("ALVACvCP15");
- clearInterval(checkExist1);
- }
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- if(document.querySelector('h2[class*="ALVACvCP15"]') !== null &&
- isVisCoords(document.querySelector('h2[class*="ALVACvCP15"]'))){
- checkTarget('h2[class*="ALVACvCP15"]');
- clearInterval(checkExist2);
- }
- }, 100);
-
- }, multipage: true
-
- },{
- target: 'h2[class*="ALVACvCP15"]',
- placement: 'top',
- arrowOffset: 'center',
- content: 'Clicking anywhere in the row takes you to the product page.',
- onNext: function(){
- document.querySelector('h2[class*="ALVACvCP15"]').click();
- var checkExist = setInterval(
- function() {
- if(document.querySelectorAll("div[class*='x-container modulecontainercolumn x-box-item']").length === 2){
- checkTarget('div[id*="app-module-productheader"]');
- clearInterval(checkExist);
- }
- }, 100);
- }, multipage: true
- },{
- target: 'div[id*="app-module-productheader"]',
- placement: 'top',
- arrowOffset: 'left',
- content: 'Get product details, see what studies used that product, and see what other products have been tested in combination with the product.',
- },{
- target: '.iarrow',
- placement: 'right',
- arrowOffset: 'top',
- content: 'Clicking this arrow sends the page back to Learn about.',
- onNext: function(){
-
- document.querySelector('.iarrow').click();
- var event = new Event("change");
-
- var ck1 = setInterval(
- function(){
- if(document.querySelector('input[id*=learn-search]').offsetParent !== null &&
- document.querySelector('div[id*="learnheader"]').offsetParent !== null){
- document.querySelector('input[id*=learn-search]').value = "";
- clearInterval(ck1);
- }
- }, 100);
-
- var ck2 = setInterval(
- function(){
- var event = new Event("change");
- var node = document.querySelector('input[id*="learn-search"]');
- if(document.querySelector('input[id*=learn-search]').offsetParent !== null &&
- document.querySelector('div[id*="learnheader"]').offsetParent !== null &&
- document.querySelector('input[id*=learn-search]').value === ""){
- document.querySelector('input[id*=learn-search]').dispatchEvent(event);
- clearInterval(ck2);
- }
- }, 100);
-
- var ck3 = setInterval(
- function(){
- var nodes = nodeDisplaySearch(document.querySelectorAll('h1[class*="lhdv"][class*=active]'));
- if( nodeDisplaySearch(nodeTextSearch(document.querySelectorAll('h2'), 'ALVAC (vCP1521)')).length > 0 &&
- !isVisCoords(nodeDisplaySearch(nodeTextSearch(document.querySelectorAll('h2'), 'ALVAC (vCP1521)'))[0]) &&
- nodes.length > 0
- ){
- nodes[0].nextSibling.click();
- nodes[0].nextSibling.classList.add("learn-mab-tab");
- clearInterval(ck3);
- }
- }, 100);
-
- var ck5 = setInterval(
- function(){
- if(nodeDisplaySearch(document.querySelectorAll('input[id*="learn-search"]')).length > 0 &&
- document.querySelector('h1[class*="learn-mab-tab"][class*=active]') !== null &&
- document.querySelector('input[placeholder*="Search mabs"]') !== null){
- var inbox = document.querySelector('input[placeholder*="Search mabs"]');
- inbox.value = "PGT";
- inbox.dispatchEvent(event);
- clearInterval(ck5);
- }
- }, 100);
-
- var ck6 = setInterval(
- function(){
- if(document.querySelector('input[placeholder*="Search mabs"]') !== null &&
- document.querySelector('input[placeholder*="Search mabs"]').value === "PGT" &&
- nodeDisplaySearch(nodeTextSearch('h2', 'PGT121 + PGDM1400')).length > 0 &&
- isVisCoords(nodeDisplaySearch(nodeTextSearch('h2', 'PGT121 + PGDM1400'))[0])
- ){
- checkTarget('h1[class*="learn-mab-tab"]');
- clearInterval(ck6);
- }
- }, 100);
-
-
- }, multipage: true
-
- },{
- target: 'h1[class*="learn-mab-tab"]',
- placement: 'right',
- arrowOffset: 'top',
- title: 'Learn about - MAbs',
- content: 'On the MAbs page, use the column filters or search bar to find specific monoclonal antibodies.',
- onNext: function(){
-
- var promise = new Promise(function(resolve, reject){
- if(nodeDisplaySearch(nodeTextSearch('h2', 'PGT121 + PGDM1400')).length > 0){
- resolve();
- }
- }).then(function(){
- var nodes = nodeDisplaySearch(document.querySelectorAll('tr[id*="record-PGT121 + PGDM1400"]'));
- if( nodes.length > 0 &&
- isVisCoords(nodes[0])
- ){
- nodes[0].classList.add("record-pgt121-pgdm1400");
-
- }
- }).then(function(){
- if(document.querySelector('tr[class*="record-pgt121-pgdm1400"]') !== null){
- checkTarget('tr[class*="record-pgt121-pgdm1400"]');
-
- }
- });
-
- }, multipage: true
- },{
- target: 'tr[class*="record-pgt121-pgdm1400"]',
- placement: 'top',
- arrowOffset: 'center',
- title: 'Learn about - MAbs',
- content: 'Get details about monoclonal antibodies and see what studies tested them. For more details, follow the link to the Los Alamos National Lab antibody database.',
- onNext: function(){
-
- var event = new Event("change");
-
- var ck1 = setInterval(
- function(){
- if(document.querySelector('input[id*=learn-search]').offsetParent !== null &&
- document.querySelector('div[id*="learnheader"]').offsetParent !== null){
- document.querySelector('input[id*=learn-search]').value = "";
- clearInterval(ck1);
- }
- }, 100);
-
- var ck2 = setInterval(
- function(){
- var event = new Event("change");
- var node = document.querySelector('input[id*="learn-search"]');
- if(document.querySelector('input[id*=learn-search]').offsetParent !== null &&
- document.querySelector('div[id*="learnheader"]').offsetParent !== null &&
- document.querySelector('input[id*=learn-search]').value === ""){
- document.querySelector('input[id*=learn-search]').dispatchEvent(event);
- clearInterval(ck2);
- }
- }, 100);
-
- var ck3 = setInterval(
- function(){
- if( nodeDisplaySearch(document.querySelectorAll('tr[id*="record-PGT121 + PGDM1400"]')).length > 0 &&
- !isVisCoords(nodeDisplaySearch(document.querySelectorAll('tr[id*="record-PGT121 + PGDM1400"]'))[0])
- ){
- document.querySelector('h1[class*="learn-mab-tab"]').nextSibling.click();
- document.querySelector('h1[class*="learn-mab-tab"]').nextSibling.classList.add("learn-reports-tab");
- clearInterval(ck3);
- }
- }, 100);
-
- var checkExist = setInterval(
- function(){
- if(document.querySelector('h1[class*="learn-reports-tab"][class*=active]') !== null){
- checkTarget('h1[class*="learn-reports-tab"]');
- console.log("test");
- clearInterval(checkExist);
- }
- }, 100);
-
- }, multipage: true
- },{
- target: 'h1[class*="learn-reports-tab"]',
- placement: 'right',
- arrowOffset: 'top',
- title: 'Learn about - Reports',
- content: 'On the Reports page, you\'ll find use cases describing how others have used the DataSpace and reports summarizing the studies and data in the DataSpace.',
- onNext: function(){
- nodeDisplaySearch(document.querySelectorAll('h1[class*="lhdv"]'))[5].click();
- var checkExist = setInterval(
- function(){
- if(nodeDisplaySearch(document.querySelectorAll('h1[class*="lhdv"]'))[5].className === 'lhdv active'){
- checkTarget('h1[class*="lhdv"][class*="lhdv active"]');
- clearInterval(checkExist);
- }
- }, 100);
- }
-
- },{
- target: 'h1[class*="lhdv"][class*="lhdv active"]',
- placement: 'right',
- arrowOffset: 'top',
- title: 'Learn about - Publications',
- content: 'The Publications page combines publications across the contributing networks. Search publications by title, author, journal, and related studies.',
- onNext: function(){
-
- var node = null;
- var promise = new Promise(function(resolve, reject) {
- document.querySelector('h1[class*="learn-studies-tab"]').click();
- if(document.querySelector('h1[class*="learn-studies-tab"][class*="active"]') !== null){
- resolve();
- }
- }).then(function(result) {
- var nodes = nodeDisplaySearch(nodeTextSearch(document.querySelectorAll('h2'), "CAVD 434"));
- if(nodes.length > 0){
-
- }
- }).then(function(result) {
- node = document.querySelector('input[class*="search-studies"]');
- if(node !== null){
- return;
- }
- }).then(function(result) {
- node.value = "";
- if(node.value === ""){
-
- }
- }).then(function(result) {
- var event = new Event("change");
- node.dispatchEvent(event);
- if(nodeTextSearch(document.querySelectorAll('h2'), "CAVD 434").length >= 0 &&
- isVisCoords(nodeTextSearch(document.querySelectorAll('h2'), "CAVD 434")[0])){
- checkTarget('div.nav-label:nth-child(1)');
-
- }
- });
-
- }
- },{
- target: 'div.nav-label:nth-child(1)',
- placement: 'left',
- yOffset: -17,
- content: 'The menu bar takes you back to the Home page',
- onNext: function(){
- document.querySelector('div.nav-label:nth-child(1)').click();
- checkTarget('h3[class*="tour-section-title"]');
- }
-
- },{
- target: 'h3[class*="tour-section-title"]',
- placement: 'bottom',
- arrowOffset: 'center',
- title: 'This concludes the tour',
- content: 'We’re back on the Home page where we started. From here you can take another tour or try it out for yourself.
Have any questions? Click the Help section at the top of the page or contact us for more information.',
- xOffset: (window.innerWidth / 2) - 280,
- showSkip: true
- }
- ]
-};
\ No newline at end of file
diff --git a/resources/cds-tours/definitions/tour_monoclonal_antibodies.js b/resources/cds-tours/definitions/tour_monoclonal_antibodies.js
deleted file mode 100644
index b1576eb4d..000000000
--- a/resources/cds-tours/definitions/tour_monoclonal_antibodies.js
+++ /dev/null
@@ -1,587 +0,0 @@
-var tour_monoclonal_antibodies = {
- title: 'Monoclonal Antibodies',
- description: 'A tour for the "Monoclonal antibodies" section.',
- id: 'tour-monoclonal-antibodies',
- winerror: 0,
- i18n: {
- skipBtn: 'Start the tour'
- },
- onStart: function(){
- window.onerror = function() { self.winerror = 1; hopscotch.endTour(); };
- if(self.winerror === 0){
- for(var i of nodeTextSearch(document.querySelectorAll('span[id*=button]'), "clear")){
- i.click();
- }
- for(var j of nodeTextSearch(document.querySelectorAll('span[id*=button]'), "Cancel")){
- j.click();
- }
- self.winerror = 0;
- }
- },
- onEnd: function(){
-
- var nodes = null;
- var promise = new Promise(function(resolve, reject){
- nodes = nodeDisplaySearch(nodeTextSearch(document.querySelectorAll('span[id*=button]'), "clear"));
- if(nodes.length > 0){
- resolve();
- }
- }).then(function(result){
- if(nodes[0] !== null){
- nodes[0].click();
-
- }
- }).then(function(result){
- document.querySelector('div.nav-label:nth-child(1)').click();
-
- });
- },
- onClose: function(){
- hopscotch.endTour();
- },
- onError: function(){
- for(var i of nodeTextSearch(document.querySelectorAll('span[id*=button]'), "clear")){
- i.click();
- }
- for(var j of nodeTextSearch(document.querySelectorAll('span[id*=button]'), "Cancel")){
- j.click();
- }
- hopscotch.endTour();
- },
- steps:
- [
- {
- target: 'h3[class*="tour-section-title"]',
- placement: 'bottom',
- arrowOffset: 'center',
- title: 'Monoclonal antibodies',
- content: 'This is a guided tour designed to take you on a specific path through the DataSpace. Clicking the \'Next\' button will advance you through the predefined steps of the tour. Please be aware that any additional clicking or scrolling during the tour (unless instructed) may cause the tour to terminate early. Some tours are not compatible with small screens. For best results, view tours in full screen mode.
Note: Taking this tour will change the filters in the Active filters pane. If you have applied filters during this session that you don\'t want to lose, save your data before proceeding on this tour. If you continue, your filters will be modified.',
- xOffset: (window.innerWidth / 2) - 280,
- showSkip: true
- },{
- target: 'div.nav-label:nth-child(6)',
- placement: 'left',
- title: 'Compare different antibody-virus combinations',
- content: 'The Monoclonal antibodies section is where you can explore data from monoclonal antibody (mAb) characterization studies. In this section, you can search for antibodies and compare the neutralization curves and heatmaps for different antibody-virus combinations.',
- yOffset: -17,
- onNext: function(){
-
- document.querySelector('div.nav-label:nth-child(6)').click();
- var event = new Event('mouseenter');
- var checkExist1 = setInterval(
- function(){
- var nodes = nodeTextSearch(document.querySelectorAll('span[id*=gridcolumn][class*=x-column-header]'), "MAb/Mixture");
- if (nodes.length === 1) {
- var node = nodes[0];
- node.classList.add("mab-mix-column");
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- var node = document.querySelector('span[class*="mab-mix-column"]');
- if (node !== null) {
- node.parentElement.dispatchEvent(event);
- node.nextSibling.classList.add("mab-mix-filter");
- clearInterval(checkExist2);
- }
- }, 100);
-
- var checkExist3 = setInterval(
- function(){
- if (document.querySelector('span[class*="mab-mix-column"]') !== null &&
- document.querySelector('div[class*="mab-mix-filter"]') !== null) {
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- clearInterval(checkExist3);
- }
- }, 100);
-
- }, multipage: true
- },{
- target: 'div[class*="mab-mix-filter"]',
- placement: 'right',
- arrowOffset: 'top',
- xOffset: 10,
- yOffset: -25,
- title: 'The "mAb grid"',
- content: 'The mAb grid lists all the antibodies from the mAb characterization study data in DataSpace. The antibodies are listed by a standard name for the mAb or mixture of mAbs assigned by the DataSpace team.',
- },{
- target: 'h2[class*="mab-filterheader-text"]',
- placement: 'left',
- arrowOffset: 'center',
- xOffset: 20,
- yOffset: -40,
- content: 'The MAb Info pane gives you a summary of the mAbs available to plot and keeps track of the mAbs being explored in your session, similar to the Active filters for subject data.',
- onNext: function(){
-
- document.querySelector('div[class*="mab-mix-filter"]').click();
- var checkExist1 = setInterval(
- function(){
- var nodes = nodeTextSearch(document.querySelectorAll('div[id*="tbtext"]'), "MAb/Mixture");
- if(nodes.length === 1 && isVisCoords(nodes[0])){
- nodes[0].classList.add("mab-mix-popup");
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- if(document.querySelector('div[class*="mab-mix-popup"]')){
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- clearInterval(checkExist2);
- }
- },100);
-
- }, multipage: true
- },{
- target: 'div[class*="mab-mix-popup"]',
- placement: 'top',
- arrowOffset: 'center',
- xOffset: -110,
- yOffset: -10,
- title: 'Choosing mAb data to plot',
- content: 'The MAb/Mixture column can be sorted or filtered to specific mAbs.',
- onNext: function(){
-
- var event = new Event("click");
- nodeTextSearch(document.querySelectorAll('span[id*="templatecolumn"]'), "All")[0].
- parentElement.
- parentElement.
- previousSibling.
- dispatchEvent(event);
-
- var checkExist0 = setInterval(
- function(){
- var node = nodeTextSearch(document.querySelectorAll('span[id*="templatecolumn"]'), "All")[0].
- parentElement.
- parentElement.
- previousSibling;
- if(node.className.match("x-grid-hd-checker-on") === null){
- var event = new Event("change");
- var inbox = document.querySelector('input[placeholder*="Search MAb/Mixture"]');
- inbox.value = "PGT";
- inbox.dispatchEvent(event);
- clearInterval(checkExist0);
- }
- }, 100);
-
- var checkExist1 = setInterval(
- function(){
- var nodes = nodeTextSearch(document.querySelectorAll('div[class*="x-grid-cell-inner"]'), "PGT121");
- var nodeIdx = null;
- for(var i = 0; i < nodes.length; i++){
- for(var j of Array(7)){
- nodes[i] = nodes[i].parentElement;
- }
- if(nodes[i].nodeName === "TBODY"){
- nodeIdx = i;
- }
- }
- if(nodeIdx !== null){
- nodeTextSearch(document.querySelectorAll('div[class*="x-grid-cell-inner"]'), "PGT121")[nodeIdx].click();
- nodes[nodeIdx].classList.add("top-of-table");
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- var node = document.querySelector('tbody[class="top-of-table"]');
- if(node !== null){
- node.firstChild.nextSibling.classList.add("mab-mix-filter-select-row");
- node.firstChild.nextSibling.nextSibling.classList.add("mab-mix-filter-select-row");
- clearInterval(checkExist2);
- }
- }, 100);
-
- var checkExist3 = setInterval(
- function(){
- var nodes = document.querySelectorAll('tr[class*="mab-mix-filter-select-row"]');
- if(nodes.length === 2){
- for(var i of nodes){ i.firstChild.click(); }
- clearInterval(checkExist3);
- }
- }, 100);
-
- var checkExist4 = setInterval(
- function(){
- var nodes = nodePosCoordSearch(document.querySelectorAll('tr[class*="mab-mix-filter-select-row"][class*="x-grid-row-selected"]'));
- if(nodes.length === 2){
- nodePosCoordSearch(nodeTextSearch(document.querySelectorAll('span[id*="button"]'), "Filter"))[0].classList.add("mab-mix-popout-filter-button");
- clearInterval(checkExist4);
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- }
- }, 100);
- }, multipage: true
- },{
- target: 'span[class*="mab-mix-popout-filter-button"]',
- placement: 'bottom',
- arrowOffset: 'center',
- xOffset: -140,
- yOffset: 10,
- content: 'Clicking the Filter button will set the filter in the mAb grid.',
- onNext: function(){
- document.querySelector('span[class*="mab-mix-popout-filter-button"]').click();
- var checkExist1 = setInterval(
- function(){
- var node = document.querySelector('span[class*="mab-mix-popout-filter-button"]');
- if (node === null) {
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- clearInterval(checkExist1);
- }
- }, 100);
- }, multipage: true
-
- },{
- target: 'div[class*="mab-mix-filter"]',
- placement: 'right',
- arrowOffset: 'top',
- xOffset: 10,
- yOffset: -25,
- content: 'Now the list of mAbs only includes the mAbs selected.',
- onNext: function(){
-
- var checkExist1 = setInterval(
- function(){
- var nodes = nodeDisplaySearch(
- nodeTextSearch(
- document.querySelectorAll('span[class*="x-column-header-text"]'), "Antibody binding type"
- )
- );
- if(nodes.length > 0){
- nodes[0].classList.add("antibody-binding-type-column");
- clearInterval(checkExist1);
- }
- }, 100);
-
-
- var checkExist2 = setInterval(
- function(){
- var node = document.querySelector('span[class*="antibody-binding-type-column"]');
- if( node !== null){
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- clearInterval(checkExist2);
- }
- }, 100);
-
- }, multipage: true
-
- },{
- target: 'span[class*="antibody-binding-type-column"]',
- placement: 'right',
- arrowOffset: 'top',
- xOffset: 10,
- yOffset: -25,
- content: 'We can also add filters to mAb metadata fields, such as the antibody binding type or filter by study.',
- onNext: function(){
-
- var event = new Event('mouseenter');
- var node = nodeTextSearch(document.querySelectorAll('span[id*="gridcolumn"]'), 'Viruses')[0];
-
- var checkExist1 = setInterval(
- function(){
- if(node !== null){
- node.classList.add("virus-column");
- node.nextSibling.classList.add("virus-filter");
- node.parentElement.dispatchEvent(event);
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- if(document.querySelector('span[class*="virus-column"]') !== null &&
- document.querySelector('div[class*="virus-filter"]') !== null){
- clearInterval(checkExist2);
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- }
- }, 100);
-
- }, multipage: true
-
- },{
- target: 'div[class*="virus-filter"]',
- placement: 'right',
- arrowOffset: 'top',
- xOffset: 10,
- yOffset: -25,
- content: 'Clicking here we can now filter on viruses.',
- onNext: function(){
-
- document.querySelector('div[class*="virus-filter"]').click();
-
- var checkExist1 = setInterval(
- function(){
- var nodes = nodeDisplaySearch(nodeTextSearch(document.querySelectorAll('label[id*="checkboxfield"]'), "All"));
- if(nodeDisplaySearch(nodeTextSearch(document.querySelectorAll('label[id*="checkboxfield"]'), "All")).length > 0){
- var node = nodes[0];
- node.classList.add("neut-tier-all-label");
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- var node = document.querySelector('label[class*="neut-tier-all-label"]');
- if(node !== null){
- node.click();
-
- clearInterval(checkExist2);
- }
- }, 100);
-
- var checkExist3 = setInterval(
- function(){
- var nodes = nodeTextSearch(document.querySelectorAll('label[id*="checkboxfield"]'), "1B");
- if(nodes.length > 0){
- nodes[0].classList.add("nt-1b-all-label");
- clearInterval(checkExist3);
- }
- }, 100);
-
- var checkExist4 = setInterval(
- function(){
- var node = document.querySelector('label[class*="nt-1b-all-label"]');
- if(node !== null){
- node.click();
- clearInterval(checkExist4);
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- }
- }, 100);
-
- }, multipage: true
- },{
- target: 'label[class*="nt-1b-all-label"]',
- placement: 'left',
- arrowOffset: 'center',
- xOffset: -30,
- yOffset: 0,
- content: 'Many of the antibodies are tested against large panels of over 100 viruses, so you may also want to filter the viruses before you plot the data. In this case, we can select viruses that are in the neutralization tier category 1B. When looking for specific viruses, try CTRL + F to search for the virus name.',
- onNext: function(){
-
- var node = nodePosCoordSearch(nodeTextSearch(document.querySelectorAll('span[id*="button"]'), "Done"))[0];
- node.classList.add('virus-filter-done');
- node.click();
-
- var checkExist = setInterval(
- function(){
- if(nodePosCoordSearch(nodeTextSearch(document.querySelectorAll('span[id*="button"]'), "Done")).length === 0){
- clearInterval(checkExist);
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- }
- }, 100);
-
- }, multipage: true
-
- },{
- target: 'span[class*="mab-mix-column"]',
- placement: 'right',
- arrowOffset: 'top',
- xOffset: -20,
- yOffset: -20,
- content: 'Now that we\'ve filtered the list of mAbs and viruses, we\'ll select the mAbs and mAb mixtures we want to view in the report. We put a check mark next to the mAbs we want to include in the report.',
- onNext: function(){
-
- var event = new Event("click");
- var node = document.querySelector('span[class*="mab-mix-column"]').
- parentElement.
- parentElement.
- previousSibling;
-
- if(node.className.match('x-grid-hd-checker-on') === null) node.dispatchEvent(event);
-
- var checkExist1 = setInterval(
- function(){
- var node = document.querySelector('span[class*="mab-mix-column"]').
- parentElement.
- parentElement.
- previousSibling;
- if(node.className.match('x-grid-hd-checker-on') !== null ){
- document.querySelectorAll('a[class*=mabgridcolumnsbtn]')[0].classList.add("mab-report-button1");
- document.querySelectorAll('a[class*=mabgridcolumnsbtn]')[1].classList.add("mab-report-button2");
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- if(document.querySelectorAll('a[class*="mab-report-button"]').length === 2 ){
- clearInterval(checkExist2);
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- }
- }, 100);
-
- }, multipage: true
-
- },{
- target: 'a[class*="mab-report-button2"]',
- placement: 'bottom',
- arrowOffset: 'center',
- xOffset: -120,
- yOffset: 0,
- content: 'Now that we\'ve selected our mAbs and viruses we want to compare, we can view the data in 2 reports.',
- onNext: function(){
-
- document.querySelector('a[class*="mab-report-button2"]').click();
- var checkExist = setInterval(
- function(){
- if(document.querySelector('div[class*="labkey-knitr"]') !== null &&
- nodeDisplaySearch(document.querySelectorAll('div[class*="labkey-knitr"]')).length > 0 &&
- nodeDisplaySearch(document.querySelectorAll('div[class*="svg-container"]')).length > 0 ){
- clearInterval(checkExist);
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- }
- }, 100);
-
- }, multipage: true
-
- },{
- target: 'div[class*="svg-container"]',
- placement: 'right',
- arrowOffset: 'center',
- xOffset: 0,
- yOffset: 0,
- content: 'The heatmap report shows the titer IC50 for each mAb-virus combination. The titer IC50 (50% maximal inhibitory concentration) is the concentration of the antibody required to achieve 50% neutralization of the virus. A low titer IC50 value indicates more efficient neutralization of the virus by the antibody. The geometric mean of the titer is plotted when the mAb-virus combination is tested in more than one study. Hover over the cell for each combination to see the titer value.
If you\'ve selected a large number of mAbs and viruses, the plot content might be very dense and hard to read. Hover over the plot to get the tool bar. Use the tool bar to zoom, pan, and resize the plot.',
- onNext: function(){
-
- document.querySelector('div[class*="iarrow"]').click();
- var checkExist = setInterval(
- function(){
- if(isVisCoords(document.querySelector('a[class*="mab-report-button1"]'))){
- clearInterval(checkExist);
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- }
- }, 100);
-
- }, multipage: true
-
- },{
- target: 'a[class*="mab-report-button1"]',
- placement: 'bottom',
- arrowOffset: 'center',
- xOffset: -115,
- yOffset: 0,
- content: 'The other report shows the neutralization curves of the mAbs and viruses selected.',
- onNext: function(){
-
- document.querySelector('a[class*="mab-report-button1"]').click();
- var checkExist = setInterval(
- function(){
- if(document.querySelector('button[onclick*="MAb Grid"]') !== null){
- document.querySelector('button[onclick*="MAb Grid"]').click();
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- clearInterval(checkExist);
- }
- }, 100);
-
- }, multipage: true
-
- },{
- target: 'button[onclick*="MAb Grid"]',
- placement: 'bottom',
- arrowOffset: 'left',
- xOffset: 45,
- yOffset: 0,
- content: 'The MAb Grid tab shows neutralization curves for all the mAb/mixture and virus combinations selected. There is also a tab for each of the mAbs/mixtures which shows the neutralization curves of all the viruses the mAb/mixture was tested against. Let\'s open the tab for one of the mAb mixtures and view the report.',
- onNext: function(){
- document.querySelector('button[onclick*="PGT121 + PGDM1400"]').click();
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- }, multipage: true
- },{
- target: 'button[onclick*="PGT121 + PGDM1400"]',
- placement: 'bottom',
- arrowOffset: 'center',
- xOffset: 50,
- yOffset: 0,
- content: 'This tab shows the neutralization curves of all the viruses tested against one of the mAb mixtures. Scroll down to see the details of the curves.',
- onNext: function(){
- document.querySelector('button[onclick*="PGT121 + PGDM1400"]').click();
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- }, multipage: true
- },{
- target: 'h2[class*="mab-filterheader-text"]',
- placement: 'left',
- arrowOffset: 'center',
- xOffset: 0,
- yOffset: -68,
- content: 'You can save your filters for further exploration during another session. Saved data can also be accessed with our DataSpaceR API (see Tools & links for more details).',
- onNext: function(){
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- }
-
- },{
- target: 'div[class*="iarrow"]',
- placement: 'right',
- arrowOffset: 'center',
- xOffset: 0,
- yOffset: -24,
- content: 'Clicking this button takes you back to the MAb Grid.',
- onNext: function(){
- document.querySelector('div[class*="iarrow"]').click();
-
- var checkExist1 = setInterval(
- function(){
- var nodes1 = document.querySelectorAll('span[id*="button"]');
- if(nodes1.length > 0){
- var nodes2 = nodeTextSearch(nodes1, "Export CSV");
- if(nodes2.length > 0){
- var node = nodePosCoordSearch(nodes2)[0];
- if(node !== null){
- node.classList.add("export-mab-csv");
- clearInterval(checkExist1);
- }
- }
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- if(document.querySelector('span[class*="export-mab-csv"]') !== null){
- clearInterval(checkExist2);
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- }
- }, 100);
-
- }, multipage: true
-
- },{
- target: 'span[class*="export-mab-csv"]',
- placement: 'left',
- arrowOffset: 'center',
- xOffset: -10,
- yOffset: -45,
- content: 'Data can also be exported as zipped CSV files or as an Excel workbook.',
- onNext: function(){
-
- var nodes = null;
- var promise = new Promise(function(resolve, reject){
- nodes = nodeDisplaySearch(nodeTextSearch(document.querySelectorAll('span[id*=button]'), "clear"));
- if(nodes.length > 0){
- resolve();
- }
- }).then(function(result){
- if(nodes[0] !== null){
- nodes[0].click();
-
- }
- }).then(function(result){
- document.querySelector('div.nav-label:nth-child(1)').click();
-
- }).then(function(result){
- if(nodeDisplaySearch(document.querySelectorAll('h3[class*="tour-section-title"]')).length > 0){
- checkTarget('h3[class*="tour-section-title"]');
- }
- });
- }
- },{
- target: 'h3[class*="tour-section-title"]',
- placement: 'bottom',
- arrowOffset: 'center',
- title: 'This concludes the tour',
- content: 'We’re back on the Home page where we started. From here you can take another tour or try it out for yourself.
Have any questions? Click the Help section at the top of the page or contact us for more information.',
- xOffset: (window.innerWidth / 2) - 280,
- showSkip: true
- }
- ]
-};
\ No newline at end of file
diff --git a/resources/cds-tours/definitions/tour_plot_data.js b/resources/cds-tours/definitions/tour_plot_data.js
deleted file mode 100644
index dbb91f82e..000000000
--- a/resources/cds-tours/definitions/tour_plot_data.js
+++ /dev/null
@@ -1,802 +0,0 @@
-var tour_plot_data = {
- title: 'Plot-data',
- description: 'A tour for the "Plot data" section.',
- id: 'tour-plot-data',
- winerror: 0,
- i18n: {
- skipBtn: 'Start the tour'
- },
- onStart: function(){
- window.onerror = function() { self.winerror = 1; hopscotch.endTour(); };
- if(self.winerror === 0){
- for(var i of nodeTextSearch(document.querySelectorAll('span[id*=button]'), "clear")){
- i.click();
- }
- for(var j of nodeTextSearch(document.querySelectorAll('span[id*=button]'), "Cancel")){
- j.click();
- }
- self.winerror = 0;
- }
- },
- onEnd: function(){
- document.querySelector('div.nav-label:nth-child(1)').click();
- var nodes = null;
- var promise = new Promise(function(resolve, reject){
- nodes = nodeDisplaySearch(nodeTextSearch(document.querySelectorAll('span[id*=button]'), "clear"));
- if(nodes.length > 0){
- resolve();
- }
- }).then(function(result){
- nodes[0].click();
- });
- },
- onClose: function(){
- hopscotch.endTour();
- },
- onError: function(){
- for(var i of nodeTextSearch(document.querySelectorAll('span[id*=button]'), "clear")){
- i.click();
- }
- for(var j of nodeTextSearch(document.querySelectorAll('span[id*=button]'), "Cancel")){
- j.click();
- }
- hopscotch.endTour();
- },
- steps:
- [
- {
- target: 'h3[class*="tour-section-title"]',
- placement: 'bottom',
- arrowOffset: 'center',
- title: 'Plot data',
- content: 'This is a guided tour designed to take you on a specific path through the DataSpace. Clicking the \'Next\' button will advance you through the predefined steps of the tour. Please be aware that any additional clicking or scrolling during the tour (unless instructed) may cause the tour to terminate early. Some tours are not compatible with small screens. For best results, view tours in full screen mode.
Note: Taking this tour will change the filters in the Active filters pane. If you have applied filters during this session that you don\'t want to lose, save your data before proceeding on this tour. If you continue, your filters will be modified.',
- xOffset: (window.innerWidth / 2) - 280,
- showSkip: true
- },{
- target: 'div.nav-label:nth-child(4)',
- placement: 'left',
- title: 'Creating subject data visualizations in Plot data',
- content: 'The Plot data section is where you can explore the subject data using simple plots that allow you to compare data across studies and assays.',
- yOffset: -17,
- onNext: function() {
-
- document.querySelector("div.nav-label:nth-child(4)").click();
-
- var checkExist1 = setInterval(
- function() {
- if (
- document.querySelector('div[id*=plot') !== null &&
- document.querySelector('div[id*=plot').style.display !== "none" &&
- document.querySelector('.info_Study') !== null
- ){
- document.querySelector('.info_Study').click();
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function() {
- if(document.querySelector('div[title*="CAVD 371"]') !== null &&
- document.querySelector('div[title*="CAVD 434"]') !== null){
- document.querySelector('div[title*="CAVD 371"]').click();
- document.querySelector('div[title*="CAVD 434"]').parentElement.parentElement.previousSibling.click();
- clearInterval(checkExist2);
- }
- }, 100);
-
- var checkExist3 = setInterval(
- function() {
- if(nodeDisplaySearch(
- document.querySelectorAll('tr[class*="x-grid-row"][class*="x-grid-row-selected"][class*="x-grid-data-row"]')).length === 2
- ){
- document.querySelector('a[id*="button"][class*="x-btn filterinfoaction"]').click();
- clearInterval(checkExist3);
- }
- }, 100);
-
- var checkExist4 = setInterval(
- function() {
- if(document.querySelector('div[class*="filterstatus-content"]') !== null &&
- document.querySelector('div[class="sel-list-item memberloc"]') !== null &&
- isVisCoords(document.querySelector('div[class*="filterstatus-content"]'))){
- clearInterval(checkExist4);
- checkTarget('div[class*="filterstatus-content"]');
- }
- }, 100);
-
- },
- multipage: true
- },{
- target: 'div[class*="filterstatus-content"]',
- placement: 'left',
- arrowOffset: 'top',
- content: 'Before you begin your plot, select the study or subject data you wish to explore. Use Learn about to identify studies of interest. Filter the data using the Active filters pane, Find subjects, or View data grid.',
- yOffset: -12,
- onNext: function(){
-
- var checkExist = setInterval(
- function(){
- if (
- document.querySelector('a[class*="yaxisbtn"]') !== null &&
- isVisCoords(document.querySelector('a[class*="yaxisbtn"]'))
- ) {
- clearInterval(checkExist);
- checkTarget('a[class*="yaxisbtn"]');
- }
- }, 100);
-
- }, multipage: true
-
- },{
- target: 'a[class*="yaxisbtn"]',
- placement: 'right',
- arrowOffset: 'center',
- xOffset: 0,
- yOffset: -50,
- title: 'Choosing the y-axis for your plot',
- content: 'We start our plot by selecting what data we want on the y-axis.',
- onNext: function(){
-
- document.querySelector('a[class*="yaxisbtn"]').click();
- var checkExist1 = setInterval(
- function(){
- if (nodeDisplaySearch(nodePosCoordSearch(document.querySelectorAll('div[id*="dataview"]'))).length !== 0) {
- nodeDisplaySearch(nodePosCoordSearch(document.querySelectorAll('div[id*="dataview"]')))[0].classList.add("yaxis-sources");
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- if (document.querySelector('div[id*="dataview"][class*="yaxis-sources"]') !== null &&
- isVisCoords(document.querySelector('div[id*="dataview"][class*="yaxis-sources"]'))) {
- clearInterval(checkExist2);
- checkTarget('div[class*="yaxis-sources"]');
- }
- }, 100);
-
- }, multipage: true
-
- },{
- target: 'div[class*="yaxis-sources"]',
- placement: 'left',
- arrowOffset: 'center',
- xOffset: -10,
- yOffset: 15,
- title: 'Choosing the type of data to plot',
- content: 'There are several different data sources that can be plotted. The number of subjects with data for that data source is shown next to the source.',
- onNext: function(){
-
- // var checkExist_05 = setInterval(
- // function(){
- // var nodes = nodeTextSearch(document.querySelectorAll('span[id*="button"]'), 'Cancel');
- // if(isVisible(nodes[0]) === 0){
- // window.hopscotch.endTour();
- // }
- // }, 100);
-
-
- var checkExist1 = setInterval(
- function(){
- var nodes = nodeTextSearch(document.querySelectorAll('div[class*="content-label"]'), 'ICS (Intracellular Cytokine Staining)');
- if(nodes.length > 0){
- nodes[0].classList.add("ics-assay-label");
- nodes[0].click();
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- var nodes = nodeTextSearch(document.querySelectorAll('span[class*="section-title"]'), "ICS (Intracellular Cytokine Staining)");
- if ( nodes.length > 0 && isVisCoords(nodes[0]) ) {
- nodes[0].classList.add("ics-source-title");
- clearInterval(checkExist2);
- }
- }, 100);
-
- var checkExist3 = setInterval(
- function(){
- if ( document.querySelector('span[class*="ics-source-title"]') !== null){
- checkTarget('span[class*="ics-source-title"]');
- clearInterval(checkExist3);
- }
- }, 100);
-
- }, multipage: true
- },{
- target: 'span[class*="ics-source-title"]',
- placement: 'left',
- arrowOffset: 'center',
- xOffset: -80,
- yOffset: -35,
- title: 'Choosing a measure to plot',
- content: 'Here we\'ve chosen the Intracellular Cytokine Staining assay. The recommended variables, highlighted in red, are the most commonly analyzed measures for this type of data. Additional measures are also available to plot. Hover over the variable name to get a definition. We\'ll use the default measure (background-subtracted magnitude).',
- onNext: function(){
-
- var checkExist1 = setInterval(
- function(){
- var nodes = nodeTextSearch(document.querySelectorAll('div[class*="dimension-header"]'), "Assay Dimensions");
- if(nodes.length > 0){
- nodes[0].classList.add("assay-dim-header");
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- var node = document.querySelector('div[class*="assay-dim-header"]');
- if(node !== null && isVisCoords(node)){
- checkTarget('div[class*="assay-dim-header"]');
- clearInterval(checkExist2);
- }
- },100);
- }, multipage: true
-
- },{
- target: 'div[class*="assay-dim-header"]',
- placement: 'left',
- arrowOffset: 'center',
- xOffset: -10,
- yOffset: -265,
- title: 'Choosing the assay dimensions',
- content: 'When plotting assay data, you will see an Assay Dimensions section which describes important elements specific to this data type. Many of the assay dimensions are also key fields that, when combined with other dimensions, are used to define unique records in the dataset.
Use this section to apply additional filters to the data for each of the assay dimensions. You\'ll want to review each dimension to make sure you haven\'t selected any values that are grayed out (i.e. not present in the filtered data). Selecting a value that is grayed out when that element can only have one value will result in a \"No data in the plot\" message. You can choose not to apply any filters to the assay dimensions, but your exploration will be more meaningful if your data is filtered with intention.
More information about the assay dimensions can be found on the assay pages in Learn about.',
- onNext: function(){
- var event = new Event('mouseleave');
- var dd = document.querySelectorAll('div[class*="field-display"]');
- dd[1].click();
- var checkExist1 = setInterval(
- function(){
- var node = nodeDisplaySearch(document.querySelectorAll('div[class*="functional_marker_name-dropdown"]'))[0];
- if(node !== null){
- node = nodeTextSearch(node.querySelectorAll('label[id*="radiofield"][id*="boxLabelEl"]'), "IFNg")[0];
- node.previousSibling.click();
- node.previousSibling.classList.add("tour-checked-fmn");
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- if(document.querySelector('input[class*="tour-checked-fmn"]') !== null){
- var node = nodeDisplaySearch(document.querySelectorAll('div[class*="functional_marker_name-dropdown"]'))[0];
- node.dispatchEvent(event);
- clearInterval(checkExist2);
- }
- }, 100);
-
- dd[2].click();
- var checkExist3 = setInterval(
- function(){
- var node = nodeDisplaySearch(document.querySelectorAll('div[class*="summary_level-dropdown"]'))[0];
- if(node !== null){
- node = nodeTextSearch(node.querySelectorAll('label[id*="radiofield"][id*="boxLabelEl"]'), "Protein")[0];
- node.previousSibling.click();
- node.previousSibling.classList.add("tour-checked-sl");
- clearInterval(checkExist3);
- }
- }, 100);
-
- var checkExist4 = setInterval(
- function(){
- var event = new Event('mouseleave');
- if(document.querySelector('input[class*="tour-checked-sl"]') !== null){
- var node = nodeDisplaySearch(document.querySelectorAll('div[class*="summary_level-dropdown"]'))[0];
- node.dispatchEvent(event);
- clearInterval(checkExist4);
-
- }
- }, 100);
-
- var checkExist5 = setInterval(
- function(){
- if (document.querySelector('input[class*="tour-checked-sl"]') !== null &&
- document.querySelector('input[class*="tour-checked-fmn"]') !== null)
- {
-
- nodeTextSearch(document.querySelectorAll('span[id*="button"]'), 'Set y-axis')[0].classList.add("setYAxis");
-
- if(document.querySelector('span[class*="setYAxis"]') !== null){
- document.querySelector('input[class*="tour-checked-sl"]').classList.remove("tour-checked-sl");
- document.querySelector('input[class*="tour-checked-fmn"]').classList.remove("tour-checked-fmn");
- checkTarget('span[class*="setYAxis"]');
- clearInterval(checkExist5);
- }
- }
- }, 100);
-
- }, multipage: true
- },{
- target: 'span[class*="setYAxis"]',
- placement: 'right',
- arrowOffset: 'center',
- xOffset: 15,
- yOffset: -80,
- title: 'Set the y-axis',
- content: 'When finished making selections for the y-axis, click the button to set the axis.',
- onNext: function(){
-
- function getScrollParent(node) {
- if (node == null) {
- return null;
- }
- if (node.style.overflow === "hidden auto") {
- return node;
- } else {
- return getScrollParent(node.parentNode);
- }
- }
- document.querySelector('span[class*="setYAxis"]').click();
-
- var smt = null;
- var checkExist1 = setInterval(
- function(){
- var nodes = nodeDisplaySearch(document.querySelectorAll('div[class*="AntigensInY"]'));
- if (
- nodes.length > 0 &&
- document.querySelector('div[class="x-mask"]') !== null &&
- !isVisCoords(document.querySelector('div[class="x-mask"]'))
- ) {
- getScrollParent(nodes[0]).classList.add("info-pane-scroll-frame");
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- if(
- document.querySelector('div[class*="info-pane-scroll-frame"]') !== null &&
- !isVisCoords(document.querySelector('div[class="x-mask"]')) &&
- nodeDisplaySearch(
- nodeTextSearch(
- document.querySelectorAll('span[class*="statme status-label"]'),
- "Antigens in Y"
- )
- ).length > 0
- ){
- smt = Math.max(document.querySelector('div[class*="AntigensInY"]').getBoundingClientRect().y - 200, 0);
- document.querySelector('div[class*="info-pane-scroll-frame"]').scrollTo({left: 0, top: smt, behavior: 'smooth'});
- clearInterval(checkExist2);
- }
- }, 100);
-
- var checkExist3 = setInterval(
- function(){
- var node = document.querySelector('div[class*="info-pane-scroll-frame"]');
- if(
- isVisCoords(document.querySelector('div[class*="AntigensInY"]')) &&
- node !== null &&
- (node.scrollTop === smt ||
- Math.abs((node.clientHeight + node.scrollTop) - node.scrollHeight) < 3)
- ){
- checkTarget('div[class*="AntigensInY"]');
- clearInterval(checkExist3);
- }
- }, 100);
- }
- },{
- target: 'div[class*="AntigensInY"]',
- placement: 'left',
- arrowOffset: 220,
- yOffset: -225,
- content: 'We now have a one-dimensional plot. Hover over a single data point on the plot. The dark data points show data from the same subject. Click on a data point to see the details. Click outside the details to close the box.
In the Active Filters pane, we now have 2 new categories that describe the data in this plot. We see that the data is from 2 studies (CAVD 371 and 434) and includes 5 antigens across 11 time points. If we click on the \'Antigens in Y\'...',
- onNext: function(){
- document.querySelector('div[class*="AntigensInY"]').click();
-
- var checkExist = setInterval(
- function(){
- if(
- document.querySelector('span[class="section-title"]') !== null &&
- isVisCoords(document.querySelector('span[class="section-title"]')) &&
- nodeTextSearch(document.querySelectorAll('span[class="section-title"]'), "Magnitude (% cells) - Background subtracted")[0] !== "none found" &&
- document.querySelector('label[test-data-value="study_ICS_protein_panel-Any_Antigen"]') !== null &&
- document.querySelector('label[test-data-value="study_ICS_protein-Any_Antigen-Any_ENV"]') !== null
- ){
- document.querySelector('label[test-data-value="study_ICS_protein_panel-Any_Antigen"]').click();
- document.querySelector('label[test-data-value="study_ICS_protein-Any_Antigen-Any_ENV"]').click();
- clearInterval(checkExist);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- if(document.querySelector('div[class*="antigen-selection-panel"]') !== null &&
- isVisCoords(document.querySelector('div[class*="antigen-selection-panel"]'))){
- checkTarget('div[class*="antigen-selection-panel"]');
- clearInterval(checkExist2);
- }
- }, 100);
- }, multipage: true
-
- },{
- target: 'div[class*="antigen-selection-panel"]',
- placement: 'left',
- arrowOffset: 'center',
- xOffset: 15,
- yOffset: 0,
- content: 'We see a list of the antigens (in this case, the proteins) included in the plot. Modifying the filters in this box will have the same effect as going back to the y-axis to modify the Protein filter in the assay dimensions. Let\'s filter to just ENV proteins.',
- onNext: function(){
-
- nodeTextSearch(document.querySelectorAll('span[id*="button"]'), "Done")[0].click();
- nodeTextSearch(document.querySelectorAll('span[id*="button"]'), "Set y-axis")[0].click();
-
- var checkExist = setInterval(
- function(){
- if (document.querySelectorAll('div[class="x-mask"]')[0].style.visibility === "hidden" ||
- document.querySelectorAll('div[class="x-mask"]')[0].style.display === "none") {
- checkTarget('div[id="xvarselector"]');
- clearInterval(checkExist);
- }
- }, 100);
-
- }
- },{
- target: 'div[id="xvarselector"]',
- placement: 'top',
- arrowOffset: 'center',
- title: 'Choosing the x-axis for your plot',
- xOffset: -60,
- yOffset: 0,
- content: 'Now let\'s select the type of data we want to plot on the x-axis. ',
- onNext: function(){
-
- document.querySelector('div[id="xvarselector"]').click();
- var checkExist = setInterval(
- function() {
- if (isVisCoords(nodeTextSearch(document.querySelectorAll('div[class*="content-label"]'), "Time points")[0])) {
- nodeTextSearch(document.querySelectorAll('div[class*="content-label"]'), "Time points")[0].classList.add("time-points-label");
- if(document.querySelector('div[class*="time-points-label"]') !== null &&
- isVisCoords(document.querySelector('div[class*="time-points-label"]'))){
- clearInterval(checkExist);
- checkTarget('div[class*="time-points-label"]');
- }
- }
- }, 100);
-
- }, multipage: true
-
- },{
- target: 'div[class*="time-points-label"]',
- placement: 'left',
- arrowOffset: 'center',
- content: 'You\'ll notice there are a few other data types that can be plotted on the x-axis. Plotting the measure over time gives you a good overview of the data.',
- xOffset: -20,
- yOffset: -85,
- onNext: function() {
-
- nodeTextSearch(document.querySelectorAll('div[class*="content-label"]'), "Time points")[0].click();
- var checkExist1 = setInterval(
- function(){
- var nodes = nodeTextSearch(document.querySelectorAll('div[class*="content-label"]'), "Study days");
- if (nodes.length > 0 && isVisCoords(nodes[0])) {
- nodes[0].classList.add("study-days-label");
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- if(document.querySelector('div[class*="study-days-label"]') !== null){
- checkTarget('div[class*="study-days-label"]');
- clearInterval(checkExist2);
- }
- }, 100);
-
- }, multipage: true
-
- },{
- target: 'div[class*="study-days-label"]',
- placement: 'left',
- arrowOffset: 'center',
- title: 'Plotting by time',
- content: 'The recommended time point is study days. By default, the study days are aligned by Day 0 (the study day when subjects received their first vaccination).',
- yOffset: -75,
- xOffset: -15,
- onNext: function() {
-
- var event = new Event("mousedown");
-
- var checkExist1 = setInterval(
- function(){
- var nodes = nodeTextSearch(document.querySelectorAll('span[id*="button"][id*="btnInnerEl"]'), "Set x-axis");
- if(nodes.length > 0){
- nodes[0].click();
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- var nodes = nodeTextSearch(document.querySelectorAll('div[class*="main-title"]'), "x-axis");
- if(
- nodes.length > 0 &&
- !isVisCoords(nodes[0]) &&
- document.querySelectorAll('g[class=study]').length === 2 ||
- document.querySelectorAll('g[class=study]').length === 12
- ) {
- checkTarget('g[class*="study"]');
- clearInterval(checkExist2);
- }
- }, 100);
-
- }, multipage: true
-
- },{
- target: 'g[class*="study"]',
- placement: 'top',
- arrowOffset: 'left',
- content: 'Now the plot shows the background-subtracted magnitude over time. Below the plot, you can see the different studies and treatment groups, and when the study visits occurred.
Click on the "+" sign to expand the study groups.
The syringe icons indicate when the vaccinations were given to the subjects in each group. Hover over one of the icons to see what products were given. Notice that the study day at which the last vaccination is given is different for the different groups.
Collapse the study groups by clicking on the "-" sign.',
- yOffset: 0,
- xOffset: 0,
- onNext: function() {
- nodeTextSearch(document.querySelectorAll('h1[unselectable="on"]'), "x =")[0].click();
-
- var checkExist1 = setInterval(
- function(){
- var nodes = nodeTextSearch(document.querySelectorAll('span[class*="section-title"]'), "Time points");
- if (nodes.length > 0 && isVisCoords(nodes[0])){
- nodeTextSearch(document.querySelectorAll('div[class*="main-label"]'), "Aligned by Day 0")[0].click();
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- var nodes = nodeDisplaySearch(document.querySelectorAll('div[class*="advanced-dropdown undefined-dropdown"]'));
- if(nodes.length !== 0){
- nodeTextSearch(nodes[0].querySelectorAll('label[id*="radiofield"][id*="boxLabelEl"]'), "Last Vaccination")[0].previousSibling.click();
- nodes[0].classList.add("aligned-by-dropdown");
- nodeTextSearch(document.querySelectorAll('div[class*="field-label"]'), "Aligned by:")[0].classList.add("aligned-by-label");
- clearInterval(checkExist2);
- }
- }, 100);
-
- var checkExist3 = setInterval(
- function(){
- if(document.querySelector('div[class*="aligned-by-label"]') !== null &&
- document.querySelector("div[class*='aligned-by-dropdown']") !== null){
- checkTarget('div[class*="aligned-by-label"]');
- clearInterval(checkExist3);
- }
- }, 100);
-
- }, multipage: true
-
- },{
- target: 'div[class*="aligned-by-label"]',
- placement: 'left',
- arrowOffset: 'center',
- content: 'To make it easier to compare the immunogenicity measures at the \'peak time points\' across groups, we can re-align the study days by the last vaccination.',
- yOffset: -98,
- xOffset: -10,
- onNext: function(){
-
- var nodes = nodeDisplaySearch(document.querySelectorAll("div[class*='aligned-by-dropdown']"));
- if(nodes.length > 0){
- var event = new Event('mouseleave');
- nodes[0].dispatchEvent(event);
- }
-
- var checkExist1 = setInterval(
- function(){
- var nodes = nodeDisplaySearch(document.querySelectorAll("div[class*='aligned-by-dropdown']"));
- if(nodes.length === 0){
- nodeTextSearch(document.querySelectorAll('span[id*="button"][id*="btnInnerEl"]'), "Set x-axis")[0].click();
- clearInterval(checkExist1)
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- var nodes = nodeTextSearch(document.querySelectorAll('div[class*="main-title"]'), "x-axis");
- if(nodes.length > 0 &&
- !isVisCoords(nodes[0]) &&
- document.querySelectorAll('g[class=study]').length === 2) {
- checkTarget('g[class*="study"]');
- clearInterval(checkExist2);
- }
- }, 100);
-
- }, multipage: true
- },{
- target: 'g[class*="study"]',
- placement: 'top',
- arrowOffset: 'left',
- content: 'Now our plot shows time points aligned by last vaccination. We can select the time point 14 days after the last vaccination and add it to our filters. To select the time point either (1) click on the visit icons or (2) use a click and drag motion to highlight the plot in teal. Click the Filter button to apply the filter.',
- yOffset: 0,
- xOffset: 0,
- onNext: function() {
- nodeTextSearch(document.querySelectorAll('h1[unselectable="on"]'), "x =")[0].click();
-
- var checkExist1 = setInterval(
- function(){
- var nodes = nodeTextSearch(document.querySelectorAll('div[class*="main-title"]'), "x-axis");
- if(nodes.length > 0 && isVisCoords(nodes[0])) {
- for(var i of document.querySelectorAll('span[class*=arrow]')){
- if(isVisCoords(i)){
- i.classList.add("back-to-sources");
- }
- }
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- if(document.querySelector('span[class="arrow back-to-sources"]') !== null){
- checkTarget('span[class="arrow back-to-sources"]');
- clearInterval(checkExist2);
- }
- }, 100);
-
- }, multipage: true // multipage... This is really more about if the node identifier is generated during onNext or not...
- },{
- target: 'span[class="arrow back-to-sources"]',
- placement: 'left',
- arrowOffset: 'center',
- xOffset: 15,
- yOffset: -32,
- content: 'Clicking this back arrow, we can navigate back to select other sources for the x-axis.',
- onNext: function(){
- document.querySelector('span[class="arrow back-to-sources"]').click();
- var checkExist1 = setInterval(
- function(){
- if (nodeTextSearch(document.querySelectorAll('div[class*="content-label"]'), "Study and treatment variables")[0].parentElement.parentElement.style.display === ""){
- nodeTextSearch(document.querySelectorAll('div[class*="content-label"]'), "Study and treatment variables")[0].classList.add("study-treatment-vars");
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- if (document.querySelector('div[class*="study-treatment-vars"]') !== null &&
- isVisCoords(document.querySelector('div[class*="study-treatment-vars"]'))){
- clearInterval(checkExist2);
- checkTarget('div[class*="study-treatment-vars"]');
- }
- }, 100);
-
- }, multipage: true
-
- },{
- target: 'div[class*="study-treatment-vars"]',
- placement: 'left',
- arrowOffset: 'center',
- xOffset: -10,
- yOffset: -48,
- content: 'Next, let\'s select a study and treatment variable to plot.',
- onNext: function(){
-
- document.querySelector('div[class*="study-treatment-vars"]').click();
- var checkExist1 = setInterval(
- function(){
- var nodes1 = nodeTextSearch(document.querySelectorAll('div[class*="content-label"]'), "Product Combination");
- var nodes2 = nodeTextSearch(document.querySelectorAll('div[class*="content-label"]'), "Study Name");
- if(nodes1.length !== 0 &&
- nodes2.length !== 0 &&
- nodes1[0].parentElement.parentElement.style.display === "" &&
- nodes2[0].parentElement.className === "content-item content-selected"){
- nodes1[0].classList.add("product-combination-label");
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- if(document.querySelector('div[class*="product-combination-label"]') !== null){
- document.querySelector('div[class*="product-combination-label"]').click();
- clearInterval(checkExist2);
- }
- }, 100);
-
- var checkExist3 = setInterval(
- function(){
- if(document.querySelector('div[class*="product-combination-label"]') !== null &&
- document.querySelector('div[class*="product-combination-label"]').parentElement.className === "content-item content-selected"){
- checkTarget('div[class*="content-label"][class*="product-combination-label"]');
- clearInterval(checkExist3);
- }
- }, 100);
-
- }, multipage: true
-
- },{
- target: 'div[class*="content-label"][class*="product-combination-label"]',
- placement: 'left',
- arrowOffset: 'center',
- xOffset: -10,
- yOffset: -70,
- content: 'Plotting product combination on the x-axis will help us compare responses to the ENV protein at those peak time points across treatment groups receiving different product combinations.',
- onNext: function(){
- nodeTextSearch(document.querySelectorAll('span[id*=button]'), "Set x-axis")[0].click();
- var checkExist = setInterval(
- function(){
- if (document.querySelectorAll('div[class="x-mask"]')[0].style.display === "none" ||
- document.querySelectorAll('div[class="x-mask"]')[0].style.visibility === "hidden") {
- checkTarget('div[id="colorvarselector"]');
- clearInterval(checkExist);
- }
- }, 100);
- }, multipage: true
-
- },{
- target: 'div[id="colorvarselector"]',
- placement: 'bottom',
- arrowOffset: 'center',
- xOffset: -35,
- title: 'Color as a third dimension',
- content: 'We can also add other variables as color.',
- onNext: function(){
- document.querySelector('div[id="colorvarselector"]').click();
- var checkExist1 = setInterval(
- function(){
- if(isVisCoords(nodeTextSearch(document.querySelectorAll('div[class*="main-title"]'), "color")[0])) {
- for(var i of nodeTextSearch(document.querySelectorAll('div[class*="content-label"]'), "Study and treatment variables")){
- if(i.parentElement.parentElement.style.display !== "none"){
- i.click();
- }
- }
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- for(var i of nodeTextSearch(document.querySelectorAll('div[class="content-label"]'), "Study Name")){
- if(isVisCoords(i)){
- i.classList.add("color-study-name");
- if(document.querySelector('div[class*="color-study-name"]') !== null){
- checkTarget('div[class*="color-study-name"]');
- clearInterval(checkExist2);
- }
- }
- }
- }, 100);
- }, multipage: true
-
- },{
- target: 'div[class*="color-study-name"]',
- placement: 'left',
- yOffset: -23,
- xOffset: -8,
- content: 'In this case, adding study name as color helps to also compare responses across studies.',
- onNext: function(){
- nodeTextSearch(document.querySelectorAll('span[id*="button"]'), "Set color")[0].click();
- var checkExist = setInterval(
- function(){
- if (document.querySelectorAll('div[class="x-mask"]')[0].style.display === "none" ||
- document.querySelectorAll('div[class="x-mask"]')[0].style.visibility === "hidden") {
- checkTarget('h2[class*="filterheader-text section-title-filtered"]');
- clearInterval(checkExist);
- }
- }, 100);
- }, multipage: true
- },{
- target: 'h2[class*="filterheader-text section-title-filtered"]',
- placement: 'left',
- arrowOffset: 'center',
- xOffset: 5,
- yOffset: -75,
- content: 'You can save your plot for further exploration during another session or go to View data grid to export the data. Saved data can also be accessed with our DataSpaceR API (see Tools & links for more details).',
- onNext: function(){
- document.querySelector('div.nav-label:nth-child(1)').click();
- var checkExist = setInterval(
- function(){
- var node = document.querySelector('h3[class*="tour-section-title"]');
- if(node !== null && isVisCoords(node)){
- checkTarget('h3[class*="tour-section-title"]');
- clearInterval(checkExist);
- }
- }, 100);
- }
- },{
- target: 'h3[class*="tour-section-title"]',
- placement: 'bottom',
- arrowOffset: 'center',
- title: 'This concludes the tour',
- content: 'We’re back on the Home page where we started. From here you can take another tour or try it out for yourself.
Have any questions? Click the Help section at the top of the page or contact us for more information.',
- xOffset: (window.innerWidth / 2) - 280,
- showSkip: true
- }
- ]
-};
\ No newline at end of file
diff --git a/resources/cds-tours/definitions/tour_view_data_grid.js b/resources/cds-tours/definitions/tour_view_data_grid.js
deleted file mode 100644
index b4b2471db..000000000
--- a/resources/cds-tours/definitions/tour_view_data_grid.js
+++ /dev/null
@@ -1,459 +0,0 @@
-var tour_view_data_grid = {
- title: 'View-data-grid',
- description: 'A tour for the "View data grid" section.',
- id: 'tour-view-data-grid',
- winerror: 0,
- i18n: {
- skipBtn: 'Start the tour'
- },
- onStart: function(){
- window.onerror = function() { self.winerror = 1; hopscotch.endTour(); };
- if(self.winerror === 0){
- for(var i of nodeTextSearch(document.querySelectorAll('span[id*=button]'), "clear")){
- i.click();
- }
- for(var j of nodeTextSearch(document.querySelectorAll('span[id*=button]'), "Cancel")){
- j.click();
- }
- self.winerror = 0;
- }
- },
- onEnd: function(){
- document.querySelector('div.nav-label:nth-child(1)').click();
- var nodes = null;
- var promise = new Promise(function(resolve, reject){
- nodes = nodeDisplaySearch(nodeTextSearch(document.querySelectorAll('span[id*=button]'), "clear"));
- if(nodes.length > 0){
- resolve();
- }
- }).then(function(result){
- nodes[0].click();
- });
- },
- onClose: function(){
- hopscotch.endTour();
- },
- onError: function(){
- for(var i of nodeTextSearch(document.querySelectorAll('span[id*=button]'), "clear")){
- i.click();
- }
- for(var j of nodeTextSearch(document.querySelectorAll('span[id*=button]'), "Cancel")){
- j.click();
- }
- hopscotch.endTour();
- },
- steps:
- [
- {
- target: 'h3[class*="tour-section-title"]',
- placement: 'bottom',
- arrowOffset: 'center',
- title: 'DataSpace tours',
- content: 'This is a guided tour designed to take you on a specific path through the DataSpace. Clicking the \'Next\' button will advance you through the predefined steps of the tour. Please be aware that any additional clicking or scrolling during the tour (unless instructed) may cause the tour to terminate early. Some tours are not compatible with small screens. For best results, view tours in full screen mode.
Note: Taking this tour will change the filters in the Active filters pane. If you have applied filters during this session that you don\'t want to lose, save your data before proceeding on this tour. If you continue, your filters will be modified.',
- xOffset: (window.innerWidth / 2) - 280,
- showSkip: true
- },{
- target: 'div.nav-label:nth-child(5)',
- placement: 'left',
- title: 'View and export subject data in the data grid',
- content: 'The View data grid section let\'s you explore the subject data in a spreadsheet format. From this section, you can export the subject data for further exploration in your own analysis tools.',
- yOffset: -17,
- onNext: function(){
- document.querySelector('div.nav-label:nth-child(5)').click();
- var checkExist = setInterval(
- function(){
- var node1 = nodeTextSearch(document.querySelectorAll('span[id*=button]'), "Add/Remove columns");
- var node2 = nodeTextSearch(document.querySelectorAll('span[class*="x-column-header-text"]'), "Study")[0];
- if (node1.length === 1){
- if(isVisCoords(node1[0]) && node2 !== null) {
- clearInterval(checkExist);
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- }
- }
- }, 100);
- }
- },{
- target: '.info_Subject',
- placement: 'left',
- arrowOffset: 'center',
- content: 'Let\'s say you wanted to create a plot of the CAVD 434 study for Intracellular Cytokine Staining (ICS) data over time.
If Grid is your first stop during your session or you haven\'t applied any filters yet, the Active filters will contain all the subjects with data in the DataSpace.
You can filter to just CAVD 434 data by using the Active filters pane, Find subjects, or View data grid.',
- yOffset: -65,
- xOffset: 8,
- onNext: function(){
-
- var event = new Event('mouseenter');
- var checkExist1 = setInterval(
- function(){
- var node1 = nodeTextSearch(document.querySelectorAll('span[class*="x-column-header-text"]'), "Study");
- var node2 = nodeTextSearch(document.querySelectorAll('span[class*="gridtablhdv"]'), "Study and treatment");
- if( node1.length > 0 && node2.length > 0 && node1[0].nextSibling !== null ){
- node1[0].classList.add("study-column");
- node1[0].nextSibling.classList.add("study-filter");
- node2[0].classList.add("study-treatment-tab");
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- if(document.querySelector('span[class*="study-treatment-tab"]') !== null){
- checkTarget('span[class*="study-treatment-tab"]');
- clearInterval(checkExist2);
- }
- }, 100);
-
- }, multipage: true
- },{
- target: 'span[class*="study-treatment-tab"]',
- placement: 'right',
- arrowOffset: 'center',
- xOffset: 10,
- yOffset: -85,
- content: 'In Grid, the tab called, \'Study and treatment\', contains subject data that will be included regardless of what other data is selected.
All columns in the grid can be sorted and filtered.',
- onNext: function(){
-
- var event = new Event('mouseenter');
- var checkExist1 = setInterval(
- function(){
- var node = document.querySelector('span[class*="study-column"]').parentElement;
- if(node !== null && isVisCoords(node)){
- node.dispatchEvent(event);
- clearInterval(checkExist1);
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- }
- }, 100);
-
- }, multipage: true
- },{
- target: 'div[class*="study-filter"]',
- placement: 'top',
- arrowOffset: 'left',
- xOffset: -20,
- yOffset: 0,
- content: 'You can use the study column to filter to CAVD 434 subjects.',
- onNext: function(){
- var event = new Event('mouseleave');
- document.querySelector('span[class*="study-column"]').parentElement.dispatchEvent(event);
- document.querySelector('div[class*="x-column"][class*="study-filter"]').click();
- var checkExist1 = setInterval(
- function(){
- var nodes = nodeTextSearch(document.querySelectorAll('div[id*="tbtext"][class*="x-toolbar-text"]'), "Study");
- if(nodes.length === 1){
- var node = nodes[0];
- node.classList.add("data-grid-study-popup");
- if(isVisCoords(node) && document.querySelector('div[class*="data-grid-study-popup"]') !== null){
- clearInterval(checkExist1);
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- }
- }
- }, 100);
-
- }, multipage: true
-
- },{
- target: 'div[class*="data-grid-study-popup"]',
- placement: 'top',
- arrowOffset: 'center',
- xOffset: -25,
- yOffset: 0,
- content: 'Here we select CAVD 434 and apply the filter.',
- onNext: function(){
-
- var checkExist_1 = setInterval(
- function() {
- var nodes = nodeDisplaySearch(document.querySelectorAll('div[class*="x-window-filterwindow"]'));
- if( nodes.length > 0 ){
- nodeDisplaySearch(
- nodeTextSearch(
- nodes[0].querySelectorAll(
- 'div[class*="x-grid-cell-inner"]'), 'CAVD 434'
- )
- )[0].click();
- clearInterval(checkExist_1);
- }
- }, 100);
-
- var checkExist1 = setInterval(
- function(){
- var nodes1 = nodePosCoordSearch(nodeTextSearch(document.querySelectorAll('span[id*="button"]'), 'Filter'));
- var nodes2 = nodeDisplaySearch(document.querySelectorAll('div[class*="x-window-filterwindow"]'));
-
- if (
- nodes1.length > 0 &&
- nodes2.length > 0 &&
- nodes2[0].querySelectorAll('tr[class*="x-grid-row-selected"]').length === 1
- ) {
- nodes1[0].click();
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- var nodes = nodeTextSearch(document.querySelectorAll('div[class*="selitem"]'), 'Study: = CAVD 434');
- if ( nodes.length > 0 ) {
- var node = nodes[0];
- if (isVisCoords(node)) {
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- clearInterval(checkExist2);
- }
- }
- }, 100);
-
- }, multipage: true
-
- },{
- target: 'div.nav-label:nth-child(4)',
- placement: 'left',
- arrowOffset: 'center',
- xOffset: 0,
- yOffset: -50,
- title: 'Grid keeps track of the data in your session',
- content: 'As you navigate through other areas of the DataSpace, Grid will keep track of the data explored in the session.
For example, if you go to Plot data...',
- onNext: function(){
- document.querySelector('div.nav-label:nth-child(4) > span:nth-child(2)').click();
- var checkExist = setInterval(
- function(){
- if(document.querySelector("a[class*='yaxisbtn']") !== null &&
- isVisCoords(document.querySelector("a[class*='yaxisbtn']"))){
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- clearInterval(checkExist);
- }
- }, 100);
- }, multipage: true
-
- },{
- target: 'a[class*="yaxisbtn"]',
- placement: 'right',
- arrowOffset: 'top',
- xOffset: 5,
- yOffset: -15,
- content: '...and create a plot of Intracellular Cytokine Staining (ICS) data over time for the CAVD 434 subjects selected...',
- onNext: function(){
-
- document.querySelector('a[class*="yaxisbtn"]').click();
- var checkExist_1 = setInterval(
- function(){
- var nodes = nodePosCoordSearch(nodeTextSearch(document.querySelectorAll('div[class="content-label"]'), 'ICS (Intracellular Cytokine Staining)'));
- if(nodes.length > 0){
- nodes[0].click();
- clearInterval(checkExist_1);
- }
- }, 100);
-
- var checkExist0 = setInterval(
- function(){
- var dd = document.querySelectorAll('div[class*="field-display"]');
- if(dd.length > 0){
- if(isVisCoords(dd[1])){
- dd[1].click();
- clearInterval(checkExist0);
- }
- }
- }, 100);
-
- var checkExist1 = setInterval(
- function(){
- var nodes = nodeDisplaySearch(document.querySelectorAll('div[class*="functional_marker_name-dropdown"]'));
- if(nodes.length > 0 && isVisCoords(nodes[0])){
- var node = nodes[0];
- node = nodeTextSearch(node.querySelectorAll('label[id*="radiofield"][id*="boxLabelEl"]'), "IL2")[0];
- node.previousSibling.click();
- node.previousSibling.classList.add("tour-checked-il2");
- clearInterval(checkExist1);
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- var event = new Event('mouseleave');
- if(document.querySelector('input[class*="tour-checked-il2"]') !== null){
- var nodes = nodeDisplaySearch(document.querySelectorAll('div[class*="functional_marker_name-dropdown"]'));
- if(nodes.length > 0){
- nodes[0].dispatchEvent(event);
- clearInterval(checkExist2);
- }
- }
- }, 100);
-
- var checkExist3 = setInterval(
- function(){
- var nodes1 = nodeDisplaySearch(nodeTextSearch(document.querySelectorAll('span[id*="button"]'), "Set y-axis"));
- var nodes2 = nodeDisplaySearch(nodeTextSearch(document.querySelectorAll('div[class*="main-label"]'), "IL2"));
- if ( nodes1.length > 0 && nodes2.length > 0 ) {
- nodes1[0].click();
- clearInterval(checkExist3);
- }
- }, 100);
-
- var checkExist4 = setInterval(
- function(){
- var parNodes = [];
- for(var i of document.querySelectorAll('li[class=source-label]')){
- parNodes.push(i.parentElement);
- }
- if(nodeDisplaySearch(parNodes).length > 0){
- var node = nodeDisplaySearch(parNodes)[0];
- if(node !== null){
- node.classList.add("list-source-label-parent");
- clearInterval(checkExist4);
- }
- }
- }
- );
-
- var checkExist5 = setInterval(
- function(){
- if(
- document.querySelector('div[class*="AntigensInY"]') !== null &&
- nodeDisplaySearch(document.querySelectorAll('div[class*="AntigensInY"]')).length > 0 &&
- document.querySelector('ul[class*="list-source-label-parent"]') !== null
- ){
- window.hopscotch.startTour(window.hopscotch.getCurrTour(), window.hopscotch.getCurrStepNum());
- clearInterval(checkExist5);
- }
- }, 100);
-
- }, multipage: true
-
- },{
- target: 'div.nav-label:nth-child(5)',
- placement: 'left',
- content: '...the ICS data plotted will carry over to the data grid.
Going back to Grid...',
- yOffset: -17,
- onNext: function(){
- document.querySelector('div.nav-label:nth-child(5)').click();
-
- var checkExist1 = setInterval(
- function(){
- if(document.querySelector('h1.lhdv:nth-child(2) > span:nth-child(1)') !== null){
- if(isVisCoords(document.querySelector('h1.lhdv:nth-child(2) > span:nth-child(1)'))){
- clearInterval(checkExist1);
- }
- }
- }, 100);
-
- var checkExist2 = setInterval(
- function(){
- var nodes = nodeDisplaySearch(nodeTextSearch(document.querySelectorAll('span[class*="gridtablhdv"]'), "ICS"));
- if(nodes.length > 0){
- nodes[0].classList.add("ics-data-tab");
- clearInterval(checkExist2);
- }
- }, 100);
-
- var checkExist3 = setInterval(
- function(){
- var node = document.querySelector('span[class*="ics-data-tab"]');
- if(node !== null){
- node.click();
- clearInterval(checkExist3);
- }
- }, 100);
-
- var checkExist4 = setInterval(
- function(){
- var node = document.querySelector('span[class*="ics-data-tab"]');
- if(node !== null && node.parentElement.className === "lhdv active"){
- node.click();
- checkTarget('span[class*="ics-data-tab"]');
- clearInterval(checkExist4);
- }
- }, 100);
-
-
- }, multipage: true
- },{
- target: 'span[class*="ics-data-tab"]',
- placement: 'right',
- arrowOffset: 'center',
- content: 'You now have a tab for the ICS assay data from Plot.
Clicking on the tab will let you see the data',
- xOffset: 15,
- yOffset: -65,
- onNext: function(){
-
- var ck1 = setInterval(
- function(){
- var nodes = nodeTextSearch(document.querySelectorAll('span[class*="gridtablhdv"]'), "Study and treatment");
- if( nodes.length > 0 ){
- nodes[0].click();
- clearInterval(ck1);
- }
- }, 100);
-
- document.querySelector('div.nav-label:nth-child(5)').click();
-
- var ck2 = setInterval(
- function(){
- var nodes = nodeTextSearch(document.querySelectorAll('span[id*="button"]'), "Add/Remove columns");
- if(nodes.length > 0){
- nodes[0].classList.add("add-rm-col");
- clearInterval(ck2);
- }
- }, 100);
-
- var ck3 = setInterval(
- function(){
- if(nodeTextSearch(document.querySelectorAll('span[id*="button"]'), "Add/Remove columns").length > 0 &&
- document.querySelector('span[class*="add-rm-col"]') !== null){
- checkTarget('span[class*="add-rm-col"]');
- clearInterval(ck3);
- }
- }, 100);
-
- }, multipage: true
- },{
- target: 'span[class*="add-rm-col"]',
- placement: 'left',
- content: 'You can also add additional columns or data types.',
- yOffset: -21,
- xOffset: -14,
- onNext: function(){
-
- var ck2 = setInterval(
- function(){
- var nodes = nodeTextSearch(document.querySelectorAll('span[id*="button"]'), "Export CSV");
- if(nodes.length > 0){
- nodes[0].classList.add("export-csv");
- clearInterval(ck2);
- }
- }, 100);
-
- var ck3 = setInterval(
- function(){
- if(nodeTextSearch(document.querySelectorAll('span[id*="button"]'), "Export CSV").length > 0 &&
- document.querySelector('span[class*="export-csv"]') !== null){
- checkTarget('span[class*="export-csv"]');
- clearInterval(ck3);
- }
- }, 100);
-
- }, multipage: true
- },{
- target: 'span[class*="export-csv"]',
- placement: 'left',
- content: 'You can save your data for further exploration during another session or export it as zipped CSV files or an Excel workbook. Saved data can also be accessed with our DataSpaceR API (see Tools & links for more details).',
- yOffset: -22,
- xOffset: -5,
- onNext: function(){
- document.querySelector('div.nav-label:nth-child(1)').click();
- var checkExist = setInterval(
- function(){
- var node = document.querySelector('h3[class*="tour-section-title"]');
- if(node !== null && isVisCoords(node)){
- checkTarget('h3[class*="tour-section-title"]');
- clearInterval(checkExist);
- }
- }, 100);
- }
- },{
- target: 'h3[class*="tour-section-title"]',
- placement: 'bottom',
- arrowOffset: 'center',
- title: 'This concludes the tour',
- content: 'We’re back on the Home page where we started. From here you can take another tour or try it out for yourself.
Have any questions? Click the Help section at the top of the page or contact us for more information.',
- xOffset: (window.innerWidth / 2) - 280,
- showSkip: true
- }
- ]
-};
diff --git a/resources/cds-tours/wikis/needtoknow-default-wiki b/resources/cds-tours/wikis/needtoknow-default-wiki
deleted file mode 100644
index 29c286cc2..000000000
--- a/resources/cds-tours/wikis/needtoknow-default-wiki
+++ /dev/null
@@ -1,5 +0,0 @@
-
|
-
-
-
-
-
-
-
-
-
-
-
-
- |
- - - | -
Redirecting to Dataspace application...
- - \ No newline at end of file diff --git a/src/org/labkey/cds/CDSContainerListener.java b/src/org/labkey/cds/CDSContainerListener.java deleted file mode 100644 index 10827d7ab..000000000 --- a/src/org/labkey/cds/CDSContainerListener.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) 2014 LabKey Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.labkey.cds; - -import org.labkey.api.data.Container; -import org.labkey.api.data.ContainerManager; -import org.labkey.api.security.User; - -public class CDSContainerListener extends ContainerManager.AbstractContainerListener -{ - @Override - public void containerDeleted(Container c, User user) - { - CDSManager.get().cleanContainer(c); - } -} \ No newline at end of file diff --git a/src/org/labkey/cds/CDSController.java b/src/org/labkey/cds/CDSController.java deleted file mode 100644 index 8adf73af8..000000000 --- a/src/org/labkey/cds/CDSController.java +++ /dev/null @@ -1,1677 +0,0 @@ -/* - * Copyright (c) 2014-2019 LabKey Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.labkey.cds; - - -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.core.JsonParseException; -import com.fasterxml.jackson.databind.ObjectMapper; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; -import jakarta.servlet.http.HttpSession; -import org.apache.commons.lang3.StringUtils; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.jetbrains.annotations.NotNull; -import org.json.JSONArray; -import org.json.JSONObject; -import org.labkey.api.action.Action; -import org.labkey.api.action.ActionType; -import org.labkey.api.action.ApiSimpleResponse; -import org.labkey.api.action.Marshal; -import org.labkey.api.action.Marshaller; -import org.labkey.api.action.MutatingApiAction; -import org.labkey.api.action.ReadOnlyApiAction; -import org.labkey.api.action.SimpleApiJsonForm; -import org.labkey.api.action.SimpleErrorView; -import org.labkey.api.action.SimpleViewAction; -import org.labkey.api.action.SpringActionController; -import org.labkey.api.collections.CaseInsensitiveHashMap; -import org.labkey.api.data.Container; -import org.labkey.api.data.SimpleFilter; -import org.labkey.api.data.TSVMapWriter; -import org.labkey.api.data.TableInfo; -import org.labkey.api.data.TableSelector; -import org.labkey.api.module.Module; -import org.labkey.api.module.ModuleLoader; -import org.labkey.api.query.FieldKey; -import org.labkey.api.query.QueryDefinition; -import org.labkey.api.query.QueryForm; -import org.labkey.api.query.QueryService; -import org.labkey.api.resource.Resource; -import org.labkey.api.rss.RSSFeed; -import org.labkey.api.rss.RSSService; -import org.labkey.api.security.AuthenticationManager; -import org.labkey.api.security.Directive; -import org.labkey.api.security.Group; -import org.labkey.api.security.IgnoresTermsOfUse; -import org.labkey.api.security.LimitedUser; -import org.labkey.api.security.MethodsAllowed; -import org.labkey.api.security.RequiresNoPermission; -import org.labkey.api.security.RequiresPermission; -import org.labkey.api.security.RoleAssignment; -import org.labkey.api.security.SecurityManager; -import org.labkey.api.security.User; -import org.labkey.api.security.permissions.AdminPermission; -import org.labkey.api.security.permissions.ReadPermission; -import org.labkey.api.security.roles.ReaderRole; -import org.labkey.api.services.ServiceRegistry; -import org.labkey.api.study.StudyService; -import org.labkey.api.util.DateUtil; -import org.labkey.api.util.FileUtil; -import org.labkey.api.util.HtmlString; -import org.labkey.api.util.JsonUtil; -import org.labkey.api.util.PageFlowUtil; -import org.labkey.api.util.Path; -import org.labkey.api.view.HttpView; -import org.labkey.api.view.JspView; -import org.labkey.api.view.NavTree; -import org.labkey.api.view.NotFoundException; -import org.labkey.api.view.ViewContext; -import org.labkey.api.view.template.PageConfig; -import org.labkey.api.view.template.WarningService; -import org.labkey.api.view.template.Warnings; -import org.labkey.api.webdav.WebdavResource; -import org.labkey.api.webdav.WebdavService; -import org.labkey.cds.view.template.ConnectorTemplate; -import org.labkey.cds.view.template.FrontPageTemplate; -import org.labkey.filters.ContentSecurityPolicyFilter; -import org.springframework.beans.PropertyValues; -import org.springframework.validation.BindException; -import org.springframework.web.servlet.ModelAndView; -import org.springframework.web.servlet.mvc.Controller; - -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.net.URL; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.regex.Pattern; -import java.util.stream.Collectors; -import java.util.zip.ZipEntry; -import java.util.zip.ZipOutputStream; - -import static org.labkey.api.util.HttpUtil.Method; -import static org.labkey.api.view.template.WarningService.SESSION_WARNINGS_BANNER_KEY; - - -public class CDSController extends SpringActionController -{ - static - { - // CSP frame-src exemption - ContentSecurityPolicyFilter.registerAllowedSources(Directive.Frame, CDSModule.GETTING_STARTED_VIDEO_URL, "https://player.vimeo.com"); - - try - { - Class.forName("org.labkey.query.jdbc.QueryDriver"); - } - catch (ClassNotFoundException x) - { - } - } - - private static final Logger LOG = LogManager.getLogger(CDSController.class); - - private static final DefaultActionResolver _actionResolver = new DefaultActionResolver(CDSController.class); - - public static final List