From 1c0009c3f6506150c2af7c8d9a2f09245a0f0ab0 Mon Sep 17 00:00:00 2001 From: JoelGauci Date: Thu, 7 Sep 2023 19:04:56 +0200 Subject: [PATCH] Initial version of the Cloud Firestore facade in Apigee --- README.md | 2 + references/firestore-facade/.gitignore | 3 + references/firestore-facade/README.md | 158 + .../diagram/sequence-firestore-facade.png | Bin 0 -> 177057 bytes .../diagram/sequence-firestore-facade.txt | 50 + .../apiproxy/firestore-data-proxy-v1.xml | 14 + .../apiproxy/policies/AM-PathSuffixFalse.xml | 20 + .../apiproxy/policies/AM-SetResponse.xml | 25 + .../apiproxy/policies/FC-GetFromCache.xml | 21 + .../policies/FC-SetContentInCache.xml | 21 + .../apiproxy/proxies/default.xml | 46 + .../apiproxy/targets/default.xml | 31 + references/firestore-facade/generate-docs.sh | 19 + .../images/cloud-firestore.png | Bin 0 -> 133946 bytes references/firestore-facade/package-lock.json | 5511 +++++++++++++++++ references/firestore-facade/package.json | 11 + references/firestore-facade/pipeline.sh | 112 + .../policies/AM-Base64EncodePathInfo.xml | 25 + .../policies/JS-SetFirebaseCacheVariables.xml | 16 + .../JS-SetFirebaseMockedCacheVariables.xml | 16 + .../policies/SC-Lookup-FirestoreCache.xml | 31 + .../jsc/JS-SetFirebaseCacheVariables.js | 28 + .../jsc/JS-SetFirebaseMockedCacheVariables.js | 28 + .../sf-firestore-facade-lookup-v1.xml | 14 + .../sharedflowbundle/sharedflows/default.xml | 34 + .../policies/AM-Base64EncodePathInfo.xml | 29 + .../policies/JS-PopulateFirebase.xml | 16 + .../policies/SC-PopulateCache.xml | 39 + .../resources/jsc/JS-PopulateFirebase.js | 37 + .../sf-firestore-facade-populate-v1.xml | 14 + .../sharedflowbundle/sharedflows/default.xml | 24 + .../AM-SetFirestoreMock.template.xml | 21 + .../features/firestore-facade.feature | 26 + .../step_definitions/apickli-gherkin.js | 18 + .../features/step_definitions/init.js | 27 + 35 files changed, 6487 insertions(+) create mode 100644 references/firestore-facade/.gitignore create mode 100644 references/firestore-facade/README.md create mode 100644 references/firestore-facade/diagram/sequence-firestore-facade.png create mode 100644 references/firestore-facade/diagram/sequence-firestore-facade.txt create mode 100644 references/firestore-facade/firestore-data-proxy-v1/apiproxy/firestore-data-proxy-v1.xml create mode 100644 references/firestore-facade/firestore-data-proxy-v1/apiproxy/policies/AM-PathSuffixFalse.xml create mode 100644 references/firestore-facade/firestore-data-proxy-v1/apiproxy/policies/AM-SetResponse.xml create mode 100644 references/firestore-facade/firestore-data-proxy-v1/apiproxy/policies/FC-GetFromCache.xml create mode 100644 references/firestore-facade/firestore-data-proxy-v1/apiproxy/policies/FC-SetContentInCache.xml create mode 100644 references/firestore-facade/firestore-data-proxy-v1/apiproxy/proxies/default.xml create mode 100644 references/firestore-facade/firestore-data-proxy-v1/apiproxy/targets/default.xml create mode 100755 references/firestore-facade/generate-docs.sh create mode 100644 references/firestore-facade/images/cloud-firestore.png create mode 100644 references/firestore-facade/package-lock.json create mode 100644 references/firestore-facade/package.json create mode 100755 references/firestore-facade/pipeline.sh create mode 100644 references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/policies/AM-Base64EncodePathInfo.xml create mode 100644 references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/policies/JS-SetFirebaseCacheVariables.xml create mode 100644 references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/policies/JS-SetFirebaseMockedCacheVariables.xml create mode 100644 references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/policies/SC-Lookup-FirestoreCache.xml create mode 100644 references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/resources/jsc/JS-SetFirebaseCacheVariables.js create mode 100644 references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/resources/jsc/JS-SetFirebaseMockedCacheVariables.js create mode 100644 references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/sf-firestore-facade-lookup-v1.xml create mode 100644 references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/sharedflows/default.xml create mode 100644 references/firestore-facade/sf-firestore-facade-populate-v1/sharedflowbundle/policies/AM-Base64EncodePathInfo.xml create mode 100644 references/firestore-facade/sf-firestore-facade-populate-v1/sharedflowbundle/policies/JS-PopulateFirebase.xml create mode 100644 references/firestore-facade/sf-firestore-facade-populate-v1/sharedflowbundle/policies/SC-PopulateCache.xml create mode 100644 references/firestore-facade/sf-firestore-facade-populate-v1/sharedflowbundle/resources/jsc/JS-PopulateFirebase.js create mode 100644 references/firestore-facade/sf-firestore-facade-populate-v1/sharedflowbundle/sf-firestore-facade-populate-v1.xml create mode 100644 references/firestore-facade/sf-firestore-facade-populate-v1/sharedflowbundle/sharedflows/default.xml create mode 100644 references/firestore-facade/templates/AM-SetFirestoreMock.template.xml create mode 100644 references/firestore-facade/test/integration/features/firestore-facade.feature create mode 100644 references/firestore-facade/test/integration/features/step_definitions/apickli-gherkin.js create mode 100644 references/firestore-facade/test/integration/features/step_definitions/init.js diff --git a/README.md b/README.md index 4c707765c..e0a591531 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,8 @@ further to fit a particular use case. popular API auth schemes - [reCAPTCHA enterprise](references/recaptcha-enterprise) - A reference for API protection against bot leveraging reCAPTCHA enterprise +- [Firestore Facade](references/firestore-facade) - Reference implementation + for a storage/long term caching solution based on Firestore ## Tools diff --git a/references/firestore-facade/.gitignore b/references/firestore-facade/.gitignore new file mode 100644 index 000000000..c323cbc6e --- /dev/null +++ b/references/firestore-facade/.gitignore @@ -0,0 +1,3 @@ +.DS_Store +node_modules +AM-SetFirestoreMock.xml diff --git a/references/firestore-facade/README.md b/references/firestore-facade/README.md new file mode 100644 index 000000000..03b637ed9 --- /dev/null +++ b/references/firestore-facade/README.md @@ -0,0 +1,158 @@ +# Firestore Facade in Apigee X/hybrid + +[Cloud Firestore](https://firebase.google.com/docs/firestore) +is a flexible, scalable database for mobile, web, and server development +from Firebase and Google Cloud. +Apigee can act as a facade in front of Cloud Firestore, to implement the +following use cases: + +- Long term storage: using Cloud Firestore to cache data on long term +- Data as a Service (DaaS) pattern: some data of a Cloud Firestore database +(db) are exposed as an API + +The use case that is proposed in the Firestore facade reference is the one +based on long term storage. +Indeed, in situations where you need a caching mechanim for data, +which must be cached for more than 30 days (max TTL for caching data in +Apigee X) a storage solution is required. +Cloud Firestore is the perfect solution to consider in case of long +term storage needs. + +## How it works? + +Two Apigee **sharedflows** are used as a facade in front of a Cloud Firestore +db. A **key cache** is used to lookup and populate data into the Cloud +Firestore db. + +By default, the key cache is defined as the following: + +```keyCache = base64Encoding(basePath + '/' + pathSuffix)``` + +This can be modified depending on the use case you need to implement + +The 2 Shared Flows on Apigee, acting as a facade in front of a Cloud +Firestore db are: + +- ```sf-firestore-facade-lookup-v1```: to lookup into a Cloud Firestore db +- ```sf-firestore-facade-populate-v1```: to populate a Cloud Firestore db +with backend responses + +## Apigee runtime options + +The Firestore facade reference can be deployed on both Apigee X and +hybrid. This reference would also work with Apigee Edge if the Service Account +token is obtained through the sharedflows, which invoke the Cloud Firestore +API endpoint (```sf-firestore-facade-lookup-v1``` and +```sf-firestore-facade-populate-v1```). + +## Dependencies + +- [Maven](https://maven.apache.org/) +- [NodeJS](https://nodejs.org/en/) LTS version or above +- An Apigee organization +- [Google Cloud Platform](https://cloud.google.com/) (GCP) + +This reference leverages Apigee and Cloud Firestore. +Therefore, it is important to note that: + +- A GCP service account is needed by the Apigee configuration +to securely invoke the Cloud Firestore API endpoint. +This service account is created during the deployment process on the GCP +project you are currently using: the ```pipeline.sh``` will attempt to create +a service account only if it doesn't exist. + +In case you want to create this service account manually - or with Terraform, +please note that the role ```roles/firestore.admin``` must be granted +to it. + +## Quick start + +### Apigee X / hybrid + + export APIGEE_X_ORG=xxx + export APIGEE_X_ENV=xxx + export APIGEE_X_HOSTNAME=xxx + + ./pipeline.sh + +## Deployment options + +There are 2 options to deploy the Firestore facade reference. + +```Option 1``` is the default deployment option. + +### Option 1: Cloud Firestore is mocked + + export IS_FIRESTORE_MOCK_ENABLED=true + +With this option (*default*) no Cloud Firestore db is +invoked but a mock response similar to a real one is delivered. + +**Functional tests are executed only when this deployment option is +selected**. + +### Option 2: Cloud Firestore is used + + export IS_FIRESTORE_MOCK_ENABLED=false + +With this option, it is not possible to execute functional tests. +Nevertheless, you can request the Firestore facade API using the +HTTP client of your choice. + +## Script outputs + +The pipeline script deploys on Apigee X / hybrid two +**sharedflows** (```sf-firestore-facade-lookup-v1``` +and ```sf-firestore-facade-populate-v1```) +containing the full configuration of the Firestore +facade reference. + +An API Proxy, acting as a data proxy, is also part of the reference: + +- ```firestore-data-proxy-v1```: a data proxy, which calls the two +**sharedflows** accordingly. + +The target endpoint of this proxy is [mocktarget.apigee.net/echo](https://mocktarget.apigee.net/echo) + +## Cloud Firestore & Apigee Sequence Diagram + +The following sequence diagram provides all the interactions between: + +- End-user +- Client app +- Apigee: sharedflows and data proxy +- Cloud Firestore +- Backend + +This sequence diagram is available as a +[text file](./diagram/sequence-firestore-facade.txt). + +If needed, you can modify this file and re-generate the related picture (png) +using the following command: + + ./generate_docs.sh + +Here is the original sequence diagram: + +![Firestore facade](./diagram/sequence-firestore-facade.png "Seq. Diagram") + +## Testing the Firestore facade reference + +In order to test this reference, you need an HTTP client. +If you execute your test using a real Cloud Firestore db, you have to create +it on your Google Cloud platform. You can use the ```(default)``` database. + +### cURL command + +Using cURL, the request is the following: + + curl https://${APIGEE_X_HOSTNAME}/v1/firestore/users/123 + +You can then access your Cloud Firestore instance to check that data (response +of the Apigee Mock API) have been insterted into your Cloud Firestore db ( +cf. **data** on the right side of the picture): + +![default database](./images/cloud-firestore.png "default db in Cloud Firestore") + +As you can notice, both ```basePath``` (**collectionId** in Cloud Firestore) and +```pathSuffix``` (**documentId** in Cloud Firestore) are base64 encoded. diff --git a/references/firestore-facade/diagram/sequence-firestore-facade.png b/references/firestore-facade/diagram/sequence-firestore-facade.png new file mode 100644 index 0000000000000000000000000000000000000000..89af3a5cc9f63a3be2a7d9b006ee8749215db3a8 GIT binary patch literal 177057 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 o&k@jgx7{^ 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 b: User interaction +b -> b: App activity +b -> fdp: Access the firestore facade api + +note over gfd,ffp: "Apigee API proxy and shared flows acting as a facade in front of Cloud Firestore db" + +fdp -> ffl: Lookup data from the Cloud Firestore db based on base path, path suffix and encoding type (base64 only) +ffl -> ffl: calculate the key cache\nkeyCache = encodingType( basePath + pathSuffix) +ffl -> gfd: Lookup shared flow acting as a facade with Cloud Firestore, using the key cache\ncall is executed using an ID token +gfd -> gfd: lookup in the Cloud Firestore db using key cache + +opt Data retrieved from Cloud Firestore + gfd -> ffl: data is retrieved from Cloud Firestore (lookp status) + ffl -> ffl: set context variables:\nflow.lookup.iscontent.cached = true \nflow.lookup.content.cached = "" \nflow.lookup.status.code = 200 + ffl -> fdp: shared flow response +end + +opt Data is NOT retrieved from Cloud Firestore + gfd -> ffl: data is not retrieved from Cloud Firestore (lookp status) + ffl -> ffl: set context variables:\nflow.lookup.iscontent.cached = false \nflow.lookup.content.cached = "none" \nflow.lookup.status.code = 404 + ffl -> fdp: shared flow response + fdp -> backend: request is forwarded to the backend API + backend -> fdp: backend response + fdp -> ffp: Populate data from the Cloud Firestore db based on base path, path suffix and encoding type (base64 only) + ffp -> ffp: calculate the key cache\nkeyCache = encodingType( basePath + pathSuffix) + ffp -> gfd: Populate shared flow acting as a facade with Cloud Firestore, using the key cache\ncall is executed using an ID token + gfd -> gfd: populate backend response in the Firestore db using key cache + gfd -> ffp: firestore populate status + ffp -> ffp: set context variables:\nflow.populate.content.cached = true \nflow.populate.status.code = 200 \nflow.populate.keycache = \nflow.populate.documentid = \nflow.populate.collectionid = + ffp -> fdp: shared flow response + +end + +fdp -> b: JSON response is sent back to the app (200 OK) + +@enduml \ No newline at end of file diff --git a/references/firestore-facade/firestore-data-proxy-v1/apiproxy/firestore-data-proxy-v1.xml b/references/firestore-facade/firestore-data-proxy-v1/apiproxy/firestore-data-proxy-v1.xml new file mode 100644 index 000000000..d2fda7305 --- /dev/null +++ b/references/firestore-facade/firestore-data-proxy-v1/apiproxy/firestore-data-proxy-v1.xml @@ -0,0 +1,14 @@ + + + \ No newline at end of file diff --git a/references/firestore-facade/firestore-data-proxy-v1/apiproxy/policies/AM-PathSuffixFalse.xml b/references/firestore-facade/firestore-data-proxy-v1/apiproxy/policies/AM-PathSuffixFalse.xml new file mode 100644 index 000000000..af07eda51 --- /dev/null +++ b/references/firestore-facade/firestore-data-proxy-v1/apiproxy/policies/AM-PathSuffixFalse.xml @@ -0,0 +1,20 @@ + + + + + target.copy.pathsuffix + false + + + \ No newline at end of file diff --git a/references/firestore-facade/firestore-data-proxy-v1/apiproxy/policies/AM-SetResponse.xml b/references/firestore-facade/firestore-data-proxy-v1/apiproxy/policies/AM-SetResponse.xml new file mode 100644 index 000000000..43db7f86e --- /dev/null +++ b/references/firestore-facade/firestore-data-proxy-v1/apiproxy/policies/AM-SetResponse.xml @@ -0,0 +1,25 @@ + + + + + message.content + flow.lookup.content.cached + + + message.header.content-type + application/json + + true + + \ No newline at end of file diff --git a/references/firestore-facade/firestore-data-proxy-v1/apiproxy/policies/FC-GetFromCache.xml b/references/firestore-facade/firestore-data-proxy-v1/apiproxy/policies/FC-GetFromCache.xml new file mode 100644 index 000000000..4b55ce237 --- /dev/null +++ b/references/firestore-facade/firestore-data-proxy-v1/apiproxy/policies/FC-GetFromCache.xml @@ -0,0 +1,21 @@ + + + + + base64 + {proxy.basepath} + {proxy.pathsuffix} + + sf-firestore-facade-lookup-v1 + \ No newline at end of file diff --git a/references/firestore-facade/firestore-data-proxy-v1/apiproxy/policies/FC-SetContentInCache.xml b/references/firestore-facade/firestore-data-proxy-v1/apiproxy/policies/FC-SetContentInCache.xml new file mode 100644 index 000000000..11dbb0a0b --- /dev/null +++ b/references/firestore-facade/firestore-data-proxy-v1/apiproxy/policies/FC-SetContentInCache.xml @@ -0,0 +1,21 @@ + + + + + {flow.basePath} + {flow.pathSuffix} + {response.content} + + sf-firestore-facade-populate-v1 + \ No newline at end of file diff --git a/references/firestore-facade/firestore-data-proxy-v1/apiproxy/proxies/default.xml b/references/firestore-facade/firestore-data-proxy-v1/apiproxy/proxies/default.xml new file mode 100644 index 000000000..8bed22c6e --- /dev/null +++ b/references/firestore-facade/firestore-data-proxy-v1/apiproxy/proxies/default.xml @@ -0,0 +1,46 @@ + + + + + + + FC-GetFromCache + + + flow.lookup.iscontent.cached = "true" + AM-SetResponse + + + + + (flow.lookup.iscontent.cached = "false") and (flow.lookup.status.code = 404) + FC-SetContentInCache + + + + + + + + + + /v1/firestore + + + flow.lookup.iscontent.cached = "true" + + + default + + \ No newline at end of file diff --git a/references/firestore-facade/firestore-data-proxy-v1/apiproxy/targets/default.xml b/references/firestore-facade/firestore-data-proxy-v1/apiproxy/targets/default.xml new file mode 100644 index 000000000..b307909b1 --- /dev/null +++ b/references/firestore-facade/firestore-data-proxy-v1/apiproxy/targets/default.xml @@ -0,0 +1,31 @@ + + + + + + + AM-PathSuffixFalse + + + + + + + + + + + https://mocktarget.apigee.net/echo + + \ No newline at end of file diff --git a/references/firestore-facade/generate-docs.sh b/references/firestore-facade/generate-docs.sh new file mode 100755 index 000000000..72f4f97d1 --- /dev/null +++ b/references/firestore-facade/generate-docs.sh @@ -0,0 +1,19 @@ +#!/bin/sh +# Copyright 2023 Google LLC +# +# 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. + +set -e + +# generate the picture of the sequence diagram based on the text file describing the sequences +java -jar ./lib/plantuml.1.2020.23.jar ./diagram/sequence-firestore-facade.txt diff --git a/references/firestore-facade/images/cloud-firestore.png b/references/firestore-facade/images/cloud-firestore.png new file mode 100644 index 0000000000000000000000000000000000000000..7a63c8b982a53df6d3418c959823fea05f01828b GIT binary patch literal 133946 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" + } + }, + "node_modules/@cucumber/cucumber-expressions": { + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/@cucumber/cucumber-expressions/-/cucumber-expressions-12.1.3.tgz", + "integrity": "sha512-LB8MAzE4F/t2KIgsDEz4gZH0xSI4aG0/LmYUPyISPPjUS1pI/yGWWyeX2WsiUQxpSs765WcNIq5Bggt7gGGO3Q==", + "dev": true, + "dependencies": { + "regexp-match-indices": "1.0.2" + } + }, + "node_modules/@cucumber/gherkin": { + "version": "19.0.3", + "resolved": "https://registry.npmjs.org/@cucumber/gherkin/-/gherkin-19.0.3.tgz", + "integrity": "sha512-gWdMm8mfRk3P+VugJWvNALaQV5QnT+5RkqWy3tO+4NsMSQZPo5p4V4vXwriQZ/sZR1Wni5TDRztuRsKLgZ3XHA==", + "dev": true, + "dependencies": { + "@cucumber/message-streams": "^2.0.0", + "@cucumber/messages": "^16.0.1" + } + }, + "node_modules/@cucumber/gherkin-streams": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@cucumber/gherkin-streams/-/gherkin-streams-2.0.2.tgz", + "integrity": "sha512-cKmXOBz4OwGlrHMBCc4qCC3KzLaqcEZ11nWWskIbv6jyfvlIRuM2OgEF6VLcNVewczifW1p6DrDj0OO+BeXocA==", + "dev": true, + "dependencies": { + "@cucumber/gherkin": "^19.0.1", + "@cucumber/message-streams": "^2.0.0", + "@cucumber/messages": "^16.0.0", + "commander": "7.2.0", + "source-map-support": "0.5.19" + }, + "bin": { + "gherkin-javascript": "bin/gherkin" + } + }, + "node_modules/@cucumber/html-formatter": { + "version": "15.0.2", + "resolved": "https://registry.npmjs.org/@cucumber/html-formatter/-/html-formatter-15.0.2.tgz", + "integrity": "sha512-j+YGY4ytj78G/v1gZo53D+vuKXlTg/oxNwSCCGvRQo75+AqYDJSkm/vexXJQ5lY1rXAvlbZ9KI6jhg6LDs0YdQ==", + "dev": true, + "dependencies": { + "@cucumber/messages": "^16.0.1", + "commander": "7.2.0", + "source-map-support": "0.5.19" + }, + "bin": { + "cucumber-html-formatter": "bin/cucumber-html-formatter.js" + } + }, + "node_modules/@cucumber/message-streams": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@cucumber/message-streams/-/message-streams-2.1.0.tgz", + "integrity": "sha512-Yh3mw3qv6QL9NI/ihkZF8V9MX2GbnR6oktv34kC3uAbrQy9d/b2SZ3HNjG3J9JQqpV4B7Om3SPElJYIeo66TrA==", + "dev": true, + "dependencies": { + "@cucumber/messages": "^16.0.1" + } + }, + "node_modules/@cucumber/messages": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-16.0.1.tgz", + "integrity": "sha512-80JcaAfQragFqR1rMhRwiqWL9HcR6Z4LDD2mfF0Lxg/lFkCNvmWa9Jl10NUNfFXYD555NKPzP/8xFo55abw8TQ==", + "dev": true, + "dependencies": { + "@types/uuid": "8.3.0", + "class-transformer": "0.4.0", + "reflect-metadata": "0.1.13", + "uuid": "8.3.2" + } + }, + "node_modules/@cucumber/tag-expressions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@cucumber/tag-expressions/-/tag-expressions-3.0.1.tgz", + "integrity": "sha512-OGCXaJ1BQXmQ5b9pw+JYsBGumK2/LPZiLmbj1o1JFVeSNs2PY8WPQFSyXrskhrHz5Nd/6lYg7lvGMtFHOncC4w==", + "dev": true + }, + "node_modules/@types/uuid": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.0.tgz", + "integrity": "sha512-eQ9qFW/fhfGJF8WKHGEHZEyVWfZxrT+6CLIJGBcZPfxUh/+BnEj+UCGYMlr9qZuX/2AltsvwrGqp0LhEW8D0zQ==", + "dev": true + }, + "node_modules/@xmldom/xmldom": { + "version": "0.8.10", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz", + "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "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/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "node_modules/apickli": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/apickli/-/apickli-3.0.2.tgz", + "integrity": "sha512-iYD2t5ZtT7o1XANeqZCff0LktSvMzI3mXlQiMwpUyfTdvmi3ArwsMfjmhldAtFuu0kAwsH95TvcKp3X12eihhA==", + "dev": true, + "dependencies": { + "@xmldom/xmldom": "0.x", + "is-my-json-valid": "2.x", + "jsonpath-plus": "6.x", + "path": "0.x", + "prettyjson": "1.x", + "request": "2.x", + "swagger-tools": "0.x", + "xpath.js": "1.x" + } + }, + "node_modules/append-field": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==", + "dev": true + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assertion-error-formatter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/assertion-error-formatter/-/assertion-error-formatter-3.0.0.tgz", + "integrity": "sha512-6YyAVLrEze0kQ7CmJfUgrLHb+Y7XghmL2Ie7ijVa2Y9ynP3LV+VDiwFk62Dn0qtqbmY0BT0ss6p1xxpiF2PYbQ==", + "dev": true, + "dependencies": { + "diff": "^4.0.1", + "pad-right": "^0.2.2", + "repeat-string": "^1.6.1" + } + }, + "node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true + }, + "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/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/body-parser": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", + "integrity": "sha512-XIXhPptoLGNcvFyyOzjNXCjDYIbYj4iuXO0VU9lM0f3kYdG0ar5yg7C+pIc3OyoTlZXDu5ObpLTmS2Cgp89oDg==", + "dev": true, + "dependencies": { + "bytes": "3.0.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.1", + "http-errors": "~1.6.2", + "iconv-lite": "0.4.19", + "on-finished": "~2.3.0", + "qs": "6.5.1", + "raw-body": "2.3.2", + "type-is": "~1.6.15" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "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/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/busboy": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz", + "integrity": "sha512-InWFDomvlkEj+xWLBfU3AvnbVYqeTWmQopiW0tWWEy5yehYm2YkGEc59sUmw/4ty5Zj/b0WHGs1LgecuBSBGrg==", + "dev": true, + "dependencies": { + "dicer": "0.2.5", + "readable-stream": "1.1.x" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/capital-case": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz", + "integrity": "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case-first": "^2.0.2" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "node_modules/class-transformer": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.4.0.tgz", + "integrity": "sha512-ETWD/H2TbWbKEi7m9N4Km5+cw1hNcqJSxlSYhsLsNjQzWWiZIYA1zafxpK9PwVfaZ6AqR5rrjPVUBGESm5tQUA==", + "dev": true + }, + "node_modules/cli-table3": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.1.tgz", + "integrity": "sha512-w0q/enDHhPLq44ovMGdQeeDLvwxwavsJX7oQGYt/LrBlYsyaxyDnp6z3QzFut/6kLLKnlcUVJLrpB7KBfgG/RA==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "colors": "1.4.0" + } + }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "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/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "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/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/concat-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/concat-stream/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/concat-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookiejar": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", + "dev": true + }, + "node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "dev": true, + "hasInstallScript": true + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "node_modules/d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "dependencies": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/dezalgo": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", + "dev": true, + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "node_modules/dicer": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz", + "integrity": "sha512-FDvbtnq7dzlPz0wyYlOExifDEZcu8h+rErEXgfxqmLfRfC/kJidEFh4+effJRO3P0xmfqyPbSMG0LveNRfTKVg==", + "dev": true, + "dependencies": { + "readable-stream": "1.1.x", + "streamsearch": "0.1.2" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/duration": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/duration/-/duration-0.2.2.tgz", + "integrity": "sha512-06kgtea+bGreF5eKYgI/36A6pLXggY7oR4p1pq4SmdFBn1ReOL5D8RhG64VrqfTTKNucqqtBAwEj8aB88mcqrg==", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "~0.10.46" + } + }, + "node_modules/durations": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/durations/-/durations-3.4.2.tgz", + "integrity": "sha512-V/lf7y33dGaypZZetVI1eu7BmvkbC4dItq12OElLRpKuaU5JxQstV2zHwLv8P7cNbQ+KL1WD80zMCTx5dNC4dg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "dev": true, + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/es5-ext": { + "version": "0.10.62", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", + "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "dependencies": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "dev": true, + "dependencies": { + "type": "^2.7.2" + } + }, + "node_modules/ext/node_modules/type": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", + "dev": true + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "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-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/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "dev": true + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/formidable": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.6.tgz", + "integrity": "sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ==", + "deprecated": "Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau", + "dev": true, + "funding": { + "url": "https://ko-fi.com/tunnckoCore/commissions" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "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/generate-function": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", + "dev": true, + "dependencies": { + "is-property": "^1.0.2" + } + }, + "node_modules/generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha512-TuOwZWgJ2VAMEGJvAyPWvpqxSANF0LDpmyHauMjFYzaACvn+QTT/AZomvPCzVBV7yDN3OmwHQ5OvHaeLKre3JQ==", + "dev": true, + "dependencies": { + "is-property": "^1.0.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "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/graphlib": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", + "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", + "dev": true, + "dependencies": { + "lodash": "^4.17.15" + } + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dev": true, + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "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-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hexoid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", + "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-errors/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "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/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-generator/-/is-generator-1.0.3.tgz", + "integrity": "sha512-G56jBpbJeg7ds83HW1LuShNs8J73Fv3CPz/bmROHOHlnKkN8sWb9ujiagjmxxMUywftgq48HlBZELKKqFLk0oA==", + "dev": true + }, + "node_modules/is-my-ip-valid": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.1.tgz", + "integrity": "sha512-jxc8cBcOWbNK2i2aTkCZP6i7wkHF1bqKFrwEHuN5Jtg5BSaZHUZQ/JTOJwoV41YvHnOaRyWWh72T/KvfNz9DJg==", + "dev": true + }, + "node_modules/is-my-json-valid": { + "version": "2.20.6", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.6.tgz", + "integrity": "sha512-1JQwulVNjx8UqkPE/bqDaxtH4PXCe/2VRh/y3p99heOV87HG4Id5/VfDswd+YiAfHcRTfDlWgISycnHuhZq1aw==", + "dev": true, + "dependencies": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "is-my-ip-valid": "^1.0.0", + "jsonpointer": "^5.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==", + "dev": true + }, + "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/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "node_modules/json-refs": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/json-refs/-/json-refs-3.0.15.tgz", + "integrity": "sha512-0vOQd9eLNBL18EGl5yYaO44GhixmImes2wiYn9Z3sag3QnehWrYWlB9AFtMxCL2Bj3fyxgDYkxGFEU/chlYssw==", + "dev": true, + "dependencies": { + "commander": "~4.1.1", + "graphlib": "^2.1.8", + "js-yaml": "^3.13.1", + "lodash": "^4.17.15", + "native-promise-only": "^0.8.1", + "path-loader": "^1.0.10", + "slash": "^3.0.0", + "uri-js": "^4.2.2" + }, + "bin": { + "json-refs": "bin/json-refs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/json-refs/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "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/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "node_modules/jsonpath-plus": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-6.0.1.tgz", + "integrity": "sha512-EvGovdvau6FyLexFH2OeXfIITlgIbgZoAZe3usiySeaIDm5QS+A10DKNpaPBBqqRSZr2HN6HVNXxtwUAr2apEw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dev": true, + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/jsprim/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "node_modules/jsprim/node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/knuth-shuffle-seeded": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/knuth-shuffle-seeded/-/knuth-shuffle-seeded-1.0.6.tgz", + "integrity": "sha512-9pFH0SplrfyKyojCLxZfMcvkhf5hH0d+UwR9nTVJ/DDQJGuzcXjTwB7TP7sDfehSudlGGaOLblmEWqv04ERVWg==", + "dev": true, + "dependencies": { + "seed-random": "~2.2.0" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash._arraypool": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._arraypool/-/lodash._arraypool-2.4.1.tgz", + "integrity": "sha512-tC2aLC7bbkDXKNrjDu9OLiVx9pFIvjinID2eD9PzNdAQGZScWUd/h8faqOw5d6oLsOvFRCRbz1ASoB+deyMVUw==", + "dev": true + }, + "node_modules/lodash._basebind": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._basebind/-/lodash._basebind-2.4.1.tgz", + "integrity": "sha512-VGHm6DH+1UiuafQdE/DNMqxOcSyhRu0xO9+jPDq7xITRn5YOorGrHVQmavMVXCYmTm80YRTZZCn/jTW7MokwLg==", + "dev": true, + "dependencies": { + "lodash._basecreate": "~2.4.1", + "lodash._setbinddata": "~2.4.1", + "lodash._slice": "~2.4.1", + "lodash.isobject": "~2.4.1" + } + }, + "node_modules/lodash._baseclone": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-2.4.1.tgz", + "integrity": "sha512-+zJVXs0VxC/Au+/7foiKzw8UaWvfSfPh20XhqK/6HFQiUeclL5fz05zY7G9yDAFItAKKZwB4cgpzGvxiwuG1wQ==", + "dev": true, + "dependencies": { + "lodash._getarray": "~2.4.1", + "lodash._releasearray": "~2.4.1", + "lodash._slice": "~2.4.1", + "lodash.assign": "~2.4.1", + "lodash.foreach": "~2.4.1", + "lodash.forown": "~2.4.1", + "lodash.isarray": "~2.4.1", + "lodash.isobject": "~2.4.1" + } + }, + "node_modules/lodash._basecreate": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz", + "integrity": "sha512-8JJ3FnMPm54t3BwPLk8q8mPyQKQXm/rt9df+awr4NGtyJrtcCXM3Of1I86S6jVy1b4yAyFBb8wbKPEauuqzRmQ==", + "dev": true, + "dependencies": { + "lodash._isnative": "~2.4.1", + "lodash.isobject": "~2.4.1", + "lodash.noop": "~2.4.1" + } + }, + "node_modules/lodash._basecreatecallback": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._basecreatecallback/-/lodash._basecreatecallback-2.4.1.tgz", + "integrity": "sha512-SLczhg860fGW7AKlYcuOFstDtJuQhaANlJ4Y/jrOoRxhmVtK41vbJDH3OefVRSRkSCQo4HI82QVkAVsoGa5gSw==", + "dev": true, + "dependencies": { + "lodash._setbinddata": "~2.4.1", + "lodash.bind": "~2.4.1", + "lodash.identity": "~2.4.1", + "lodash.support": "~2.4.1" + } + }, + "node_modules/lodash._basecreatewrapper": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._basecreatewrapper/-/lodash._basecreatewrapper-2.4.1.tgz", + "integrity": "sha512-x2ja1fa/qmzbizuXgVM4QAP9svtMbdxjG8Anl9bCeDAwLOVQ1vLrA0hLb/NkpbGi9evjtkl0aWLTEoOlUdBPQA==", + "dev": true, + "dependencies": { + "lodash._basecreate": "~2.4.1", + "lodash._setbinddata": "~2.4.1", + "lodash._slice": "~2.4.1", + "lodash.isobject": "~2.4.1" + } + }, + "node_modules/lodash._createwrapper": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._createwrapper/-/lodash._createwrapper-2.4.1.tgz", + "integrity": "sha512-5TCfLt1haQpsa7bgLYRKNNE4yqhO4ZxIayN1btQmazMchO6Q8JYFRMqbJ3W+uNmMm4R0Jw7KGkZX5YfDDnywuw==", + "dev": true, + "dependencies": { + "lodash._basebind": "~2.4.1", + "lodash._basecreatewrapper": "~2.4.1", + "lodash._slice": "~2.4.1", + "lodash.isfunction": "~2.4.1" + } + }, + "node_modules/lodash._getarray": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._getarray/-/lodash._getarray-2.4.1.tgz", + "integrity": "sha512-iIrScwY3atGvLVbQL/+CNUznaPwBJg78S/JO4cTUFXRkRsZgEBhscB27cVoT4tsIOUyFu/5M/0umfHNGJ6wYwg==", + "dev": true, + "dependencies": { + "lodash._arraypool": "~2.4.1" + } + }, + "node_modules/lodash._isnative": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", + "integrity": "sha512-BOlKGKNHhCHswGOWtmVb5zBygyxN7EmTuzVOSQI6QSoGhG+kvv71gICFS1TBpnqvT1n53txK8CDK3u5D2/GZxQ==", + "dev": true + }, + "node_modules/lodash._maxpoolsize": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._maxpoolsize/-/lodash._maxpoolsize-2.4.1.tgz", + "integrity": "sha512-xKDem1BxoIfcCtaJHotjtyfdIvZO9qrF+mv3G1+ngQmaI3MJt3Qm46i9HLk/CbzABbavUrr1/EomQT8KxtsrYA==", + "dev": true + }, + "node_modules/lodash._objecttypes": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", + "integrity": "sha512-XpqGh1e7hhkOzftBfWE7zt+Yn9mVHFkDhicVttvKLsoCMLVVL+xTQjfjB4X4vtznauxv0QZ5ZAeqjvat0dh62Q==", + "dev": true + }, + "node_modules/lodash._releasearray": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._releasearray/-/lodash._releasearray-2.4.1.tgz", + "integrity": "sha512-wwCwWX8PK/mYR5VZjcU5JFl6py/qrfLGMxzpKOfSqgA1PaZ6Z625CZLCxH1KsqyxSkOFmNm+mEYjeDpXlM4hrg==", + "dev": true, + "dependencies": { + "lodash._arraypool": "~2.4.1", + "lodash._maxpoolsize": "~2.4.1" + } + }, + "node_modules/lodash._setbinddata": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._setbinddata/-/lodash._setbinddata-2.4.1.tgz", + "integrity": "sha512-Vx0XKzpg2DFbQw4wrp1xSWd2sfl3W/BG6bucSRZmftS1AzbWRemCmBQDxyQTNhlLNec428PXkuuja+VNBZgu2A==", + "dev": true, + "dependencies": { + "lodash._isnative": "~2.4.1", + "lodash.noop": "~2.4.1" + } + }, + "node_modules/lodash._shimkeys": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", + "integrity": "sha512-lBrglYxLD/6KAJ8IEa5Lg+YHgNAL7FyKqXg4XOUI+Du/vtniLs1ZqS+yHNKPkK54waAgkdUnDOYaWf+rv4B+AA==", + "dev": true, + "dependencies": { + "lodash._objecttypes": "~2.4.1" + } + }, + "node_modules/lodash._slice": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._slice/-/lodash._slice-2.4.1.tgz", + "integrity": "sha512-+odPJa4PE2UgYnQgJgkLs0UD03QU78R2ivhrFnG9GdtYOZdE6ObxOj7KiUEUlqOOgatFT+ZqSypFjDSduTigKg==", + "dev": true + }, + "node_modules/lodash.assign": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-2.4.1.tgz", + "integrity": "sha512-AqQ4AJz5buSx9ELXWt5dONwJyVPd4NTADMKhoVYWCugjoVf172/LpvVhwmSJn4g8/Dc0S8hxTe8rt5Dob3X9KQ==", + "dev": true, + "dependencies": { + "lodash._basecreatecallback": "~2.4.1", + "lodash._objecttypes": "~2.4.1", + "lodash.keys": "~2.4.1" + } + }, + "node_modules/lodash.bind": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-2.4.1.tgz", + "integrity": "sha512-hn2VWYZ+N9aYncRad4jORvlGgpFrn+axnPIWRvFxjk6CWcZH5b5alI8EymYsHITI23Z9wrW/+ORq+azrVFpOfw==", + "dev": true, + "dependencies": { + "lodash._createwrapper": "~2.4.1", + "lodash._slice": "~2.4.1" + } + }, + "node_modules/lodash.clonedeep": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-2.4.1.tgz", + "integrity": "sha512-zj5vReFLkR+lJOBKP1wyteZ13zut/KSmXtdCBgxcy/m4UTitcBxpeVZT7gwk8BQrztPI5dIgO4bhBppXV4rpTQ==", + "dev": true, + "dependencies": { + "lodash._baseclone": "~2.4.1", + "lodash._basecreatecallback": "~2.4.1" + } + }, + "node_modules/lodash.foreach": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-2.4.1.tgz", + "integrity": "sha512-AvOobAkE7qBtIiHU5QHQIfveWH5Usr9pIcFIzBv7u4S6bvb3FWpFrh9ltqBY7UeL5lw6e8d+SggiUXQVyh+FpA==", + "dev": true, + "dependencies": { + "lodash._basecreatecallback": "~2.4.1", + "lodash.forown": "~2.4.1" + } + }, + "node_modules/lodash.forown": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.forown/-/lodash.forown-2.4.1.tgz", + "integrity": "sha512-VC+CKm/zSs5t3i/MHv71HZoQphuqOvez1xhjWBwHU5zAbsCYrqwHr+MyQyMk14HzA3hSRNA5lCqDMSw5G2Qscg==", + "dev": true, + "dependencies": { + "lodash._basecreatecallback": "~2.4.1", + "lodash._objecttypes": "~2.4.1", + "lodash.keys": "~2.4.1" + } + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "dev": true + }, + "node_modules/lodash.identity": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.identity/-/lodash.identity-2.4.1.tgz", + "integrity": "sha512-VRYX+8XipeLjorag5bz3YBBRJ+5kj8hVBzfnaHgXPZAVTYowBdY5l0M5ZnOmlAMCOXBFabQtm7f5VqjMKEji0w==", + "dev": true + }, + "node_modules/lodash.isarray": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-2.4.1.tgz", + "integrity": "sha512-yRDd0z+APziDqbk0MqR6Qfwj/Qn3jLxFJbI9U8MuvdTnqIXdZ5YXyGLnwuzCpZmjr26F1GNOjKLMMZ10i/wy6A==", + "dev": true, + "dependencies": { + "lodash._isnative": "~2.4.1" + } + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "dev": true + }, + "node_modules/lodash.isfunction": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.4.1.tgz", + "integrity": "sha512-6XcAB3izeQxPOQQNAJbbdjXbvWEt2Pn9ezPrjr4CwoLwmqsLVbsiEXD19cmmt4mbzOCOCdHzOQiUivUOJLra7w==", + "dev": true + }, + "node_modules/lodash.isobject": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", + "integrity": "sha512-sTebg2a1PoicYEZXD5PBdQcTlIJ6hUslrlWr7iV0O7n+i4596s2NQ9I5CaZ5FbXSfya/9WQsrYLANUJv9paYVA==", + "dev": true, + "dependencies": { + "lodash._objecttypes": "~2.4.1" + } + }, + "node_modules/lodash.keys": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", + "integrity": "sha512-ZpJhwvUXHSNL5wYd1RM6CUa2ZuqorG9ngoJ9Ix5Cce+uX7I5O/E06FCJdhSZ33b5dVyeQDnIlWH7B2s5uByZ7g==", + "dev": true, + "dependencies": { + "lodash._isnative": "~2.4.1", + "lodash._shimkeys": "~2.4.1", + "lodash.isobject": "~2.4.1" + } + }, + "node_modules/lodash.noop": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz", + "integrity": "sha512-uNcV98/blRhInPUGQEnj9ekXXfG+q+rfoNSFZgl/eBfog9yBDW9gfUv2AHX/rAF7zZRlzWhbslGhbGQFZlCkZA==", + "dev": true + }, + "node_modules/lodash.support": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.support/-/lodash.support-2.4.1.tgz", + "integrity": "sha512-6SwqWwGFHhTXEiqB/yQgu8FYd//tm786d49y7kizHVCJH7zdzs191UQn3ES3tkkDbUddNRfkCRYqJFHtbLnbCw==", + "dev": true, + "dependencies": { + "lodash._isnative": "~2.4.1" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.3" + } + }, + "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/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "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/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/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/multer": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4.tgz", + "integrity": "sha512-2wY2+xD4udX612aMqMcB8Ws2Voq6NIUPEtD1be6m411T4uDH/VtL9i//xvcyFlTVfRdaBsk7hV5tgrGQqhuBiw==", + "deprecated": "Multer 1.x is affected by CVE-2022-24434. This is fixed in v1.4.4-lts.1 which drops support for versions of Node.js before 6. Please upgrade to at least Node.js 6 and version 1.4.4-lts.1 of Multer. If you need support for older versions of Node.js, we are open to accepting patches that would fix the CVE on the main 1.x release line, whilst maintaining compatibility with Node.js 0.10.", + "dev": true, + "dependencies": { + "append-field": "^1.0.0", + "busboy": "^0.2.11", + "concat-stream": "^1.5.2", + "mkdirp": "^0.5.4", + "object-assign": "^4.1.1", + "on-finished": "^2.3.0", + "type-is": "^1.6.4", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/native-promise-only": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz", + "integrity": "sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg==", + "dev": true + }, + "node_modules/next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "dev": true + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/pad-right": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/pad-right/-/pad-right-0.2.2.tgz", + "integrity": "sha512-4cy8M95ioIGolCoMmm2cMntGR1lPLEbOMzOKu8bzjuJP6JpzEMQcDHmh7hHLYGgob+nKe1YHFMaG4V59HQa89g==", + "dev": true, + "dependencies": { + "repeat-string": "^1.5.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==", + "dev": true, + "dependencies": { + "process": "^0.11.1", + "util": "^0.10.3" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-loader": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/path-loader/-/path-loader-1.0.12.tgz", + "integrity": "sha512-n7oDG8B+k/p818uweWrOixY9/Dsr89o2TkCm6tOTex3fpdo2+BFDgR+KpB37mGKBRsBAlR8CIJMFN0OEy/7hIQ==", + "dev": true, + "dependencies": { + "native-promise-only": "^0.8.1", + "superagent": "^7.1.6" + } + }, + "node_modules/path-loader/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/path-loader/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/path-loader/node_modules/formidable": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz", + "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==", + "dev": true, + "dependencies": { + "dezalgo": "^1.0.4", + "hexoid": "^1.0.0", + "once": "^1.4.0", + "qs": "^6.11.0" + }, + "funding": { + "url": "https://ko-fi.com/tunnckoCore/commissions" + } + }, + "node_modules/path-loader/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/path-loader/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/path-loader/node_modules/qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/path-loader/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/path-loader/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/path-loader/node_modules/superagent": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.6.tgz", + "integrity": "sha512-gZkVCQR1gy/oUXr+kxJMLDjla434KmSOKbx5iGD30Ql+AkJQ/YlPKECJy2nhqOsHLjGHzoDTXNSjhnvWhzKk7g==", + "deprecated": "Please downgrade to v7.1.5 if you need IE/ActiveXObject support OR upgrade to v8.0.0 as we no longer support IE and published an incorrect patch version (see https://github.com/visionmedia/superagent/issues/1731)", + "dev": true, + "dependencies": { + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.3", + "debug": "^4.3.4", + "fast-safe-stringify": "^2.1.1", + "form-data": "^4.0.0", + "formidable": "^2.0.1", + "methods": "^1.1.2", + "mime": "2.6.0", + "qs": "^6.10.3", + "readable-stream": "^3.6.0", + "semver": "^7.3.7" + }, + "engines": { + "node": ">=6.4.0 <13 || >=14" + } + }, + "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-to-regexp": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.4.0.tgz", + "integrity": "sha512-G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w==", + "dev": true + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "node_modules/prettyjson": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/prettyjson/-/prettyjson-1.2.5.tgz", + "integrity": "sha512-rksPWtoZb2ZpT5OVgtmy0KHVM+Dca3iVwWY9ifwhcexfjebtgjg3wmrUt9PvJ59XIYBcknQeYHD8IAnVlh9lAw==", + "dev": true, + "dependencies": { + "colors": "1.4.0", + "minimist": "^1.2.0" + }, + "bin": { + "prettyjson": "bin/prettyjson" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", + "integrity": "sha512-Ss0DsBxqLxCmQkfG5yazYhtbVVTJqS9jTsZG2lhrNwqzOk2SUC7O/NB/M//CkEBqsrtmlNgJCPccJGuYSFr6Vg==", + "dev": true, + "dependencies": { + "bytes": "3.0.0", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/depd": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha512-Jlk9xvkTDGXwZiIDyoM7+3AsuvJVoyOpRupvEVy9nX3YO3/ieZxhlgh8GpLNZ8AY7HjO6y2YwpMSh1ejhu3uIw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body/node_modules/http-errors": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", + "integrity": "sha512-STnYGcKMXL9CGdtpeTFnLmgMSHTTNQJSHxiC4DETHKf934Q160Ht5pljrNeH24S0O9xUN+9vsDJZdZtk5js6Ww==", + "dev": true, + "dependencies": { + "depd": "1.1.1", + "inherits": "2.0.3", + "setprototypeof": "1.0.3", + "statuses": ">= 1.3.1 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/raw-body/node_modules/setprototypeof": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", + "integrity": "sha512-9jphSf3UbIgpOX/RKvX02iw/rN2TKdusnsPpGfO/rkcsrd+IRqgHZb4VGnmL0Cynps8Nj2hN45wsi30BzrHDIw==", + "dev": true + }, + "node_modules/readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/reflect-metadata": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", + "dev": true + }, + "node_modules/regexp-match-indices": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regexp-match-indices/-/regexp-match-indices-1.0.2.tgz", + "integrity": "sha512-DwZuAkt8NF5mKwGGER1EGh2PRqyvhRhhLviH+R8y8dIuaQROlUfXjt4s9ZTXstIsSkptf06BSvwcEmmfheJJWQ==", + "dev": true, + "dependencies": { + "regexp-tree": "^0.1.11" + } + }, + "node_modules/regexp-tree": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", + "dev": true, + "bin": { + "regexp-tree": "bin/regexp-tree" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/resolve": { + "version": "1.22.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", + "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "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-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-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg/-/resolve-pkg-2.0.0.tgz", + "integrity": "sha512-+1lzwXehGCXSeryaISr6WujZzowloigEofRB+dj75y9RRa/obVcYgbHJd53tdYw8pvZj8GojXaaENws8Ktw/hQ==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/seed-random": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/seed-random/-/seed-random-2.2.0.tgz", + "integrity": "sha512-34EQV6AAHQGhoc0tn/96a9Fsi6v2xdqe/dMUwljGRaFOzR3EgRmECvD0O8vi8X+/uQ50LGHfkNu/Eue5TPKZkQ==", + "dev": true + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/send/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/spark-md5": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/spark-md5/-/spark-md5-3.0.2.tgz", + "integrity": "sha512-wcFzz9cDfbuqe0FZzfi2or1sgyIrsDwmPwfZC4hiNidPdPINjeUwNfv5kldczoEAcjl9Y1L3SM7Uz2PUEQzxQw==", + "dev": true + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stack-chain": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/stack-chain/-/stack-chain-2.0.0.tgz", + "integrity": "sha512-GGrHXePi305aW7XQweYZZwiRwR7Js3MWoK/EHzzB9ROdc75nCnjSJVi21rdAGxFl+yCx2L2qdfl5y7NO4lTyqg==", + "dev": true + }, + "node_modules/stack-generator": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.10.tgz", + "integrity": "sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==", + "dev": true, + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "dev": true + }, + "node_modules/stacktrace-gps": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/stacktrace-gps/-/stacktrace-gps-3.1.2.tgz", + "integrity": "sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==", + "dev": true, + "dependencies": { + "source-map": "0.5.6", + "stackframe": "^1.3.4" + } + }, + "node_modules/stacktrace-gps/node_modules/source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stacktrace-js": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stacktrace-js/-/stacktrace-js-2.0.2.tgz", + "integrity": "sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==", + "dev": true, + "dependencies": { + "error-stack-parser": "^2.0.6", + "stack-generator": "^2.0.5", + "stacktrace-gps": "^3.0.4" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/streamsearch": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", + "integrity": "sha512-jos8u++JKm0ARcSUTAZXOVC0mSox7Bhn6sBgty73P1f3JGf7yG2clTbBNHUdde/kdvP2FESam+vM6l8jBrNxHA==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true + }, + "node_modules/string-argv": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", + "dev": true, + "engines": { + "node": ">=0.6.19" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/superagent": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz", + "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", + "deprecated": "Please upgrade to v7.0.2+ of superagent. We have fixed numerous issues with streams, form-data, attach(), filesystem errors not bubbling up (ENOENT on attach()), and all tests are now passing. See the releases tab for more information at .", + "dev": true, + "dependencies": { + "component-emitter": "^1.2.0", + "cookiejar": "^2.1.0", + "debug": "^3.1.0", + "extend": "^3.0.0", + "form-data": "^2.3.1", + "formidable": "^1.2.0", + "methods": "^1.1.1", + "mime": "^1.4.1", + "qs": "^6.5.1", + "readable-stream": "^2.3.5" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/superagent/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/superagent/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/superagent/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/superagent/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "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/swagger-converter": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/swagger-converter/-/swagger-converter-0.1.7.tgz", + "integrity": "sha512-O2hZbWqq8x6j0uZ4qWj5dw45WPoAxKsJLJZqOgTqRtPNi8IqA+rDkDV/48S8qanS3KGv1QcVoPNLivMbyHHdAQ==", + "dev": true, + "dependencies": { + "lodash.clonedeep": "^2.4.1" + } + }, + "node_modules/swagger-tools": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/swagger-tools/-/swagger-tools-0.10.4.tgz", + "integrity": "sha512-VQpijIi8cpB/frUZOZlVpS7U3CrdSAZBfiHu448R1njiNXUnE7heF3Svz3qFBr5SYtaPvaqWpHMbvboirCXVzA==", + "dev": true, + "dependencies": { + "async": "^2.5.0", + "body-parser": "1.18.2", + "commander": "~2.11.0", + "debug": "^3.1.0", + "js-yaml": "^3.3.1", + "json-refs": "^3.0.2", + "lodash": "^4.17.4", + "multer": "^1.1.0", + "parseurl": "^1.3.0", + "path-to-regexp": "^2.0.0", + "qs": "^6.0.3", + "serve-static": "^1.10.0", + "spark-md5": "^3.0.0", + "superagent": "^3.5.2", + "swagger-converter": "^0.1.7", + "traverse": "^0.6.6", + "z-schema": "^3.15.4" + }, + "bin": { + "swagger-tools": "bin/swagger-tools" + } + }, + "node_modules/swagger-tools/node_modules/commander": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", + "dev": true + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/traverse": { + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz", + "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "node_modules/type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/upper-case-first": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz", + "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.3" + } + }, + "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": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-arity": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/util-arity/-/util-arity-1.1.0.tgz", + "integrity": "sha512-kkyIsXKwemfSy8ZEoaIz06ApApnWsk5hQO0vLjZS6UkBiGiW++Jsyb8vSBoc0WKlffGoGs5yYy/j5pp8zckrFA==", + "dev": true + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/validator": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-10.11.0.tgz", + "integrity": "sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/verror": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.1.tgz", + "integrity": "sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/verror/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/xpath.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xpath.js/-/xpath.js-1.1.0.tgz", + "integrity": "sha512-jg+qkfS4K8E7965sqaUl8mRngXiKb3WZGfONgE18pr03FUQiuSV6G+Ej4tS55B+rIQSFEIw3phdVAQ4pPqNWfQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "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/z-schema": { + "version": "3.25.1", + "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-3.25.1.tgz", + "integrity": "sha512-7tDlwhrBG+oYFdXNOjILSurpfQyuVgkRe3hB2q8TEssamDHB7BbLWYkYO98nTn0FibfdFroFKDjndbgufAgS/Q==", + "dev": true, + "dependencies": { + "core-js": "^2.5.7", + "lodash.get": "^4.0.0", + "lodash.isequal": "^4.0.0", + "validator": "^10.0.0" + }, + "bin": { + "z-schema": "bin/z-schema" + }, + "optionalDependencies": { + "commander": "^2.7.1" + } + }, + "node_modules/z-schema/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, + "optional": true + } + }, + "dependencies": { + "@cucumber/create-meta": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@cucumber/create-meta/-/create-meta-5.0.0.tgz", + "integrity": "sha512-Z5kMZkUff00S3/KSnKzB/KOm2UIxMXY1xXmj2dQMlD49lV6v/W8EEvgDMNtQotQNSOQU5bDupmWQpk+o16tXIw==", + "dev": true, + "requires": { + "@cucumber/messages": "^16.0.0" + } + }, + "@cucumber/cucumber": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@cucumber/cucumber/-/cucumber-7.3.2.tgz", + "integrity": "sha512-qqptM9w+UqXEYBAkrIGpIVPXDWv+zp0LrS89LiwHZwBp0cJg00su/iPMZ4j8TvCJiKfAwJXsAI1yjrd1POtU+w==", + "dev": true, + "requires": { + "@cucumber/create-meta": "^5.0.0", + "@cucumber/cucumber-expressions": "^12.1.1", + "@cucumber/gherkin": "^19.0.3", + "@cucumber/gherkin-streams": "^2.0.2", + "@cucumber/html-formatter": "^15.0.2", + "@cucumber/messages": "^16.0.1", + "@cucumber/tag-expressions": "^3.0.1", + "assertion-error-formatter": "^3.0.0", + "bluebird": "^3.7.2", + "capital-case": "^1.0.4", + "cli-table3": "0.6.1", + "colors": "1.4.0", + "commander": "^7.0.0", + "create-require": "^1.1.1", + "duration": "^0.2.2", + "durations": "^3.4.2", + "figures": "^3.2.0", + "glob": "^7.1.6", + "indent-string": "^4.0.0", + "is-generator": "^1.0.3", + "is-stream": "^2.0.0", + "knuth-shuffle-seeded": "^1.0.6", + "lodash": "^4.17.21", + "mz": "^2.7.0", + "progress": "^2.0.3", + "resolve": "^1.19.0", + "resolve-pkg": "^2.0.0", + "stack-chain": "^2.0.0", + "stacktrace-js": "^2.0.2", + "string-argv": "^0.3.1", + "tmp": "^0.2.1", + "util-arity": "^1.1.0", + "verror": "^1.10.0" + } + }, + "@cucumber/cucumber-expressions": { + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/@cucumber/cucumber-expressions/-/cucumber-expressions-12.1.3.tgz", + "integrity": "sha512-LB8MAzE4F/t2KIgsDEz4gZH0xSI4aG0/LmYUPyISPPjUS1pI/yGWWyeX2WsiUQxpSs765WcNIq5Bggt7gGGO3Q==", + "dev": true, + "requires": { + "regexp-match-indices": "1.0.2" + } + }, + "@cucumber/gherkin": { + "version": "19.0.3", + "resolved": "https://registry.npmjs.org/@cucumber/gherkin/-/gherkin-19.0.3.tgz", + "integrity": "sha512-gWdMm8mfRk3P+VugJWvNALaQV5QnT+5RkqWy3tO+4NsMSQZPo5p4V4vXwriQZ/sZR1Wni5TDRztuRsKLgZ3XHA==", + "dev": true, + "requires": { + "@cucumber/message-streams": "^2.0.0", + "@cucumber/messages": "^16.0.1" + } + }, + "@cucumber/gherkin-streams": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@cucumber/gherkin-streams/-/gherkin-streams-2.0.2.tgz", + "integrity": "sha512-cKmXOBz4OwGlrHMBCc4qCC3KzLaqcEZ11nWWskIbv6jyfvlIRuM2OgEF6VLcNVewczifW1p6DrDj0OO+BeXocA==", + "dev": true, + "requires": { + "@cucumber/gherkin": "^19.0.1", + "@cucumber/message-streams": "^2.0.0", + "@cucumber/messages": "^16.0.0", + "commander": "7.2.0", + "source-map-support": "0.5.19" + } + }, + "@cucumber/html-formatter": { + "version": "15.0.2", + "resolved": "https://registry.npmjs.org/@cucumber/html-formatter/-/html-formatter-15.0.2.tgz", + "integrity": "sha512-j+YGY4ytj78G/v1gZo53D+vuKXlTg/oxNwSCCGvRQo75+AqYDJSkm/vexXJQ5lY1rXAvlbZ9KI6jhg6LDs0YdQ==", + "dev": true, + "requires": { + "@cucumber/messages": "^16.0.1", + "commander": "7.2.0", + "source-map-support": "0.5.19" + } + }, + "@cucumber/message-streams": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@cucumber/message-streams/-/message-streams-2.1.0.tgz", + "integrity": "sha512-Yh3mw3qv6QL9NI/ihkZF8V9MX2GbnR6oktv34kC3uAbrQy9d/b2SZ3HNjG3J9JQqpV4B7Om3SPElJYIeo66TrA==", + "dev": true, + "requires": { + "@cucumber/messages": "^16.0.1" + } + }, + "@cucumber/messages": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-16.0.1.tgz", + "integrity": "sha512-80JcaAfQragFqR1rMhRwiqWL9HcR6Z4LDD2mfF0Lxg/lFkCNvmWa9Jl10NUNfFXYD555NKPzP/8xFo55abw8TQ==", + "dev": true, + "requires": { + "@types/uuid": "8.3.0", + "class-transformer": "0.4.0", + "reflect-metadata": "0.1.13", + "uuid": "8.3.2" + } + }, + "@cucumber/tag-expressions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@cucumber/tag-expressions/-/tag-expressions-3.0.1.tgz", + "integrity": "sha512-OGCXaJ1BQXmQ5b9pw+JYsBGumK2/LPZiLmbj1o1JFVeSNs2PY8WPQFSyXrskhrHz5Nd/6lYg7lvGMtFHOncC4w==", + "dev": true + }, + "@types/uuid": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.0.tgz", + "integrity": "sha512-eQ9qFW/fhfGJF8WKHGEHZEyVWfZxrT+6CLIJGBcZPfxUh/+BnEj+UCGYMlr9qZuX/2AltsvwrGqp0LhEW8D0zQ==", + "dev": true + }, + "@xmldom/xmldom": { + "version": "0.8.10", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz", + "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==", + "dev": true + }, + "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" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "apickli": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/apickli/-/apickli-3.0.2.tgz", + "integrity": "sha512-iYD2t5ZtT7o1XANeqZCff0LktSvMzI3mXlQiMwpUyfTdvmi3ArwsMfjmhldAtFuu0kAwsH95TvcKp3X12eihhA==", + "dev": true, + "requires": { + "@xmldom/xmldom": "0.x", + "is-my-json-valid": "2.x", + "jsonpath-plus": "6.x", + "path": "0.x", + "prettyjson": "1.x", + "request": "2.x", + "swagger-tools": "0.x", + "xpath.js": "1.x" + } + }, + "append-field": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true + }, + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true + }, + "assertion-error-formatter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/assertion-error-formatter/-/assertion-error-formatter-3.0.0.tgz", + "integrity": "sha512-6YyAVLrEze0kQ7CmJfUgrLHb+Y7XghmL2Ie7ijVa2Y9ynP3LV+VDiwFk62Dn0qtqbmY0BT0ss6p1xxpiF2PYbQ==", + "dev": true, + "requires": { + "diff": "^4.0.1", + "pad-right": "^0.2.2", + "repeat-string": "^1.6.1" + } + }, + "async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true + }, + "aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true + }, + "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 + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "body-parser": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", + "integrity": "sha512-XIXhPptoLGNcvFyyOzjNXCjDYIbYj4iuXO0VU9lM0f3kYdG0ar5yg7C+pIc3OyoTlZXDu5ObpLTmS2Cgp89oDg==", + "dev": true, + "requires": { + "bytes": "3.0.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.1", + "http-errors": "~1.6.2", + "iconv-lite": "0.4.19", + "on-finished": "~2.3.0", + "qs": "6.5.1", + "raw-body": "2.3.2", + "type-is": "~1.6.15" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "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" + } + }, + "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 + }, + "busboy": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz", + "integrity": "sha512-InWFDomvlkEj+xWLBfU3AvnbVYqeTWmQopiW0tWWEy5yehYm2YkGEc59sUmw/4ty5Zj/b0WHGs1LgecuBSBGrg==", + "dev": true, + "requires": { + "dicer": "0.2.5", + "readable-stream": "1.1.x" + } + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "capital-case": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz", + "integrity": "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case-first": "^2.0.2" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "class-transformer": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.4.0.tgz", + "integrity": "sha512-ETWD/H2TbWbKEi7m9N4Km5+cw1hNcqJSxlSYhsLsNjQzWWiZIYA1zafxpK9PwVfaZ6AqR5rrjPVUBGESm5tQUA==", + "dev": true + }, + "cli-table3": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.1.tgz", + "integrity": "sha512-w0q/enDHhPLq44ovMGdQeeDLvwxwavsJX7oQGYt/LrBlYsyaxyDnp6z3QzFut/6kLLKnlcUVJLrpB7KBfgG/RA==", + "dev": true, + "requires": { + "colors": "1.4.0", + "string-width": "^4.2.0" + } + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "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 + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "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 + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true + }, + "cookiejar": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", + "dev": true + }, + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "dev": true + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true + }, + "dezalgo": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", + "dev": true, + "requires": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "dicer": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz", + "integrity": "sha512-FDvbtnq7dzlPz0wyYlOExifDEZcu8h+rErEXgfxqmLfRfC/kJidEFh4+effJRO3P0xmfqyPbSMG0LveNRfTKVg==", + "dev": true, + "requires": { + "readable-stream": "1.1.x", + "streamsearch": "0.1.2" + } + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + }, + "duration": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/duration/-/duration-0.2.2.tgz", + "integrity": "sha512-06kgtea+bGreF5eKYgI/36A6pLXggY7oR4p1pq4SmdFBn1ReOL5D8RhG64VrqfTTKNucqqtBAwEj8aB88mcqrg==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.46" + } + }, + "durations": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/durations/-/durations-3.4.2.tgz", + "integrity": "sha512-V/lf7y33dGaypZZetVI1eu7BmvkbC4dItq12OElLRpKuaU5JxQstV2zHwLv8P7cNbQ+KL1WD80zMCTx5dNC4dg==", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true + }, + "error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "dev": true, + "requires": { + "stackframe": "^1.3.4" + } + }, + "es5-ext": { + "version": "0.10.62", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", + "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", + "dev": true, + "requires": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true + }, + "ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "dev": true, + "requires": { + "type": "^2.7.2" + }, + "dependencies": { + "type": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true + }, + "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-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "dev": true + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "formidable": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.6.tgz", + "integrity": "sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ==", + "dev": true + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "generate-function": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", + "dev": true, + "requires": { + "is-property": "^1.0.2" + } + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha512-TuOwZWgJ2VAMEGJvAyPWvpqxSANF0LDpmyHauMjFYzaACvn+QTT/AZomvPCzVBV7yDN3OmwHQ5OvHaeLKre3JQ==", + "dev": true, + "requires": { + "is-property": "^1.0.0" + } + }, + "get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "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" + } + }, + "graphlib": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", + "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "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-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "hexoid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", + "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", + "dev": true + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + } + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-generator": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-generator/-/is-generator-1.0.3.tgz", + "integrity": "sha512-G56jBpbJeg7ds83HW1LuShNs8J73Fv3CPz/bmROHOHlnKkN8sWb9ujiagjmxxMUywftgq48HlBZELKKqFLk0oA==", + "dev": true + }, + "is-my-ip-valid": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.1.tgz", + "integrity": "sha512-jxc8cBcOWbNK2i2aTkCZP6i7wkHF1bqKFrwEHuN5Jtg5BSaZHUZQ/JTOJwoV41YvHnOaRyWWh72T/KvfNz9DJg==", + "dev": true + }, + "is-my-json-valid": { + "version": "2.20.6", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.6.tgz", + "integrity": "sha512-1JQwulVNjx8UqkPE/bqDaxtH4PXCe/2VRh/y3p99heOV87HG4Id5/VfDswd+YiAfHcRTfDlWgISycnHuhZq1aw==", + "dev": true, + "requires": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "is-my-ip-valid": "^1.0.0", + "jsonpointer": "^5.0.0", + "xtend": "^4.0.0" + } + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==", + "dev": true + }, + "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 + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "json-refs": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/json-refs/-/json-refs-3.0.15.tgz", + "integrity": "sha512-0vOQd9eLNBL18EGl5yYaO44GhixmImes2wiYn9Z3sag3QnehWrYWlB9AFtMxCL2Bj3fyxgDYkxGFEU/chlYssw==", + "dev": true, + "requires": { + "commander": "~4.1.1", + "graphlib": "^2.1.8", + "js-yaml": "^3.13.1", + "lodash": "^4.17.15", + "native-promise-only": "^0.8.1", + "path-loader": "^1.0.10", + "slash": "^3.0.0", + "uri-js": "^4.2.2" + }, + "dependencies": { + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + } + } + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "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 + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "jsonpath-plus": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-6.0.1.tgz", + "integrity": "sha512-EvGovdvau6FyLexFH2OeXfIITlgIbgZoAZe3usiySeaIDm5QS+A10DKNpaPBBqqRSZr2HN6HVNXxtwUAr2apEw==", + "dev": true + }, + "jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "dev": true + }, + "jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + } + } + }, + "knuth-shuffle-seeded": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/knuth-shuffle-seeded/-/knuth-shuffle-seeded-1.0.6.tgz", + "integrity": "sha512-9pFH0SplrfyKyojCLxZfMcvkhf5hH0d+UwR9nTVJ/DDQJGuzcXjTwB7TP7sDfehSudlGGaOLblmEWqv04ERVWg==", + "dev": true, + "requires": { + "seed-random": "~2.2.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash._arraypool": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._arraypool/-/lodash._arraypool-2.4.1.tgz", + "integrity": "sha512-tC2aLC7bbkDXKNrjDu9OLiVx9pFIvjinID2eD9PzNdAQGZScWUd/h8faqOw5d6oLsOvFRCRbz1ASoB+deyMVUw==", + "dev": true + }, + "lodash._basebind": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._basebind/-/lodash._basebind-2.4.1.tgz", + "integrity": "sha512-VGHm6DH+1UiuafQdE/DNMqxOcSyhRu0xO9+jPDq7xITRn5YOorGrHVQmavMVXCYmTm80YRTZZCn/jTW7MokwLg==", + "dev": true, + "requires": { + "lodash._basecreate": "~2.4.1", + "lodash._setbinddata": "~2.4.1", + "lodash._slice": "~2.4.1", + "lodash.isobject": "~2.4.1" + } + }, + "lodash._baseclone": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-2.4.1.tgz", + "integrity": "sha512-+zJVXs0VxC/Au+/7foiKzw8UaWvfSfPh20XhqK/6HFQiUeclL5fz05zY7G9yDAFItAKKZwB4cgpzGvxiwuG1wQ==", + "dev": true, + "requires": { + "lodash._getarray": "~2.4.1", + "lodash._releasearray": "~2.4.1", + "lodash._slice": "~2.4.1", + "lodash.assign": "~2.4.1", + "lodash.foreach": "~2.4.1", + "lodash.forown": "~2.4.1", + "lodash.isarray": "~2.4.1", + "lodash.isobject": "~2.4.1" + } + }, + "lodash._basecreate": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz", + "integrity": "sha512-8JJ3FnMPm54t3BwPLk8q8mPyQKQXm/rt9df+awr4NGtyJrtcCXM3Of1I86S6jVy1b4yAyFBb8wbKPEauuqzRmQ==", + "dev": true, + "requires": { + "lodash._isnative": "~2.4.1", + "lodash.isobject": "~2.4.1", + "lodash.noop": "~2.4.1" + } + }, + "lodash._basecreatecallback": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._basecreatecallback/-/lodash._basecreatecallback-2.4.1.tgz", + "integrity": "sha512-SLczhg860fGW7AKlYcuOFstDtJuQhaANlJ4Y/jrOoRxhmVtK41vbJDH3OefVRSRkSCQo4HI82QVkAVsoGa5gSw==", + "dev": true, + "requires": { + "lodash._setbinddata": "~2.4.1", + "lodash.bind": "~2.4.1", + "lodash.identity": "~2.4.1", + "lodash.support": "~2.4.1" + } + }, + "lodash._basecreatewrapper": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._basecreatewrapper/-/lodash._basecreatewrapper-2.4.1.tgz", + "integrity": "sha512-x2ja1fa/qmzbizuXgVM4QAP9svtMbdxjG8Anl9bCeDAwLOVQ1vLrA0hLb/NkpbGi9evjtkl0aWLTEoOlUdBPQA==", + "dev": true, + "requires": { + "lodash._basecreate": "~2.4.1", + "lodash._setbinddata": "~2.4.1", + "lodash._slice": "~2.4.1", + "lodash.isobject": "~2.4.1" + } + }, + "lodash._createwrapper": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._createwrapper/-/lodash._createwrapper-2.4.1.tgz", + "integrity": "sha512-5TCfLt1haQpsa7bgLYRKNNE4yqhO4ZxIayN1btQmazMchO6Q8JYFRMqbJ3W+uNmMm4R0Jw7KGkZX5YfDDnywuw==", + "dev": true, + "requires": { + "lodash._basebind": "~2.4.1", + "lodash._basecreatewrapper": "~2.4.1", + "lodash._slice": "~2.4.1", + "lodash.isfunction": "~2.4.1" + } + }, + "lodash._getarray": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._getarray/-/lodash._getarray-2.4.1.tgz", + "integrity": "sha512-iIrScwY3atGvLVbQL/+CNUznaPwBJg78S/JO4cTUFXRkRsZgEBhscB27cVoT4tsIOUyFu/5M/0umfHNGJ6wYwg==", + "dev": true, + "requires": { + "lodash._arraypool": "~2.4.1" + } + }, + "lodash._isnative": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", + "integrity": "sha512-BOlKGKNHhCHswGOWtmVb5zBygyxN7EmTuzVOSQI6QSoGhG+kvv71gICFS1TBpnqvT1n53txK8CDK3u5D2/GZxQ==", + "dev": true + }, + "lodash._maxpoolsize": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._maxpoolsize/-/lodash._maxpoolsize-2.4.1.tgz", + "integrity": "sha512-xKDem1BxoIfcCtaJHotjtyfdIvZO9qrF+mv3G1+ngQmaI3MJt3Qm46i9HLk/CbzABbavUrr1/EomQT8KxtsrYA==", + "dev": true + }, + "lodash._objecttypes": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", + "integrity": "sha512-XpqGh1e7hhkOzftBfWE7zt+Yn9mVHFkDhicVttvKLsoCMLVVL+xTQjfjB4X4vtznauxv0QZ5ZAeqjvat0dh62Q==", + "dev": true + }, + "lodash._releasearray": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._releasearray/-/lodash._releasearray-2.4.1.tgz", + "integrity": "sha512-wwCwWX8PK/mYR5VZjcU5JFl6py/qrfLGMxzpKOfSqgA1PaZ6Z625CZLCxH1KsqyxSkOFmNm+mEYjeDpXlM4hrg==", + "dev": true, + "requires": { + "lodash._arraypool": "~2.4.1", + "lodash._maxpoolsize": "~2.4.1" + } + }, + "lodash._setbinddata": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._setbinddata/-/lodash._setbinddata-2.4.1.tgz", + "integrity": "sha512-Vx0XKzpg2DFbQw4wrp1xSWd2sfl3W/BG6bucSRZmftS1AzbWRemCmBQDxyQTNhlLNec428PXkuuja+VNBZgu2A==", + "dev": true, + "requires": { + "lodash._isnative": "~2.4.1", + "lodash.noop": "~2.4.1" + } + }, + "lodash._shimkeys": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", + "integrity": "sha512-lBrglYxLD/6KAJ8IEa5Lg+YHgNAL7FyKqXg4XOUI+Du/vtniLs1ZqS+yHNKPkK54waAgkdUnDOYaWf+rv4B+AA==", + "dev": true, + "requires": { + "lodash._objecttypes": "~2.4.1" + } + }, + "lodash._slice": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._slice/-/lodash._slice-2.4.1.tgz", + "integrity": "sha512-+odPJa4PE2UgYnQgJgkLs0UD03QU78R2ivhrFnG9GdtYOZdE6ObxOj7KiUEUlqOOgatFT+ZqSypFjDSduTigKg==", + "dev": true + }, + "lodash.assign": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-2.4.1.tgz", + "integrity": "sha512-AqQ4AJz5buSx9ELXWt5dONwJyVPd4NTADMKhoVYWCugjoVf172/LpvVhwmSJn4g8/Dc0S8hxTe8rt5Dob3X9KQ==", + "dev": true, + "requires": { + "lodash._basecreatecallback": "~2.4.1", + "lodash._objecttypes": "~2.4.1", + "lodash.keys": "~2.4.1" + } + }, + "lodash.bind": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-2.4.1.tgz", + "integrity": "sha512-hn2VWYZ+N9aYncRad4jORvlGgpFrn+axnPIWRvFxjk6CWcZH5b5alI8EymYsHITI23Z9wrW/+ORq+azrVFpOfw==", + "dev": true, + "requires": { + "lodash._createwrapper": "~2.4.1", + "lodash._slice": "~2.4.1" + } + }, + "lodash.clonedeep": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-2.4.1.tgz", + "integrity": "sha512-zj5vReFLkR+lJOBKP1wyteZ13zut/KSmXtdCBgxcy/m4UTitcBxpeVZT7gwk8BQrztPI5dIgO4bhBppXV4rpTQ==", + "dev": true, + "requires": { + "lodash._baseclone": "~2.4.1", + "lodash._basecreatecallback": "~2.4.1" + } + }, + "lodash.foreach": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-2.4.1.tgz", + "integrity": "sha512-AvOobAkE7qBtIiHU5QHQIfveWH5Usr9pIcFIzBv7u4S6bvb3FWpFrh9ltqBY7UeL5lw6e8d+SggiUXQVyh+FpA==", + "dev": true, + "requires": { + "lodash._basecreatecallback": "~2.4.1", + "lodash.forown": "~2.4.1" + } + }, + "lodash.forown": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.forown/-/lodash.forown-2.4.1.tgz", + "integrity": "sha512-VC+CKm/zSs5t3i/MHv71HZoQphuqOvez1xhjWBwHU5zAbsCYrqwHr+MyQyMk14HzA3hSRNA5lCqDMSw5G2Qscg==", + "dev": true, + "requires": { + "lodash._basecreatecallback": "~2.4.1", + "lodash._objecttypes": "~2.4.1", + "lodash.keys": "~2.4.1" + } + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "dev": true + }, + "lodash.identity": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.identity/-/lodash.identity-2.4.1.tgz", + "integrity": "sha512-VRYX+8XipeLjorag5bz3YBBRJ+5kj8hVBzfnaHgXPZAVTYowBdY5l0M5ZnOmlAMCOXBFabQtm7f5VqjMKEji0w==", + "dev": true + }, + "lodash.isarray": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-2.4.1.tgz", + "integrity": "sha512-yRDd0z+APziDqbk0MqR6Qfwj/Qn3jLxFJbI9U8MuvdTnqIXdZ5YXyGLnwuzCpZmjr26F1GNOjKLMMZ10i/wy6A==", + "dev": true, + "requires": { + "lodash._isnative": "~2.4.1" + } + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "dev": true + }, + "lodash.isfunction": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.4.1.tgz", + "integrity": "sha512-6XcAB3izeQxPOQQNAJbbdjXbvWEt2Pn9ezPrjr4CwoLwmqsLVbsiEXD19cmmt4mbzOCOCdHzOQiUivUOJLra7w==", + "dev": true + }, + "lodash.isobject": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", + "integrity": "sha512-sTebg2a1PoicYEZXD5PBdQcTlIJ6hUslrlWr7iV0O7n+i4596s2NQ9I5CaZ5FbXSfya/9WQsrYLANUJv9paYVA==", + "dev": true, + "requires": { + "lodash._objecttypes": "~2.4.1" + } + }, + "lodash.keys": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", + "integrity": "sha512-ZpJhwvUXHSNL5wYd1RM6CUa2ZuqorG9ngoJ9Ix5Cce+uX7I5O/E06FCJdhSZ33b5dVyeQDnIlWH7B2s5uByZ7g==", + "dev": true, + "requires": { + "lodash._isnative": "~2.4.1", + "lodash._shimkeys": "~2.4.1", + "lodash.isobject": "~2.4.1" + } + }, + "lodash.noop": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz", + "integrity": "sha512-uNcV98/blRhInPUGQEnj9ekXXfG+q+rfoNSFZgl/eBfog9yBDW9gfUv2AHX/rAF7zZRlzWhbslGhbGQFZlCkZA==", + "dev": true + }, + "lodash.support": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.support/-/lodash.support-2.4.1.tgz", + "integrity": "sha512-6SwqWwGFHhTXEiqB/yQgu8FYd//tm786d49y7kizHVCJH7zdzs191UQn3ES3tkkDbUddNRfkCRYqJFHtbLnbCw==", + "dev": true, + "requires": { + "lodash._isnative": "~2.4.1" + } + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "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" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "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" + } + }, + "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" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "multer": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4.tgz", + "integrity": "sha512-2wY2+xD4udX612aMqMcB8Ws2Voq6NIUPEtD1be6m411T4uDH/VtL9i//xvcyFlTVfRdaBsk7hV5tgrGQqhuBiw==", + "dev": true, + "requires": { + "append-field": "^1.0.0", + "busboy": "^0.2.11", + "concat-stream": "^1.5.2", + "mkdirp": "^0.5.4", + "object-assign": "^4.1.1", + "on-finished": "^2.3.0", + "type-is": "^1.6.4", + "xtend": "^4.0.0" + } + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "native-promise-only": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz", + "integrity": "sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg==", + "dev": true + }, + "next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "dev": true + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true + }, + "object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "pad-right": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/pad-right/-/pad-right-0.2.2.tgz", + "integrity": "sha512-4cy8M95ioIGolCoMmm2cMntGR1lPLEbOMzOKu8bzjuJP6JpzEMQcDHmh7hHLYGgob+nKe1YHFMaG4V59HQa89g==", + "dev": true, + "requires": { + "repeat-string": "^1.5.2" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==", + "dev": true, + "requires": { + "process": "^0.11.1", + "util": "^0.10.3" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-loader": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/path-loader/-/path-loader-1.0.12.tgz", + "integrity": "sha512-n7oDG8B+k/p818uweWrOixY9/Dsr89o2TkCm6tOTex3fpdo2+BFDgR+KpB37mGKBRsBAlR8CIJMFN0OEy/7hIQ==", + "dev": true, + "requires": { + "native-promise-only": "^0.8.1", + "superagent": "^7.1.6" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "formidable": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz", + "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==", + "dev": true, + "requires": { + "dezalgo": "^1.0.4", + "hexoid": "^1.0.0", + "once": "^1.4.0", + "qs": "^6.11.0" + } + }, + "mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "superagent": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.6.tgz", + "integrity": "sha512-gZkVCQR1gy/oUXr+kxJMLDjla434KmSOKbx5iGD30Ql+AkJQ/YlPKECJy2nhqOsHLjGHzoDTXNSjhnvWhzKk7g==", + "dev": true, + "requires": { + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.3", + "debug": "^4.3.4", + "fast-safe-stringify": "^2.1.1", + "form-data": "^4.0.0", + "formidable": "^2.0.1", + "methods": "^1.1.2", + "mime": "2.6.0", + "qs": "^6.10.3", + "readable-stream": "^3.6.0", + "semver": "^7.3.7" + } + } + } + }, + "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-to-regexp": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.4.0.tgz", + "integrity": "sha512-G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w==", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "prettyjson": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/prettyjson/-/prettyjson-1.2.5.tgz", + "integrity": "sha512-rksPWtoZb2ZpT5OVgtmy0KHVM+Dca3iVwWY9ifwhcexfjebtgjg3wmrUt9PvJ59XIYBcknQeYHD8IAnVlh9lAw==", + "dev": true, + "requires": { + "colors": "1.4.0", + "minimist": "^1.2.0" + } + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true + }, + "qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raw-body": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", + "integrity": "sha512-Ss0DsBxqLxCmQkfG5yazYhtbVVTJqS9jTsZG2lhrNwqzOk2SUC7O/NB/M//CkEBqsrtmlNgJCPccJGuYSFr6Vg==", + "dev": true, + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", + "unpipe": "1.0.0" + }, + "dependencies": { + "depd": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha512-Jlk9xvkTDGXwZiIDyoM7+3AsuvJVoyOpRupvEVy9nX3YO3/ieZxhlgh8GpLNZ8AY7HjO6y2YwpMSh1ejhu3uIw==", + "dev": true + }, + "http-errors": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", + "integrity": "sha512-STnYGcKMXL9CGdtpeTFnLmgMSHTTNQJSHxiC4DETHKf934Q160Ht5pljrNeH24S0O9xUN+9vsDJZdZtk5js6Ww==", + "dev": true, + "requires": { + "depd": "1.1.1", + "inherits": "2.0.3", + "setprototypeof": "1.0.3", + "statuses": ">= 1.3.1 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "setprototypeof": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", + "integrity": "sha512-9jphSf3UbIgpOX/RKvX02iw/rN2TKdusnsPpGfO/rkcsrd+IRqgHZb4VGnmL0Cynps8Nj2hN45wsi30BzrHDIw==", + "dev": true + } + } + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "reflect-metadata": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", + "dev": true + }, + "regexp-match-indices": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regexp-match-indices/-/regexp-match-indices-1.0.2.tgz", + "integrity": "sha512-DwZuAkt8NF5mKwGGER1EGh2PRqyvhRhhLviH+R8y8dIuaQROlUfXjt4s9ZTXstIsSkptf06BSvwcEmmfheJJWQ==", + "dev": true, + "requires": { + "regexp-tree": "^0.1.11" + } + }, + "regexp-tree": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + } + } + }, + "resolve": { + "version": "1.22.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", + "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "dev": true, + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.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-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg/-/resolve-pkg-2.0.0.tgz", + "integrity": "sha512-+1lzwXehGCXSeryaISr6WujZzowloigEofRB+dj75y9RRa/obVcYgbHJd53tdYw8pvZj8GojXaaENws8Ktw/hQ==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "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" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "seed-random": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/seed-random/-/seed-random-2.2.0.tgz", + "integrity": "sha512-34EQV6AAHQGhoc0tn/96a9Fsi6v2xdqe/dMUwljGRaFOzR3EgRmECvD0O8vi8X+/uQ50LGHfkNu/Eue5TPKZkQ==", + "dev": true + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "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-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "spark-md5": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/spark-md5/-/spark-md5-3.0.2.tgz", + "integrity": "sha512-wcFzz9cDfbuqe0FZzfi2or1sgyIrsDwmPwfZC4hiNidPdPINjeUwNfv5kldczoEAcjl9Y1L3SM7Uz2PUEQzxQw==", + "dev": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "stack-chain": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/stack-chain/-/stack-chain-2.0.0.tgz", + "integrity": "sha512-GGrHXePi305aW7XQweYZZwiRwR7Js3MWoK/EHzzB9ROdc75nCnjSJVi21rdAGxFl+yCx2L2qdfl5y7NO4lTyqg==", + "dev": true + }, + "stack-generator": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.10.tgz", + "integrity": "sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==", + "dev": true, + "requires": { + "stackframe": "^1.3.4" + } + }, + "stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "dev": true + }, + "stacktrace-gps": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/stacktrace-gps/-/stacktrace-gps-3.1.2.tgz", + "integrity": "sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==", + "dev": true, + "requires": { + "source-map": "0.5.6", + "stackframe": "^1.3.4" + }, + "dependencies": { + "source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==", + "dev": true + } + } + }, + "stacktrace-js": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stacktrace-js/-/stacktrace-js-2.0.2.tgz", + "integrity": "sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==", + "dev": true, + "requires": { + "error-stack-parser": "^2.0.6", + "stack-generator": "^2.0.5", + "stacktrace-gps": "^3.0.4" + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true + }, + "streamsearch": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", + "integrity": "sha512-jos8u++JKm0ARcSUTAZXOVC0mSox7Bhn6sBgty73P1f3JGf7yG2clTbBNHUdde/kdvP2FESam+vM6l8jBrNxHA==", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true + }, + "string-argv": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "superagent": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz", + "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", + "dev": true, + "requires": { + "component-emitter": "^1.2.0", + "cookiejar": "^2.1.0", + "debug": "^3.1.0", + "extend": "^3.0.0", + "form-data": "^2.3.1", + "formidable": "^1.2.0", + "methods": "^1.1.1", + "mime": "^1.4.1", + "qs": "^6.5.1", + "readable-stream": "^2.3.5" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "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 + }, + "swagger-converter": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/swagger-converter/-/swagger-converter-0.1.7.tgz", + "integrity": "sha512-O2hZbWqq8x6j0uZ4qWj5dw45WPoAxKsJLJZqOgTqRtPNi8IqA+rDkDV/48S8qanS3KGv1QcVoPNLivMbyHHdAQ==", + "dev": true, + "requires": { + "lodash.clonedeep": "^2.4.1" + } + }, + "swagger-tools": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/swagger-tools/-/swagger-tools-0.10.4.tgz", + "integrity": "sha512-VQpijIi8cpB/frUZOZlVpS7U3CrdSAZBfiHu448R1njiNXUnE7heF3Svz3qFBr5SYtaPvaqWpHMbvboirCXVzA==", + "dev": true, + "requires": { + "async": "^2.5.0", + "body-parser": "1.18.2", + "commander": "~2.11.0", + "debug": "^3.1.0", + "js-yaml": "^3.3.1", + "json-refs": "^3.0.2", + "lodash": "^4.17.4", + "multer": "^1.1.0", + "parseurl": "^1.3.0", + "path-to-regexp": "^2.0.0", + "qs": "^6.0.3", + "serve-static": "^1.10.0", + "spark-md5": "^3.0.0", + "superagent": "^3.5.2", + "swagger-converter": "^0.1.7", + "traverse": "^0.6.6", + "z-schema": "^3.15.4" + }, + "dependencies": { + "commander": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", + "dev": true + } + } + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "traverse": { + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz", + "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==", + "dev": true + }, + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true + }, + "upper-case-first": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz", + "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "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": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + } + } + }, + "util-arity": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/util-arity/-/util-arity-1.1.0.tgz", + "integrity": "sha512-kkyIsXKwemfSy8ZEoaIz06ApApnWsk5hQO0vLjZS6UkBiGiW++Jsyb8vSBoc0WKlffGoGs5yYy/j5pp8zckrFA==", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + }, + "validator": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-10.11.0.tgz", + "integrity": "sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw==", + "dev": true + }, + "verror": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.1.tgz", + "integrity": "sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "xpath.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xpath.js/-/xpath.js-1.1.0.tgz", + "integrity": "sha512-jg+qkfS4K8E7965sqaUl8mRngXiKb3WZGfONgE18pr03FUQiuSV6G+Ej4tS55B+rIQSFEIw3phdVAQ4pPqNWfQ==", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "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 + }, + "z-schema": { + "version": "3.25.1", + "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-3.25.1.tgz", + "integrity": "sha512-7tDlwhrBG+oYFdXNOjILSurpfQyuVgkRe3hB2q8TEssamDHB7BbLWYkYO98nTn0FibfdFroFKDjndbgufAgS/Q==", + "dev": true, + "requires": { + "commander": "^2.7.1", + "core-js": "^2.5.7", + "lodash.get": "^4.0.0", + "lodash.isequal": "^4.0.0", + "validator": "^10.0.0" + }, + "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, + "optional": true + } + } + } + } +} diff --git a/references/firestore-facade/package.json b/references/firestore-facade/package.json new file mode 100644 index 000000000..3ccf63f66 --- /dev/null +++ b/references/firestore-facade/package.json @@ -0,0 +1,11 @@ +{ + "name": "firestore-facade", + "version": "1.0.0", + "scripts": { + "test": "./node_modules/.bin/cucumber-js --publish-quiet test/integration/features" + }, + "devDependencies": { + "@cucumber/cucumber": "^7.3.0", + "apickli": "^3.0.1" + } +} diff --git a/references/firestore-facade/pipeline.sh b/references/firestore-facade/pipeline.sh new file mode 100755 index 000000000..510b53d95 --- /dev/null +++ b/references/firestore-facade/pipeline.sh @@ -0,0 +1,112 @@ +#!/bin/sh +# Copyright 2023 Google LLC +# +# 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. + +set -e + +SCRIPTPATH="$( cd "$(dirname "$0")" || exit >/dev/null 2>&1 ; pwd -P )" + +### script execution starts here... + +PROJECT_ID=$(gcloud config get-value project) + +# Manage optional variables +export PATH="$PATH:$SCRIPTPATH/../../tools/apigee-sackmesser/bin" + +# is Firestore mock enabled (=true) or not (=false) +IS_FIRESTORE_MOCK_ENABLED=${IS_FIRESTORE_MOCK_ENABLED:-true} +export IS_FIRESTORE_MOCK_ENABLED + +# set Firestore demo config +envsubst < "$SCRIPTPATH"/templates/AM-SetFirestoreMock.template.xml > "$SCRIPTPATH"/sf-firestore-facade-lookup-v1/sharedflowbundle/policies/AM-SetFirestoreMock.xml + +echo "[INFO] Deploying Google Firestore reference to Google API (For X/hybrid)" + +#token() { echo -n "$(gcloud config config-helper --force-auth-refresh --format json | jq -r '.credential.access_token')"; } +TOKEN=$(gcloud auth print-access-token) + +SA_EMAIL="apigee-firestore-sa@$APIGEE_X_ORG.iam.gserviceaccount.com" + +## Generate Service Account for Apigee shared flow +if [ -z "$(gcloud iam service-accounts list --filter "$SA_EMAIL" --format="value(email)" --project "$APIGEE_X_ORG")" ]; then + gcloud iam service-accounts create apigee-firestore-sa \ + --project "$APIGEE_X_ORG" +fi + +# If Firestore mock is enabled +if [ "$IS_FIRESTORE_MOCK_ENABLED" = "true" ];then + + # deploy Apigee sharedflows + sackmesser deploy --googleapi \ + -o "$APIGEE_X_ORG" \ + -e "$APIGEE_X_ENV" \ + -t "$TOKEN" \ + -h "$APIGEE_X_HOSTNAME" \ + -d "$SCRIPTPATH"/sf-firestore-facade-lookup-v1 \ + --debug \ + --deployment-sa "$SA_EMAIL" + + sackmesser deploy --googleapi \ + -o "$APIGEE_X_ORG" \ + -e "$APIGEE_X_ENV" \ + -t "$TOKEN" \ + -h "$APIGEE_X_HOSTNAME" \ + -d "$SCRIPTPATH"/sf-firestore-facade-populate-v1 \ + --deployment-sa "$SA_EMAIL" + + # deploy Apigee data proxy + sackmesser deploy --googleapi \ + -o "$APIGEE_X_ORG" \ + -e "$APIGEE_X_ENV" \ + -t "$TOKEN" \ + -h "$APIGEE_X_HOSTNAME" \ + -d "$SCRIPTPATH"/firestore-data-proxy-v1 + + cd "$SCRIPTPATH" && npm i --no-fund && TEST_HOST="$APIGEE_X_HOSTNAME" npm run test + +else + + # Create the service account that is used to invoke the Google firebase endpoint + gcloud projects add-iam-policy-binding "$PROJECT_ID" \ + --member="serviceAccount:$SA_EMAIL" \ + --role="roles/firebase.admin" + + # deploy Apigee sharedflows + sackmesser deploy --googleapi \ + -o "$APIGEE_X_ORG" \ + -e "$APIGEE_X_ENV" \ + -t "$TOKEN" \ + -h "$APIGEE_X_HOSTNAME" \ + -d "$SCRIPTPATH"/sf-firestore-facade-lookup-v1 \ + --deployment-sa "$SA_EMAIL" + + sackmesser deploy --googleapi \ + -o "$APIGEE_X_ORG" \ + -e "$APIGEE_X_ENV" \ + -t "$TOKEN" \ + -h "$APIGEE_X_HOSTNAME" \ + -d "$SCRIPTPATH"/sf-firestore-facade-populate-v1 \ + --deployment-sa "$SA_EMAIL" + + # deploy Apigee data proxy + sackmesser deploy --googleapi \ + -o "$APIGEE_X_ORG" \ + -e "$APIGEE_X_ENV" \ + -t "$TOKEN" \ + -h "$APIGEE_X_HOSTNAME" \ + -d "$SCRIPTPATH"/firestore-data-proxy-v1 + + echo "no tests run for custom Firestore reference configuration." + +fi \ No newline at end of file diff --git a/references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/policies/AM-Base64EncodePathInfo.xml b/references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/policies/AM-Base64EncodePathInfo.xml new file mode 100644 index 000000000..84ced3afd --- /dev/null +++ b/references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/policies/AM-Base64EncodePathInfo.xml @@ -0,0 +1,25 @@ + + + + + flow.basePath + + + + flow.pathSuffix + + + true + + \ No newline at end of file diff --git a/references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/policies/JS-SetFirebaseCacheVariables.xml b/references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/policies/JS-SetFirebaseCacheVariables.xml new file mode 100644 index 000000000..660e060eb --- /dev/null +++ b/references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/policies/JS-SetFirebaseCacheVariables.xml @@ -0,0 +1,16 @@ + + + + jsc://JS-SetFirebaseCacheVariables.js + \ No newline at end of file diff --git a/references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/policies/JS-SetFirebaseMockedCacheVariables.xml b/references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/policies/JS-SetFirebaseMockedCacheVariables.xml new file mode 100644 index 000000000..0e6656f52 --- /dev/null +++ b/references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/policies/JS-SetFirebaseMockedCacheVariables.xml @@ -0,0 +1,16 @@ + + + + jsc://JS-SetFirebaseMockedCacheVariables.js + \ No newline at end of file diff --git a/references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/policies/SC-Lookup-FirestoreCache.xml b/references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/policies/SC-Lookup-FirestoreCache.xml new file mode 100644 index 000000000..ab31bb424 --- /dev/null +++ b/references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/policies/SC-Lookup-FirestoreCache.xml @@ -0,0 +1,31 @@ + + + + + + GET + + + firestoreCacheResponse + + + + + https://www.googleapis.com/auth/cloud-platform + + + + https://firestore.googleapis.com/v1beta1/projects/{organization.name}/databases/(default)/documents/{flow.basePath}/{flow.pathSuffix} + + \ No newline at end of file diff --git a/references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/resources/jsc/JS-SetFirebaseCacheVariables.js b/references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/resources/jsc/JS-SetFirebaseCacheVariables.js new file mode 100644 index 000000000..ddf2b213e --- /dev/null +++ b/references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/resources/jsc/JS-SetFirebaseCacheVariables.js @@ -0,0 +1,28 @@ +/** + Copyright 2023 Google LLC + 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 + https://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. +*/ + +// has a content been retrieved from firestore cache or not ? +var isDataRetrievedFromCache = (context.getVariable('servicecallout.SC-Lookup-FirestoreCache.failed').toString().toLowerCase() === 'true'); +// set variable *** flow.lookup.iscontent.cached *** +context.setVariable('flow.lookup.iscontent.cached',!(isDataRetrievedFromCache)); + +var content = 'none'; +if ( !(isDataRetrievedFromCache) ) { + // get content as a string as this is what we want (a JSON stringified content!) + content = JSON.parse(context.getVariable('firestoreCacheResponse.content')).fields.data.stringValue; +} +// set variable *** flow.lookup.content.cached *** +context.setVariable('flow.lookup.content.cached',content); + +// set variable *** flow.lookup.status.code *** +context.setVariable('flow.lookup.status.code',context.getVariable("firestoreCacheResponse.status.code")); diff --git a/references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/resources/jsc/JS-SetFirebaseMockedCacheVariables.js b/references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/resources/jsc/JS-SetFirebaseMockedCacheVariables.js new file mode 100644 index 000000000..a3d0fdb39 --- /dev/null +++ b/references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/resources/jsc/JS-SetFirebaseMockedCacheVariables.js @@ -0,0 +1,28 @@ + /** + Copyright 2023 Google LLC + 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 + https://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. +*/ + +// set variable *** flow.lookup.iscontent.cached *** +context.setVariable('flow.lookup.iscontent.cached','true'); + +// mock content +var content = { + message: "mock content", + details: "content retrieved from mocked firestore db", + code: "FIRESTORE-MOCK001" +} + +// set variable *** flow.lookup.content.cached *** +context.setVariable('flow.lookup.content.cached',JSON.stringify(content)); + +// set variable *** flow.lookup.status.code *** +context.setVariable('flow.lookup.status.code',200); diff --git a/references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/sf-firestore-facade-lookup-v1.xml b/references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/sf-firestore-facade-lookup-v1.xml new file mode 100644 index 000000000..473b0fe83 --- /dev/null +++ b/references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/sf-firestore-facade-lookup-v1.xml @@ -0,0 +1,14 @@ + + + \ No newline at end of file diff --git a/references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/sharedflows/default.xml b/references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/sharedflows/default.xml new file mode 100644 index 000000000..2cb94cdfc --- /dev/null +++ b/references/firestore-facade/sf-firestore-facade-lookup-v1/sharedflowbundle/sharedflows/default.xml @@ -0,0 +1,34 @@ + + + + + AM-SetFirestoreMock + + + encodingType = "base64" + AM-Base64EncodePathInfo + + + flow.firestore.demo.enabled != "true" + SC-Lookup-FirestoreCache + + + flow.firestore.demo.enabled != "true" + JS-SetFirebaseCacheVariables + + + flow.firestore.demo.enabled = "true" + JS-SetFirebaseMockedCacheVariables + + \ No newline at end of file diff --git a/references/firestore-facade/sf-firestore-facade-populate-v1/sharedflowbundle/policies/AM-Base64EncodePathInfo.xml b/references/firestore-facade/sf-firestore-facade-populate-v1/sharedflowbundle/policies/AM-Base64EncodePathInfo.xml new file mode 100644 index 000000000..bde1352fe --- /dev/null +++ b/references/firestore-facade/sf-firestore-facade-populate-v1/sharedflowbundle/policies/AM-Base64EncodePathInfo.xml @@ -0,0 +1,29 @@ + + + + + flow.basePath + + + + flow.pathSuffix + + + + flow.jsonContentAsString + + + true + + \ No newline at end of file diff --git a/references/firestore-facade/sf-firestore-facade-populate-v1/sharedflowbundle/policies/JS-PopulateFirebase.xml b/references/firestore-facade/sf-firestore-facade-populate-v1/sharedflowbundle/policies/JS-PopulateFirebase.xml new file mode 100644 index 000000000..0be0e9431 --- /dev/null +++ b/references/firestore-facade/sf-firestore-facade-populate-v1/sharedflowbundle/policies/JS-PopulateFirebase.xml @@ -0,0 +1,16 @@ + + + + jsc://JS-PopulateFirebase.js + \ No newline at end of file diff --git a/references/firestore-facade/sf-firestore-facade-populate-v1/sharedflowbundle/policies/SC-PopulateCache.xml b/references/firestore-facade/sf-firestore-facade-populate-v1/sharedflowbundle/policies/SC-PopulateCache.xml new file mode 100644 index 000000000..45aca9610 --- /dev/null +++ b/references/firestore-facade/sf-firestore-facade-populate-v1/sharedflowbundle/policies/SC-PopulateCache.xml @@ -0,0 +1,39 @@ + + + + + + +
application/json
+
+ + {flow.pathSuffix} + + POST + {"fields": {"data": {"stringValue": "{flow.jsonContentAsString}"}}} +
+ false +
+ firestoreCacheResponse + + + + + https://www.googleapis.com/auth/cloud-platform + + + + https://firestore.googleapis.com/v1beta1/projects/{organization.name}/databases/(default)/documents/{flow.basePath}?documentId={flow.pathSuffix} + +
\ No newline at end of file diff --git a/references/firestore-facade/sf-firestore-facade-populate-v1/sharedflowbundle/resources/jsc/JS-PopulateFirebase.js b/references/firestore-facade/sf-firestore-facade-populate-v1/sharedflowbundle/resources/jsc/JS-PopulateFirebase.js new file mode 100644 index 000000000..b10f97584 --- /dev/null +++ b/references/firestore-facade/sf-firestore-facade-populate-v1/sharedflowbundle/resources/jsc/JS-PopulateFirebase.js @@ -0,0 +1,37 @@ +/** + Copyright 2023 Google LLC + 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 + https://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. +*/ + +// has a content been stored in firestore cache or not ? +var isDataStoredInCache = (context.getVariable('servicecallout.SC-PopulateCache.failed').toString().toLowerCase() === 'true'); +// set variable *** flow.populate.iscontent.cached *** +context.setVariable('flow.populate.iscontent.cached',!(isDataStoredInCache)); + +var content = 'none'; +if ( !(isDataStoredInCache) ) { + // get content as a string + content = JSON.parse(context.getVariable('firestoreCacheResponse.content')).fields.data.stringValue; +} +// set variable *** flow.populate.content.cached *** +context.setVariable('flow.populate.content.cached',content); + +// set variable *** flow.populate.status.code *** +context.setVariable('flow.populate.status.code',context.getVariable("firestoreCacheResponse.status.code")); + +// set variable *** flow.populate.keycache *** +context.setVariable('flow.populate.keycache',context.getVariable("flow.basePath")+'/'+context.getVariable("flow.pathSuffix")); + +// set variable *** flow.populate.documentid *** +context.setVariable('flow.populate.documentid',context.getVariable("flow.pathSuffix")); + +// set variable *** flow.populate.collectionid *** +context.setVariable('flow.populate.collectionid',context.getVariable("flow.basePath")); \ No newline at end of file diff --git a/references/firestore-facade/sf-firestore-facade-populate-v1/sharedflowbundle/sf-firestore-facade-populate-v1.xml b/references/firestore-facade/sf-firestore-facade-populate-v1/sharedflowbundle/sf-firestore-facade-populate-v1.xml new file mode 100644 index 000000000..6bbc7f5e4 --- /dev/null +++ b/references/firestore-facade/sf-firestore-facade-populate-v1/sharedflowbundle/sf-firestore-facade-populate-v1.xml @@ -0,0 +1,14 @@ + + + \ No newline at end of file diff --git a/references/firestore-facade/sf-firestore-facade-populate-v1/sharedflowbundle/sharedflows/default.xml b/references/firestore-facade/sf-firestore-facade-populate-v1/sharedflowbundle/sharedflows/default.xml new file mode 100644 index 000000000..2a938f6f8 --- /dev/null +++ b/references/firestore-facade/sf-firestore-facade-populate-v1/sharedflowbundle/sharedflows/default.xml @@ -0,0 +1,24 @@ + + + + + AM-Base64EncodePathInfo + + + SC-PopulateCache + + + JS-PopulateFirebase + + \ No newline at end of file diff --git a/references/firestore-facade/templates/AM-SetFirestoreMock.template.xml b/references/firestore-facade/templates/AM-SetFirestoreMock.template.xml new file mode 100644 index 000000000..8b6bfacac --- /dev/null +++ b/references/firestore-facade/templates/AM-SetFirestoreMock.template.xml @@ -0,0 +1,21 @@ + + + + + flow.firestore.demo.enabled + $IS_FIRESTORE_MOCK_ENABLED + + false + + \ No newline at end of file diff --git a/references/firestore-facade/test/integration/features/firestore-facade.feature b/references/firestore-facade/test/integration/features/firestore-facade.feature new file mode 100644 index 000000000..de7feb26a --- /dev/null +++ b/references/firestore-facade/test/integration/features/firestore-facade.feature @@ -0,0 +1,26 @@ +# Copyright 2023 Google LLC +# +# 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. + +@firestore-facade-end2end + +Feature: + As a Client App + I want to access an API exposed on Apigee that is connected with a Firestore db + So that I can retrieve data stored in the Firestore db + + Scenario: Client App Accesses the firestore-facade API exposed on Apigee + When I GET / + Then response code should be 200 + And response body should be valid json + And response body path $.code should be FIRESTORE-MOCK001 diff --git a/references/firestore-facade/test/integration/features/step_definitions/apickli-gherkin.js b/references/firestore-facade/test/integration/features/step_definitions/apickli-gherkin.js new file mode 100644 index 000000000..041ccc70e --- /dev/null +++ b/references/firestore-facade/test/integration/features/step_definitions/apickli-gherkin.js @@ -0,0 +1,18 @@ +/** + Copyright 2023 Google LLC + + 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 + + https://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. + +*/ +module.exports = require('apickli/apickli-gherkin') + diff --git a/references/firestore-facade/test/integration/features/step_definitions/init.js b/references/firestore-facade/test/integration/features/step_definitions/init.js new file mode 100644 index 000000000..a913fbe73 --- /dev/null +++ b/references/firestore-facade/test/integration/features/step_definitions/init.js @@ -0,0 +1,27 @@ +/** + Copyright 2022 Google LLC + 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 + https://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. +*/ +const apickli = require('apickli') +const { + Before, + setDefaultTimeout +} = require('@cucumber/cucumber') + +const clientId = process.env.TEST_APP_CONSUMER_KEY +const basePath = '/v1/firestore' + +Before(function() { + this.apickli = new apickli.Apickli('https', process.env.TEST_HOST + basePath) + this.apickli.scenarioVariables.clientId = clientId +}) + +setDefaultTimeout(60 * 1000)