From 4842d331ad8b4f09f14ed78cd9093b568e53f7c3 Mon Sep 17 00:00:00 2001 From: Randy Thomas Date: Mon, 22 May 2023 08:49:46 -0500 Subject: [PATCH] Added the nodejs-rest-http-crud application for the ch02s02 practice --- nodejs-rest-http-crud/.eslintrc | 13 + .../.nodeshift/credentials-secret.yml | 7 + .../.nodeshift/deployment.yml | 35 + nodejs-rest-http-crud/.nodeshift/route.yml | 5 + .../postgresql-template-persistent.json | 554 + .../.openshift/postgresql-template.json | 530 + nodejs-rest-http-crud/CHANGELOG.md | 126 + nodejs-rest-http-crud/LICENSE | 201 + nodejs-rest-http-crud/OTEL.md | 58 + nodejs-rest-http-crud/README.md | 57 + nodejs-rest-http-crud/app.js | 61 + nodejs-rest-http-crud/images/jaeger.png | Bin 0 -> 75503 bytes nodejs-rest-http-crud/images/kubeadmin.png | Bin 0 -> 117998 bytes nodejs-rest-http-crud/images/operator.png | Bin 0 -> 64962 bytes nodejs-rest-http-crud/images/topology.png | Bin 0 -> 57596 bytes nodejs-rest-http-crud/lib/api/fruits.js | 31 + nodejs-rest-http-crud/lib/db/index.js | 67 + nodejs-rest-http-crud/lib/routes/fruits.js | 78 + .../lib/validations/index.js | 32 + nodejs-rest-http-crud/logger.js | 3 + nodejs-rest-http-crud/package-lock.json | 15826 ++++++++++++++++ nodejs-rest-http-crud/package.json | 63 + nodejs-rest-http-crud/public/index.html | 174 + nodejs-rest-http-crud/test/fruits-api-test.js | 50 + nodejs-rest-http-crud/test/fruits-test.js | 641 + nodejs-rest-http-crud/tracing.js | 35 + 26 files changed, 18647 insertions(+) create mode 100644 nodejs-rest-http-crud/.eslintrc create mode 100644 nodejs-rest-http-crud/.nodeshift/credentials-secret.yml create mode 100644 nodejs-rest-http-crud/.nodeshift/deployment.yml create mode 100644 nodejs-rest-http-crud/.nodeshift/route.yml create mode 100644 nodejs-rest-http-crud/.openshift/postgresql-template-persistent.json create mode 100644 nodejs-rest-http-crud/.openshift/postgresql-template.json create mode 100644 nodejs-rest-http-crud/CHANGELOG.md create mode 100644 nodejs-rest-http-crud/LICENSE create mode 100644 nodejs-rest-http-crud/OTEL.md create mode 100644 nodejs-rest-http-crud/README.md create mode 100644 nodejs-rest-http-crud/app.js create mode 100644 nodejs-rest-http-crud/images/jaeger.png create mode 100644 nodejs-rest-http-crud/images/kubeadmin.png create mode 100644 nodejs-rest-http-crud/images/operator.png create mode 100644 nodejs-rest-http-crud/images/topology.png create mode 100644 nodejs-rest-http-crud/lib/api/fruits.js create mode 100644 nodejs-rest-http-crud/lib/db/index.js create mode 100644 nodejs-rest-http-crud/lib/routes/fruits.js create mode 100644 nodejs-rest-http-crud/lib/validations/index.js create mode 100644 nodejs-rest-http-crud/logger.js create mode 100644 nodejs-rest-http-crud/package-lock.json create mode 100644 nodejs-rest-http-crud/package.json create mode 100644 nodejs-rest-http-crud/public/index.html create mode 100644 nodejs-rest-http-crud/test/fruits-api-test.js create mode 100644 nodejs-rest-http-crud/test/fruits-test.js create mode 100644 nodejs-rest-http-crud/tracing.js diff --git a/nodejs-rest-http-crud/.eslintrc b/nodejs-rest-http-crud/.eslintrc new file mode 100644 index 0000000..2479b0f --- /dev/null +++ b/nodejs-rest-http-crud/.eslintrc @@ -0,0 +1,13 @@ +{ + "extends": "semistandard", + "rules": { + "prefer-const": "error", + "block-scoped-var": "error", + "prefer-template": "warn", + "no-unneeded-ternary": "warn", + "no-use-before-define": [ + "error", + "nofunc" + ] + } +} diff --git a/nodejs-rest-http-crud/.nodeshift/credentials-secret.yml b/nodejs-rest-http-crud/.nodeshift/credentials-secret.yml new file mode 100644 index 0000000..98d3c25 --- /dev/null +++ b/nodejs-rest-http-crud/.nodeshift/credentials-secret.yml @@ -0,0 +1,7 @@ +apiVersion: "v1" +kind: "Secret" +metadata: + name: "my-database-secret" +stringData: + user: "luke" + password: "secret" diff --git a/nodejs-rest-http-crud/.nodeshift/deployment.yml b/nodejs-rest-http-crud/.nodeshift/deployment.yml new file mode 100644 index 0000000..ef00d33 --- /dev/null +++ b/nodejs-rest-http-crud/.nodeshift/deployment.yml @@ -0,0 +1,35 @@ +spec: + template: + spec: + containers: + - env: + - name: DB_USERNAME + valueFrom: + secretKeyRef: + name: my-database-secret + key: user + - name: DB_PASSWORD + valueFrom: + secretKeyRef: + name: my-database-secret + key: password + readinessProbe: + httpGet: + path: /ready + port: 8080 + scheme: HTTP + failureThreshold: 3 + initialDelaySeconds: 10 + periodSeconds: 5 + successThreshold: 1 + timeoutSeconds: 1 + livenessProbe: + httpGet: + path: /live + port: 8080 + scheme: HTTP + failureThreshold: 2 + initialDelaySeconds: 60 + periodSeconds: 3 + successThreshold: 1 + timeoutSeconds: 1 diff --git a/nodejs-rest-http-crud/.nodeshift/route.yml b/nodejs-rest-http-crud/.nodeshift/route.yml new file mode 100644 index 0000000..b0df452 --- /dev/null +++ b/nodejs-rest-http-crud/.nodeshift/route.yml @@ -0,0 +1,5 @@ +spec: + port: + targetPort: 8080 + to: + kind: Service diff --git a/nodejs-rest-http-crud/.openshift/postgresql-template-persistent.json b/nodejs-rest-http-crud/.openshift/postgresql-template-persistent.json new file mode 100644 index 0000000..1a79be0 --- /dev/null +++ b/nodejs-rest-http-crud/.openshift/postgresql-template-persistent.json @@ -0,0 +1,554 @@ +{ + "kind": "Template", + "apiVersion": "template.openshift.io/v1", + "metadata": { + "name": "nodejs-postgresql-persistent", + "annotations": { + "openshift.io/display-name": "Node.js + PostgreSQL", + "description": "An example Node.js application with a PostgreSQL database. For more information about using this template, including OpenShift considerations, see https://github.com/nodeshift-starters/nodejs-rest-http-crud/blob/master/README.md.", + "tags": "quickstart,nodejs", + "iconClass": "icon-nodejs", + "openshift.io/long-description": "This template defines resources needed to develop a NodeJS application, including a build configuration, application deployment configuration, and database deployment configuration.", + "openshift.io/provider-display-name": "Red Hat, Inc.", + "openshift.io/documentation-url": "https://github.com/nodeshift-starters/nodejs-rest-http-crud", + "openshift.io/support-url": "https://access.redhat.com", + "template.openshift.io/bindable": "false" + } + }, + "message": "The following service(s) have been created in your project: ${NAME}, ${DATABASE_SERVICE_NAME}.\n\nFor more information about using this template, including OpenShift considerations, see https://github.com/nodeshift-starters/nodejs-rest-http-crud/blob/master/README.md.", + "labels": { + "template": "nodejs-postgresql-persistent", + "app": "nodejs-postgresql-persistent" + }, + "objects": [ + { + "kind": "Secret", + "apiVersion": "v1", + "metadata": { + "name": "${NAME}" + }, + "stringData": { + "database-user": "${DATABASE_USER}", + "database-password": "${DATABASE_PASSWORD}", + "database-admin-password" : "${DATABASE_ADMIN_PASSWORD}" + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "metadata": { + "name": "${NAME}", + "annotations": { + "description": "Exposes and load balances the application pods", + "service.alpha.openshift.io/dependencies": "[{\"name\": \"${DATABASE_SERVICE_NAME}\", \"kind\": \"Service\"}]" + } + }, + "spec": { + "ports": [ + { + "name": "web", + "port": 8080, + "targetPort": 8080 + } + ], + "selector": { + "name": "${NAME}" + } + } + }, + { + "kind": "Route", + "apiVersion": "route.openshift.io/v1", + "metadata": { + "name": "${NAME}" + }, + "spec": { + "host": "${APPLICATION_DOMAIN}", + "to": { + "kind": "Service", + "name": "${NAME}" + } + } + }, + { + "kind": "ImageStream", + "apiVersion": "image.openshift.io/v1", + "metadata": { + "name": "${NAME}", + "annotations": { + "description": "Keeps track of changes in the application image" + } + } + }, + { + "kind": "BuildConfig", + "apiVersion": "build.openshift.io/v1", + "metadata": { + "name": "${NAME}", + "annotations": { + "description": "Defines how to build the application", + "template.alpha.openshift.io/wait-for-ready": "true" + } + }, + "spec": { + "source": { + "type": "Git", + "git": { + "uri": "${SOURCE_REPOSITORY_URL}", + "ref": "${SOURCE_REPOSITORY_REF}" + }, + "contextDir": "${CONTEXT_DIR}" + }, + "strategy": { + "type": "Source", + "sourceStrategy": { + "from": { + "kind": "ImageStreamTag", + "namespace": "${NAMESPACE}", + "name": "nodejs:${NODEJS_VERSION}" + }, + "env": [ + { + "name": "NPM_MIRROR", + "value": "${NPM_MIRROR}" + } + ] + } + }, + "output": { + "to": { + "kind": "ImageStreamTag", + "name": "${NAME}:latest" + } + }, + "triggers": [ + { + "type": "ImageChange" + }, + { + "type": "ConfigChange" + }, + { + "type": "GitHub", + "github": { + "secret": "${GITHUB_WEBHOOK_SECRET}" + } + }, + { + "type": "Generic", + "generic": { + "secret": "${GENERIC_WEBHOOK_SECRET}" + } + } + ], + "postCommit": {} + } + }, + { + "kind": "DeploymentConfig", + "apiVersion": "apps.openshift.io/v1", + "metadata": { + "name": "${NAME}", + "labels": { + "app.openshift.io/runtime": "nodejs" + }, + "annotations": { + "description": "Defines how to deploy the application server", + "template.alpha.openshift.io/wait-for-ready": "true" + } + }, + "spec": { + "strategy": { + "type": "Recreate" + }, + "triggers": [ + { + "type": "ImageChange", + "imageChangeParams": { + "automatic": true, + "containerNames": [ + "nodejs-postgresql-persistent" + ], + "from": { + "kind": "ImageStreamTag", + "name": "${NAME}:latest" + } + } + }, + { + "type": "ConfigChange" + } + ], + "replicas": 1, + "selector": { + "name": "${NAME}" + }, + "template": { + "metadata": { + "name": "${NAME}", + "labels": { + "name": "${NAME}", + "app.openshift.io/runtime": "nodejs" + } + }, + "spec": { + "containers": [ + { + "name": "nodejs-postgresql-persistent", + "image": " ", + "ports": [ + { + "containerPort": 8080 + } + ], + "env": [ + { + "name": "DATABASE_SERVICE_NAME", + "value": "${DATABASE_SERVICE_NAME}" + }, + { + "name": "POSTGRESQL_USER", + "valueFrom": { + "secretKeyRef" : { + "name" : "${NAME}", + "key" : "database-user" + } + } + }, + { + "name": "POSTGRESQL_PASSWORD", + "valueFrom": { + "secretKeyRef" : { + "name" : "${NAME}", + "key" : "database-password" + } + } + }, + { + "name": "POSTGRESQL_DATABASE", + "value": "${DATABASE_NAME}" + }, + { + "name": "POSTGRESQL_ADMIN_PASSWORD", + "valueFrom": { + "secretKeyRef" : { + "name" : "${NAME}", + "key" : "database-admin-password" + } + } + } + ], + "readinessProbe": { + "timeoutSeconds": 3, + "initialDelaySeconds": 3, + "httpGet": { + "path": "/", + "port": 8080 + } + }, + "livenessProbe": { + "timeoutSeconds": 3, + "initialDelaySeconds": 30, + "httpGet": { + "path": "/", + "port": 8080 + } + }, + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + } + } + ] + } + } + } + }, + { + "kind": "PersistentVolumeClaim", + "apiVersion": "v1", + "metadata": { + "name": "${DATABASE_SERVICE_NAME}" + }, + "spec": { + "accessModes": [ + "ReadWriteOnce" + ], + "resources": { + "requests": { + "storage": "${VOLUME_CAPACITY}" + } + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "metadata": { + "name": "${DATABASE_SERVICE_NAME}", + "annotations": { + "description": "Exposes the database server" + } + }, + "spec": { + "ports": [ + { + "name": "postgresql", + "port": 5432, + "targetPort": 5432 + } + ], + "selector": { + "name": "${DATABASE_SERVICE_NAME}" + } + } + }, + { + "kind": "DeploymentConfig", + "apiVersion": "apps.openshift.io/v1", + "metadata": { + "name": "${DATABASE_SERVICE_NAME}", + "annotations": { + "description": "Defines how to deploy the database", + "template.alpha.openshift.io/wait-for-ready": "true" + } + }, + "spec": { + "strategy": { + "type": "Recreate" + }, + "triggers": [ + { + "type": "ImageChange", + "imageChangeParams": { + "automatic": true, + "containerNames": [ + "postgresql" + ], + "from": { + "kind": "ImageStreamTag", + "namespace": "${NAMESPACE}", + "name": "postgresql:${POSTGRESQL_VERSION}" + } + } + }, + { + "type": "ConfigChange" + } + ], + "replicas": 1, + "selector": { + "name": "${DATABASE_SERVICE_NAME}" + }, + "template": { + "metadata": { + "name": "${DATABASE_SERVICE_NAME}", + "labels": { + "name": "${DATABASE_SERVICE_NAME}" + } + }, + "spec": { + "containers": [ + { + "name": "postgresql", + "image": " ", + "ports": [ + { + "containerPort": 5432 + } + ], + "env": [ + { + "name": "POSTGRESQL_USER", + "valueFrom": { + "secretKeyRef" : { + "name" : "${NAME}", + "key" : "database-user" + } + } + }, + { + "name": "POSTGRESQL_PASSWORD", + "valueFrom": { + "secretKeyRef" : { + "name" : "${NAME}", + "key" : "database-password" + } + } + }, + { + "name": "POSTGRESQL_DATABASE", + "value": "${DATABASE_NAME}" + }, + { + "name": "POSTGRESQL_ADMIN_PASSWORD", + "valueFrom": { + "secretKeyRef" : { + "name" : "${NAME}", + "key" : "database-admin-password" + } + } + } + ], + "livenessProbe": { + "timeoutSeconds": 1, + "initialDelaySeconds": 30, + "tcpSocket": { + "port": 5432 + } + }, + "resources": { + "limits": { + "memory": "${MEMORY_POSTGRESQL_LIMIT}" + } + }, + "volumeMounts": [ + { + "name": "${DATABASE_SERVICE_NAME}-data", + "mountPath": "/var/lib/pgsql/data" + } + ] + } + ], + "volumes": [ + { + "name": "${DATABASE_SERVICE_NAME}-data", + "persistentVolumeClaim": { + "claimName": "${DATABASE_SERVICE_NAME}" + } + } + ] + } + } + } + } + ], + "parameters": [ + { + "name": "NAME", + "displayName": "Name", + "description": "The name assigned to all of the frontend objects defined in this template.", + "required": true, + "value": "nodejs-postgresql-persistent" + }, + { + "name": "NAMESPACE", + "displayName": "Namespace", + "description": "The OpenShift Namespace where the ImageStream resides.", + "required": true, + "value": "openshift" + }, + { + "name": "NODEJS_VERSION", + "displayName": "Version of NodeJS Image", + "description": "Version of NodeJS image to be used (14-ubi8, 16-ubi8, or latest).", + "value": "16-ubi8", + "required": true + }, + { + "name": "POSTGRESQL_VERSION", + "displayName": "Version of PostgreSQL Image", + "description": "Version of PostgreSQL image to be used (12-el8, or latest).", + "value": "12-el8", + "required": true + }, + { + "name": "MEMORY_LIMIT", + "displayName": "Memory Limit", + "description": "Maximum amount of memory the Node.js container can use.", + "required": true, + "value": "256Mi" + }, + { + "name": "MEMORY_POSTGRESQL_LIMIT", + "displayName": "Memory Limit (PostgreSQL)", + "description": "Maximum amount of memory the PostgreSQL container can use.", + "required": true, + "value": "256Mi" + }, + { + "name": "VOLUME_CAPACITY", + "displayName": "Volume Capacity", + "description": "Volume space available for data, e.g. 512Mi, 2Gi", + "value": "1Gi", + "required": true + }, + { + "name": "SOURCE_REPOSITORY_URL", + "displayName": "Git Repository URL", + "description": "The URL of the repository with your application source code.", + "required": true, + "value": "https://github.com/nodeshift-starters/nodejs-rest-http-crud.git" + }, + { + "name": "SOURCE_REPOSITORY_REF", + "displayName": "Git Reference", + "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." + }, + { + "name": "CONTEXT_DIR", + "displayName": "Context Directory", + "description": "Set this to the relative path to your project if it is not in the root of your repository." + }, + { + "name": "APPLICATION_DOMAIN", + "displayName": "Application Hostname", + "description": "The exposed hostname that will route to the Node.js service, if left blank a value will be defaulted.", + "value": "" + }, + { + "name": "GITHUB_WEBHOOK_SECRET", + "displayName": "GitHub Webhook Secret", + "description": "Github trigger secret. A difficult to guess string encoded as part of the webhook URL. Not encrypted.", + "generate": "expression", + "from": "[a-zA-Z0-9]{40}" + }, + { + "name": "GENERIC_WEBHOOK_SECRET", + "displayName": "Generic Webhook Secret", + "description": "A secret string used to configure the Generic webhook.", + "generate": "expression", + "from": "[a-zA-Z0-9]{40}" + }, + { + "name": "DATABASE_SERVICE_NAME", + "displayName": "Database Service Name", + "required": true, + "value": "postgresql" + }, + { + "name": "DATABASE_USER", + "displayName": "PostgreSQL Username", + "description": "Username for PostgreSQL user that will be used for accessing the database.", + "generate": "expression", + "from": "user[A-Z0-9]{3}" + }, + { + "name": "DATABASE_PASSWORD", + "displayName": "PostgreSQL Password", + "description": "Password for the PostgreSQL user.", + "generate": "expression", + "from": "[a-zA-Z0-9]{16}" + }, + { + "name": "DATABASE_NAME", + "displayName": "Database Name", + "required": true, + "value": "my_data" + }, + { + "name": "DATABASE_ADMIN_PASSWORD", + "displayName": "Database Administrator Password", + "description": "Password for the database admin user.", + "generate": "expression", + "from": "[a-zA-Z0-9]{16}" + }, + { + "name": "NPM_MIRROR", + "displayName": "Custom NPM Mirror URL", + "description": "The custom NPM mirror URL", + "value": "" + } + ] +} diff --git a/nodejs-rest-http-crud/.openshift/postgresql-template.json b/nodejs-rest-http-crud/.openshift/postgresql-template.json new file mode 100644 index 0000000..a8ce448 --- /dev/null +++ b/nodejs-rest-http-crud/.openshift/postgresql-template.json @@ -0,0 +1,530 @@ +{ + "kind": "Template", + "apiVersion": "template.openshift.io/v1", + "metadata": { + "name": "nodejs-postgresql-example", + "annotations": { + "openshift.io/display-name": "Node.js + PostgreSQL (Ephemeral)", + "description": "An example Node.js application with a PostgreSQL database. For more information about using this template, including OpenShift considerations, see https://github.com/nodeshift-starters/nodejs-rest-http-crud/blob/master/README.md.\n\nWARNING: Any data stored will be lost upon pod destruction. Only use this template for testing.", + "tags": "quickstart,nodejs", + "iconClass": "icon-nodejs", + "openshift.io/long-description": "This template defines resources needed to develop a NodeJS application, including a build configuration, application deployment configuration, and database deployment configuration. The database is stored in non-persistent storage, so this configuration should be used for experimental purposes only.", + "openshift.io/provider-display-name": "Red Hat, Inc.", + "openshift.io/documentation-url": "https://github.com/nodeshift-starters/nodejs-rest-http-crud", + "openshift.io/support-url": "https://access.redhat.com", + "template.openshift.io/bindable": "false" + } + }, + "message": "The following service(s) have been created in your project: ${NAME}, ${DATABASE_SERVICE_NAME}.\n\nFor more information about using this template, including OpenShift considerations, see https://github.com/nodeshift-starters/nodejs-rest-http-crud/blob/master/README.md.", + "labels": { + "template": "nodejs-postgresql-example", + "app": "nodejs-postgresql-example" + }, + "objects": [ + { + "kind": "Secret", + "apiVersion": "v1", + "metadata": { + "name": "${NAME}" + }, + "stringData": { + "database-user": "${DATABASE_USER}", + "database-password": "${DATABASE_PASSWORD}", + "database-admin-password" : "${DATABASE_ADMIN_PASSWORD}" + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "metadata": { + "name": "${NAME}", + "annotations": { + "description": "Exposes and load balances the application pods", + "service.alpha.openshift.io/dependencies": "[{\"name\": \"${DATABASE_SERVICE_NAME}\", \"kind\": \"Service\"}]" + } + }, + "spec": { + "ports": [ + { + "name": "web", + "port": 8080, + "targetPort": 8080 + } + ], + "selector": { + "name": "${NAME}" + } + } + }, + { + "kind": "Route", + "apiVersion": "route.openshift.io/v1", + "metadata": { + "name": "${NAME}" + }, + "spec": { + "host": "${APPLICATION_DOMAIN}", + "to": { + "kind": "Service", + "name": "${NAME}" + } + } + }, + { + "kind": "ImageStream", + "apiVersion": "image.openshift.io/v1", + "metadata": { + "name": "${NAME}", + "annotations": { + "description": "Keeps track of changes in the application image" + } + } + }, + { + "kind": "BuildConfig", + "apiVersion": "build.openshift.io/v1", + "metadata": { + "name": "${NAME}", + "annotations": { + "description": "Defines how to build the application", + "template.alpha.openshift.io/wait-for-ready": "true" + } + }, + "spec": { + "source": { + "type": "Git", + "git": { + "uri": "${SOURCE_REPOSITORY_URL}", + "ref": "${SOURCE_REPOSITORY_REF}" + }, + "contextDir": "${CONTEXT_DIR}" + }, + "strategy": { + "type": "Source", + "sourceStrategy": { + "from": { + "kind": "ImageStreamTag", + "namespace": "${NAMESPACE}", + "name": "nodejs:${NODEJS_VERSION}" + }, + "env": [ + { + "name": "NPM_MIRROR", + "value": "${NPM_MIRROR}" + } + ] + } + }, + "output": { + "to": { + "kind": "ImageStreamTag", + "name": "${NAME}:latest" + } + }, + "triggers": [ + { + "type": "ImageChange" + }, + { + "type": "ConfigChange" + }, + { + "type": "GitHub", + "github": { + "secret": "${GITHUB_WEBHOOK_SECRET}" + } + }, + { + "type": "Generic", + "generic": { + "secret": "${GENERIC_WEBHOOK_SECRET}" + } + } + ], + "postCommit": {} + } + }, + { + "kind": "DeploymentConfig", + "apiVersion": "apps.openshift.io/v1", + "metadata": { + "name": "${NAME}", + "labels": { + "app.openshift.io/runtime": "nodejs" + }, + "annotations": { + "description": "Defines how to deploy the application server", + "template.alpha.openshift.io/wait-for-ready": "true" + } + }, + "spec": { + "strategy": { + "type": "Recreate" + }, + "triggers": [ + { + "type": "ImageChange", + "imageChangeParams": { + "automatic": true, + "containerNames": [ + "nodejs-postgresql-example" + ], + "from": { + "kind": "ImageStreamTag", + "name": "${NAME}:latest" + } + } + }, + { + "type": "ConfigChange" + } + ], + "replicas": 1, + "selector": { + "name": "${NAME}" + }, + "template": { + "metadata": { + "name": "${NAME}", + "labels": { + "name": "${NAME}", + "app.openshift.io/runtime": "nodejs" + } + }, + "spec": { + "containers": [ + { + "name": "nodejs-postgresql-example", + "image": " ", + "ports": [ + { + "containerPort": 8080 + } + ], + "env": [ + { + "name": "DATABASE_SERVICE_NAME", + "value": "${DATABASE_SERVICE_NAME}" + }, + { + "name": "POSTGRESQL_USER", + "valueFrom": { + "secretKeyRef" : { + "name" : "${NAME}", + "key" : "database-user" + } + } + }, + { + "name": "POSTGRESQL_PASSWORD", + "valueFrom": { + "secretKeyRef" : { + "name" : "${NAME}", + "key" : "database-password" + } + } + }, + { + "name": "POSTGRESQL_DATABASE", + "value": "${DATABASE_NAME}" + }, + { + "name": "POSTGRESQL_ADMIN_PASSWORD", + "valueFrom": { + "secretKeyRef" : { + "name" : "${NAME}", + "key" : "database-admin-password" + } + } + } + ], + "readinessProbe": { + "timeoutSeconds": 3, + "initialDelaySeconds": 3, + "httpGet": { + "path": "/", + "port": 8080 + } + }, + "livenessProbe": { + "timeoutSeconds": 3, + "initialDelaySeconds": 30, + "httpGet": { + "path": "/", + "port": 8080 + } + }, + "resources": { + "limits": { + "memory": "${MEMORY_LIMIT}" + } + } + } + ] + } + } + } + }, + { + "kind": "Service", + "apiVersion": "v1", + "metadata": { + "name": "${DATABASE_SERVICE_NAME}", + "annotations": { + "description": "Exposes the database server" + } + }, + "spec": { + "ports": [ + { + "name": "postgresql", + "port": 5432, + "targetPort": 5432 + } + ], + "selector": { + "name": "${DATABASE_SERVICE_NAME}" + } + } + }, + { + "kind": "DeploymentConfig", + "apiVersion": "apps.openshift.io/v1", + "metadata": { + "name": "${DATABASE_SERVICE_NAME}", + "annotations": { + "description": "Defines how to deploy the database", + "template.alpha.openshift.io/wait-for-ready": "true" + } + }, + "spec": { + "strategy": { + "type": "Recreate" + }, + "triggers": [ + { + "type": "ImageChange", + "imageChangeParams": { + "automatic": true, + "containerNames": [ + "postgresql" + ], + "from": { + "kind": "ImageStreamTag", + "namespace": "${NAMESPACE}", + "name": "postgresql:${POSTGRESQL_VERSION}" + } + } + }, + { + "type": "ConfigChange" + } + ], + "replicas": 1, + "selector": { + "name": "${DATABASE_SERVICE_NAME}" + }, + "template": { + "metadata": { + "name": "${DATABASE_SERVICE_NAME}", + "labels": { + "name": "${DATABASE_SERVICE_NAME}" + } + }, + "spec": { + "containers": [ + { + "name": "postgresql", + "image": " ", + "ports": [ + { + "containerPort": 5432 + } + ], + "env": [ + { + "name": "POSTGRESQL_USER", + "valueFrom": { + "secretKeyRef" : { + "name" : "${NAME}", + "key" : "database-user" + } + } + }, + { + "name": "POSTGRESQL_PASSWORD", + "valueFrom": { + "secretKeyRef" : { + "name" : "${NAME}", + "key" : "database-password" + } + } + }, + { + "name": "POSTGRESQL_DATABASE", + "value": "${DATABASE_NAME}" + }, + { + "name": "POSTGRESQL_ADMIN_PASSWORD", + "valueFrom": { + "secretKeyRef" : { + "name" : "${NAME}", + "key" : "database-admin-password" + } + } + } + ], + "livenessProbe": { + "timeoutSeconds": 1, + "initialDelaySeconds": 30, + "tcpSocket": { + "port": 5432 + } + }, + "resources": { + "limits": { + "memory": "${MEMORY_POSTGRESQL_LIMIT}" + } + }, + "volumeMounts": [ + { + "name": "${DATABASE_SERVICE_NAME}-data", + "mountPath": "/var/lib/postgresql/data" + } + ] + } + ], + "volumes": [ + { + "name": "${DATABASE_SERVICE_NAME}-data", + "emptyDir": { + "medium": "" + } + } + ] + } + } + } + } + ], + "parameters": [ + { + "name": "NAME", + "displayName": "Name", + "description": "The name assigned to all of the frontend objects defined in this template.", + "required": true, + "value": "nodejs-postgresql-example" + }, + { + "name": "NAMESPACE", + "displayName": "Namespace", + "description": "The OpenShift Namespace where the ImageStream resides.", + "required": true, + "value": "openshift" + }, + { + "name": "NODEJS_VERSION", + "displayName": "Version of NodeJS Image", + "description": "Version of NodeJS image to be used (14-ubi8, 16-ubi8, or latest).", + "value": "16-ubi8", + "required": true + }, + { + "name": "POSTGRESQL_VERSION", + "displayName": "Version of PostgreSQL Image", + "description": "Version of PostgreSQL image to be used (12-el8, or latest).", + "value": "12-el8", + "required": true + }, + { + "name": "MEMORY_LIMIT", + "displayName": "Memory Limit", + "description": "Maximum amount of memory the Node.js container can use.", + "required": true, + "value": "256Mi" + }, + { + "name": "MEMORY_POSTGRESQL_LIMIT", + "displayName": "Memory Limit (PostgreSQL)", + "description": "Maximum amount of memory the PostgreSQL container can use.", + "required": true, + "value": "256Mi" + }, + { + "name": "SOURCE_REPOSITORY_URL", + "displayName": "Git Repository URL", + "description": "The URL of the repository with your application source code.", + "required": true, + "value": "https://github.com/nodeshift-starters/nodejs-rest-http-crud.git" + }, + { + "name": "SOURCE_REPOSITORY_REF", + "displayName": "Git Reference", + "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." + }, + { + "name": "CONTEXT_DIR", + "displayName": "Context Directory", + "description": "Set this to the relative path to your project if it is not in the root of your repository." + }, + { + "name": "APPLICATION_DOMAIN", + "displayName": "Application Hostname", + "description": "The exposed hostname that will route to the Node.js service, if left blank a value will be defaulted.", + "value": "" + }, + { + "name": "GITHUB_WEBHOOK_SECRET", + "displayName": "GitHub Webhook Secret", + "description": "Github trigger secret. A difficult to guess string encoded as part of the webhook URL. Not encrypted.", + "generate": "expression", + "from": "[a-zA-Z0-9]{40}" + }, + { + "name": "GENERIC_WEBHOOK_SECRET", + "displayName": "Generic Webhook Secret", + "description": "A secret string used to configure the Generic webhook.", + "generate": "expression", + "from": "[a-zA-Z0-9]{40}" + }, + { + "name": "DATABASE_SERVICE_NAME", + "displayName": "Database Service Name", + "required": true, + "value": "postgresql" + }, + { + "name": "DATABASE_USER", + "displayName": "PostgreSQL Username", + "description": "Username for PostgreSQL user that will be used for accessing the database.", + "generate": "expression", + "from": "user[A-Z0-9]{3}" + }, + { + "name": "DATABASE_PASSWORD", + "displayName": "PostgreSQL Password", + "description": "Password for the PostgreSQL user.", + "generate": "expression", + "from": "[a-zA-Z0-9]{16}" + }, + { + "name": "DATABASE_NAME", + "displayName": "Database Name", + "required": true, + "value": "my_data" + }, + { + "name": "DATABASE_ADMIN_PASSWORD", + "displayName": "Database Administrator Password", + "description": "Password for the database admin user.", + "generate": "expression", + "from": "[a-zA-Z0-9]{16}" + }, + { + "name": "NPM_MIRROR", + "displayName": "Custom NPM Mirror URL", + "description": "The custom NPM mirror URL", + "value": "" + } + ] +} diff --git a/nodejs-rest-http-crud/CHANGELOG.md b/nodejs-rest-http-crud/CHANGELOG.md new file mode 100644 index 0000000..750f686 --- /dev/null +++ b/nodejs-rest-http-crud/CHANGELOG.md @@ -0,0 +1,126 @@ +# Changelog + +All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + +## [4.0.0](https://github.com/nodeshift-starters/nodejs-rest-http-crud/compare/v3.0.3...v4.0.0) (2020-11-26) + + +### Features + +* Add a full template to be used by the Openshift Catalog. ([#188](https://github.com/nodeshift-starters/nodejs-rest-http-crud/issues/188)) ([2640126](https://github.com/nodeshift-starters/nodejs-rest-http-crud/commit/2640126e52dc27da90a232f1ae9b0238fd1f1d68)) +* upgrade pg from 7.15.1 to 8.2.2 ([#184](https://github.com/nodeshift-starters/nodejs-rest-http-crud/issues/184)) ([ef18358](https://github.com/nodeshift-starters/nodejs-rest-http-crud/commit/ef18358281cf8b696b0091fbae049a916fcdc7f1)) + + +### Bug Fixes + +* package.json & package-lock.json to reduce vulnerabilities ([#173](https://github.com/nodeshift-starters/nodejs-rest-http-crud/issues/173)) ([1b8fafe](https://github.com/nodeshift-starters/nodejs-rest-http-crud/commit/1b8fafe89451bf895b1618d917b99c1138b00095)) +* package.json & package-lock.json to reduce vulnerabilities ([#175](https://github.com/nodeshift-starters/nodejs-rest-http-crud/issues/175)) ([acd9095](https://github.com/nodeshift-starters/nodejs-rest-http-crud/commit/acd90959959209071323cbe5037d6d4058666963)) +* package.json & package-lock.json to reduce vulnerabilities ([#186](https://github.com/nodeshift-starters/nodejs-rest-http-crud/issues/186)) ([7aa67a2](https://github.com/nodeshift-starters/nodejs-rest-http-crud/commit/7aa67a2d2d19b34300ec672ec4abb123e16fe585)) +* upgrade coveralls from 3.0.11 to 3.1.0 ([#180](https://github.com/nodeshift-starters/nodejs-rest-http-crud/issues/180)) ([d79e3bc](https://github.com/nodeshift-starters/nodejs-rest-http-crud/commit/d79e3bc26b26ba056091ce069d908988ccf37a20)) +* upgrade coveralls from 3.0.9 to 3.0.11 ([#169](https://github.com/nodeshift-starters/nodejs-rest-http-crud/issues/169)) ([2509773](https://github.com/nodeshift-starters/nodejs-rest-http-crud/commit/250977306cb7f3097032f115a8da1f5f79a8dd04)) +* upgrade debug from 4.1.1 to 4.2.0 ([#171](https://github.com/nodeshift-starters/nodejs-rest-http-crud/issues/171)) ([d980577](https://github.com/nodeshift-starters/nodejs-rest-http-crud/commit/d98057794b53c3adea7bbb5f810faf1bc1a2f066)) +* upgrade kube-probe from 0.4.0 to 0.5.0 ([#182](https://github.com/nodeshift-starters/nodejs-rest-http-crud/issues/182)) ([a963814](https://github.com/nodeshift-starters/nodejs-rest-http-crud/commit/a96381403401f0b1f38e34ef3734b07d473003aa)) +* upgrade nodeshift from 6.0.2 to 6.2.0 ([#181](https://github.com/nodeshift-starters/nodejs-rest-http-crud/issues/181)) ([82990b8](https://github.com/nodeshift-starters/nodejs-rest-http-crud/commit/82990b851fa266b16baecba03b3c4bfc37508fe8)) +* upgrade xo from 0.32.1 to 0.33.0 ([#187](https://github.com/nodeshift-starters/nodejs-rest-http-crud/issues/187)) ([bb2e5aa](https://github.com/nodeshift-starters/nodejs-rest-http-crud/commit/bb2e5aabd0ec41c6ccbdd7e05b8a07465a20be2f)) + +### [3.0.3](https://github.com/nodeshift-starters/nodejs-rest-http-crud/compare/v3.0.2...v3.0.3) (2020-04-27) + +### [3.0.2](https://github.com/nodeshift-starters/nodejs-rest-http-crud/compare/v3.0.1...v3.0.2) (2019-11-26) + +### [3.0.1](https://github.com/nodeshift-starters/nodejs-rest-http-crud/compare/v3.0.0...v3.0.1) (2019-08-07) + + + +# [3.0.0](https://github.com/nodeshift-starters/nodejs-rest-http-crud/compare/v2.1.2...v3.0.0) (2019-05-29) + + +### Features + +* Update to use Node.js 12.x ([a931332](https://github.com/nodeshift-starters/nodejs-rest-http-crud/commit/a931332)) + + +### BREAKING CHANGES + +* start using node 12 + + + + +## [2.1.1](https://github.com/nodeshift-starters/nodejs-rest-http-crud/compare/v2.1.0...v2.1.1) (2019-01-17) + + +### Bug Fixes + +* Fix resource limit for db and app container ([#119](https://github.com/nodeshift-starters/nodejs-rest-http-crud/issues/119)) ([457b678](https://github.com/nodeshift-starters/nodejs-rest-http-crud/commit/457b678)) + + + + +# [2.1.0](https://github.com/nodeshift-starters/nodejs-rest-http-crud/compare/v2.0.1...v2.1.0) (2018-11-12) + + +### Features + +* Dynamic image tagging using release version ([#116](https://github.com/nodeshift-starters/nodejs-rest-http-crud/issues/116)) ([2d16701](https://github.com/nodeshift-starters/nodejs-rest-http-crud/commit/2d16701)) + + + + +## [2.0.1](https://github.com/nodeshift-starters/nodejs-rest-http-crud/compare/v2.0.0...v2.0.1) (2018-11-08) + + +### Bug Fixes + +* travis-ci should use npm install instead of npm ci ([2a01609](https://github.com/nodeshift-starters/nodejs-rest-http-crud/commit/2a01609)) + + + + +# [2.0.0](https://github.com/nodeshift-starters/nodejs-rest-http-crud/compare/v1.2.3...v2.0.0) (2018-05-16) + + +### Features + +* start using node.js 10. ([0cb3a13](https://github.com/nodeshift-starters/nodejs-rest-http-crud/commit/0cb3a13)), closes [#96](https://github.com/nodeshift-starters/nodejs-rest-http-crud/issues/96) + + + + +## [1.2.3](https://github.com/nodeshift-starters/nodejs-rest-http-crud/compare/v1.2.2...v1.2.3) (2018-04-26) + + +### Bug Fixes + +* use the main prop for the application entry point. ([4768897](https://github.com/nodeshift-starters/nodejs-rest-http-crud/commit/4768897)), closes [nodeshift-starters/centos7-s2i-nodejs#33](https://github.com/nodeshift-starters/centos7-s2i-nodejs/issues/33) [#issuecomment-382587104](https://github.com/nodeshift-starters/nodejs-rest-http-crud/issues/issuecomment-382587104) [#93](https://github.com/nodeshift-starters/nodejs-rest-http-crud/issues/93) +* **www:** debug should take the project name as a parameter ([fe3380e](https://github.com/nodeshift-starters/nodejs-rest-http-crud/commit/fe3380e)) + + + + +## [1.2.2](https://github.com/nodeshift-starters/nodejs-rest-http-crud/compare/v1.2.1...v1.2.2) (2018-04-16) + + + + +## [1.2.1](https://github.com/nodeshift-starters/nodejs-rest-http-crud/compare/v1.2.0...v1.2.1) (2018-03-07) + + +### Bug Fixes + +* **package:** need to run the licenser after the version bump ([8fe160f](https://github.com/nodeshift-starters/nodejs-rest-http-crud/commit/8fe160f)) + + + + +# [1.2.0](https://github.com/nodeshift-starters/nodejs-rest-http-crud/compare/v1.1.1...v1.2.0) (2018-03-07) + + +### Bug Fixes + +* creating a item should return the newly created value. ([#81](https://github.com/nodeshift-starters/nodejs-rest-http-crud/issues/81)) ([d5a8bc1](https://github.com/nodeshift-starters/nodejs-rest-http-crud/commit/d5a8bc1)), closes [#79](https://github.com/nodeshift-starters/nodejs-rest-http-crud/issues/79) +* **application.yaml:** docker tag should be 8.x ([5ba5a77](https://github.com/nodeshift-starters/nodejs-rest-http-crud/commit/5ba5a77)) + + +### Features + +* **package:** Move nsp check from prepare step to an optional script. ([#78](https://github.com/nodeshift-starters/nodejs-rest-http-crud/issues/78)) ([914a763](https://github.com/nodeshift-starters/nodejs-rest-http-crud/commit/914a763)), closes [#77](https://github.com/nodeshift-starters/nodejs-rest-http-crud/issues/77) diff --git a/nodejs-rest-http-crud/LICENSE b/nodejs-rest-http-crud/LICENSE new file mode 100644 index 0000000..8dada3e --- /dev/null +++ b/nodejs-rest-http-crud/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/nodejs-rest-http-crud/OTEL.md b/nodejs-rest-http-crud/OTEL.md new file mode 100644 index 0000000..da3caa8 --- /dev/null +++ b/nodejs-rest-http-crud/OTEL.md @@ -0,0 +1,58 @@ +## OpenTelemetry with OpenShift Distributed Tracing Platform + +Start OpenShift local and create a new project. + +``` +$ crc setup +$ crc start +$ eval $(crc oc-env) +$ oc login -u developer +$ oc new-project opentelemetry-js-rhosdt +``` +### Install the OpenShift Distributed Tracing Platform Operator + +1. Login as kubeadmin +2. Go to OperatorHub +3. Search for Jaeger +4. Click on `Red Hat OpenShift distributed tracing platform` and follow the instructions to install. + +![kubeadmin-login-operatorhub](images/kubeadmin.png) + +5. Login as developer, go to Topology and add the Jaeger Operator to the project. + +![operator](images/operator.png) + +![jaeger](images/jaeger.png) + +![topology](images/topology.png) + +6. Configure the URL for the JaegerExporter endpoint + +``` +❯ oc get svc +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +jaeger-all-in-one-inmemory-agent ClusterIP None 5775/UDP,5778/TCP,6831/UDP,6832/UDP 2m16s +jaeger-all-in-one-inmemory-collector ClusterIP 10.217.5.57 9411/TCP,14250/TCP,14267/TCP,14268/TCP,4317/TCP,4318/TCP 2m16s +jaeger-all-in-one-inmemory-collector-headless ClusterIP None 9411/TCP,14250/TCP,14267/TCP,14268/TCP,4317/TCP,4318/TCP 2m16s +jaeger-all-in-one-inmemory-query ClusterIP 10.217.5.219 443/TCP,16685/TCP 2m16s +``` + +We are going to use `jaeger-all-in-one-inmemory-collector` + +our namespace service `opentelemetry-js-rhosdt.svc` for the + `JaegerExporter` endpoint. + +Resulting in the following: + +(content from the [tracing.js](./tracing.js) file) +```js +const exporter = new JaegerExporter({ + endpoint: 'http://jaeger-all-in-one-inmemory-collector.opentelemetry-js-rhosdt.svc:14268/api/traces' +}); +``` + +7. Deploy the example to OpenShift local + +``` +npm install +npm run openshift:enable:trace +``` diff --git a/nodejs-rest-http-crud/README.md b/nodejs-rest-http-crud/README.md new file mode 100644 index 0000000..4b98837 --- /dev/null +++ b/nodejs-rest-http-crud/README.md @@ -0,0 +1,57 @@ + +![Node.js CI](https://github.com/nodeshift-starters/nodejs-rest-http-crud/workflows/ci/badge.svg) +[![Coverage Status](https://coveralls.io/repos/github/nodeshift-starters/nodejs-rest-http-crud/badge.svg?branch=master)](https://coveralls.io/github/nodeshift-starters/nodejs-rest-http-crud?branch=master) + +Example CRUD Application + +### Getting Started + +#### Running Locally + +First, install the dependencies + +`npm install` + +A Postgres DB is needed, so if you are using Docker, then you can start a postgres db easily. + +`docker run --name os-postgres-db -e POSTGRESQL_USER=luke -e POSTGRESQL_PASSWORD=secret -e POSTGRESQL_DATABASE=my_data -d -p 5432:5432 centos/postgresql-10-centos7` + +In this example, the db user is `luke`, the password is `secret` and the database is `my_data` + +You can then start the application like this: + +`DB_USERNAME=luke DB_PASSWORD=secret ./bin/www` + + +Then go to http://localhost:8080 + + +Other options: + +* `npm run dev` same as `npm start` but with pretty output log. +* `npm run dev:debug` shows debug information. + + +#### Running on Openshift + +First, make sure you have an instance of Openshift setup and are logged in using `oc login`. + +Then create a new project using the `oc` commands + +`oc new-project fun-node-fun` + +For this example, you will also need a postgres db running on your Openshift cluster. + +`oc new-app -e POSTGRESQL_USER=luke -ePOSTGRESQL_PASSWORD=secret -ePOSTGRESQL_DATABASE=my_data centos/postgresql-10-centos7 --name=my-database` + +Then run `npm run openshift` to deploy your app + +Run the following command to show the newly exposed route that you can navigate: +``` +oc get route nodejs-rest-http-crud +NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD +nodejs-rest-http-crud nodejs-rest-http-crud-opentel.apps-crc.testing nodejs-rest-http-crud 8080 None +``` +#### Running on Openshift with traces enabled + +* [Read more](./OTEL.md) diff --git a/nodejs-rest-http-crud/app.js b/nodejs-rest-http-crud/app.js new file mode 100644 index 0000000..11c2a0a --- /dev/null +++ b/nodejs-rest-http-crud/app.js @@ -0,0 +1,61 @@ +'use strict'; + +/* + * + * Copyright 2016-2017 Red Hat, Inc, and individual contributors. + * + * 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. + * + */ + +const logger = require('./logger.js'); +const path = require('path'); +const express = require('express'); +const bodyParser = require('body-parser'); + +const app = express(); + +const db = require('./lib/db'); + +const fruits = require('./lib/routes/fruits'); + +app.use(bodyParser.json()); +app.use((error, request, response, next) => { + if (request.body === '' || (error instanceof SyntaxError && error.type === 'entity.parse.failed')) { + response.status(415); + return response.send('Invalid payload!'); + } + + next(); +}); +app.use(bodyParser.urlencoded({ extended: false })); +app.use(express.static(path.join(__dirname, 'public'))); + +app.use('/api', fruits); + +// Add a health check +app.use('/ready', (request, response) => { + return response.sendStatus(200); +}); + +app.use('/live', (request, response) => { + return response.sendStatus(200); +}); + +db.init().then(() => { + logger.info('Database init\'d'); +}).catch(error => { + logger.error(error); +}); + +module.exports = app; diff --git a/nodejs-rest-http-crud/images/jaeger.png b/nodejs-rest-http-crud/images/jaeger.png new file mode 100644 index 0000000000000000000000000000000000000000..e9a00e9095b12e265d2fc070eb253a64e4ca6a2e GIT binary patch literal 75503 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 literal 0 HcmV?d00001 diff --git a/nodejs-rest-http-crud/images/kubeadmin.png b/nodejs-rest-http-crud/images/kubeadmin.png new file mode 100644 index 0000000000000000000000000000000000000000..85c261f88fb6e6d09ef144e75a5aa5cc89281201 GIT binary patch literal 117998 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ðf{R-W?o0fml}^V-UC`EZ{_ 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 epy?_o9&1plO~k%17T=qUfB(Id$F`#Cs5ZKsbtC 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 XzQ9+;jXl^K{bXdM6dx5zJoEowa8&Oi literal 0 HcmV?d00001 diff --git a/nodejs-rest-http-crud/lib/api/fruits.js b/nodejs-rest-http-crud/lib/api/fruits.js new file mode 100644 index 0000000..0734b68 --- /dev/null +++ b/nodejs-rest-http-crud/lib/api/fruits.js @@ -0,0 +1,31 @@ +'use strict'; + +const db = require('../db'); + +function find (id) { + return db.query('SELECT * FROM products WHERE id = $1', [id]); +} + +function findAll () { + return db.query('SELECT * FROM products'); +} + +function create (name, stock) { + return db.query('INSERT INTO products (name, stock) VALUES ($1, $2) RETURNING *', [name, stock]); +} + +function update (options = {}) { + return db.query('UPDATE products SET name = $1, stock = $2 WHERE id = $3', [options.name, options.stock, options.id]); +} + +function remove (id) { + return db.query('DELETE FROM products WHERE id = $1', [id]); +} + +module.exports = { + find, + findAll, + create, + update, + remove +}; diff --git a/nodejs-rest-http-crud/lib/db/index.js b/nodejs-rest-http-crud/lib/db/index.js new file mode 100644 index 0000000..57e12fe --- /dev/null +++ b/nodejs-rest-http-crud/lib/db/index.js @@ -0,0 +1,67 @@ +'use strict'; + +const logger = require('../../logger.js'); + +const serviceBindings = require('kube-service-bindings'); +const { Pool } = require('pg'); + +let connectionOptions; +try { + connectionOptions = serviceBindings.getBinding('POSTGRESQL', 'pg'); +} catch (err) { + const serviceHost = process.env.MY_DATABASE_SERVICE_HOST || process.env.POSTGRESQL_SERVICE_HOST || 'localhost'; + const user = process.env.DB_USERNAME || process.env.POSTGRESQL_USER || 'luke'; + const password = process.env.DB_PASSWORD || process.env.POSTGRESQL_PASSWORD || 'secret'; + const databaseName = process.env.POSTGRESQL_DATABASE || 'my_data'; + const connectionString = `postgresql://${user}:${password}@${serviceHost}:5432/${databaseName}`; + connectionOptions = { connectionString }; +} + +const pool = new Pool(connectionOptions); + +async function didInitHappen () { + const query = 'select * from products'; + + try { + await pool.query(query); + logger.info('Database Already Created'); + return true; + } catch (err) { + return false; + } +} + +// -- Create the products table if not present +const initScript = `CREATE TABLE IF NOT EXISTS products ( + id SERIAL PRIMARY KEY, + name VARCHAR(40) NOT NULL, + stock BIGINT +); + +DELETE FROM products; + +INSERT INTO products (name, stock) values ('Apple', 10); +INSERT INTO products (name, stock) values ('Orange', 10); +INSERT INTO products (name, stock) values ('Pear', 10);`; + +async function query (text, parameters) { + // Check that we have initialized the DB on each Query request + const initHappened = await didInitHappen(); + if (!initHappened) { + await init(); + } + + return pool.query(text, parameters); +} + +async function init () { + const initHappened = await didInitHappen(); + if (!initHappened) { + return pool.query(initScript); + } +} + +module.exports = { + query, + init +}; diff --git a/nodejs-rest-http-crud/lib/routes/fruits.js b/nodejs-rest-http-crud/lib/routes/fruits.js new file mode 100644 index 0000000..2713044 --- /dev/null +++ b/nodejs-rest-http-crud/lib/routes/fruits.js @@ -0,0 +1,78 @@ +'use strict'; + +const logger = require('../../logger.js'); + +const express = require('express'); +/* eslint new-cap: "warn" */ +const router = express.Router(); + +const validations = require('../validations'); +const fruits = require('../api/fruits'); + +router.get('/fruits/:id', (request, response) => { + const { id } = request.params; + + fruits.find(id).then(result => { + if (result.rowCount === 0) { + response.status(404); + return response.send(`Item ${id} not found`); + } + + return response.send(result.rows[0]); + }).catch(() => { + response.sendStatus(400); + }); +}); + +router.get('/fruits', (request, response) => { + fruits.findAll().then(results => { + response.send(results.rows); + }).catch(error => { + logger.error(error); + response.sendStatus(400); + }); +}); + +router.post('/fruits', validations.validateCreateUpdateRequest, (request, response) => { + const { name, stock } = request.body; + return fruits.create(name, stock).then(result => { + response.status(201); + return response.send(result.rows[0]); + }).catch(error => { + response.status(400); + response.send(error); + }); +}); + +router.put('/fruits/:id', validations.validateCreateUpdateRequest, (request, response) => { + const { name, stock } = request.body; + const { id } = request.params; + fruits.update({ name, stock, id }).then(result => { + if (result.rowCount === 0) { + response.status(404); + return response.send(`Unknown item ${id}`); + } + + return response.sendStatus(204); + }).catch(error => { + response.status(400); + response.send(error); + }); +}); + +router.delete('/fruits/:id', (request, response) => { + const { id } = request.params; + fruits.remove(id).then(result => { + if (result.rowCount === 0) { + response.status(404); + return response.send(`Unknown item ${id}`); + } + + return response.sendStatus(204); + }).catch(error => { + response.status(400); + response.send(error); + }); +}); + +module.exports = router; diff --git a/nodejs-rest-http-crud/lib/validations/index.js b/nodejs-rest-http-crud/lib/validations/index.js new file mode 100644 index 0000000..55ce006 --- /dev/null +++ b/nodejs-rest-http-crud/lib/validations/index.js @@ -0,0 +1,32 @@ +'use strict'; + +function validateCreateUpdateRequest (request, response, next) { + if (Object.keys(request.body).length === 0) { + response.status(415); + return response.send('Invalid payload!'); + } + + // No need to check for no body, express will make body an empty object + const { name, stock, id } = request.body; + + if (!name) { + response.status(422); + return response.send('The name is required!'); + } + + if (stock === null || isNaN(stock) || stock < 0) { + response.status(422); + return response.send('The stock must be greater or equal to 0!'); + } + + if (id && id !== request.params.id) { + response.status(422); + return response.send('Id was invalidly set on request.'); + } + + next(); +} + +module.exports = { + validateCreateUpdateRequest +}; diff --git a/nodejs-rest-http-crud/logger.js b/nodejs-rest-http-crud/logger.js new file mode 100644 index 0000000..0c965ad --- /dev/null +++ b/nodejs-rest-http-crud/logger.js @@ -0,0 +1,3 @@ +const pino = require('pino'); + +module.exports = pino({}); diff --git a/nodejs-rest-http-crud/package-lock.json b/nodejs-rest-http-crud/package-lock.json new file mode 100644 index 0000000..5e50ff3 --- /dev/null +++ b/nodejs-rest-http-crud/package-lock.json @@ -0,0 +1,15826 @@ +{ + "name": "nodejs-rest-http-crud", + "version": "4.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "nodejs-rest-http-crud", + "version": "4.0.0", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/api": "^1.2.0", + "@opentelemetry/exporter-jaeger": "^1.6.0", + "@opentelemetry/instrumentation": "^0.33.0", + "@opentelemetry/instrumentation-express": "^0.31.3", + "@opentelemetry/instrumentation-http": "^0.33.0", + "@opentelemetry/instrumentation-pg": "^0.32.0", + "@opentelemetry/resources": "^1.6.0", + "@opentelemetry/sdk-trace-base": "^1.9.1", + "@opentelemetry/sdk-trace-node": "^1.6.0", + "@opentelemetry/semantic-conventions": "^1.6.0", + "body-parser": "^1.20.1", + "express": "~4.18.1", + "kube-service-bindings": "^2.1.0", + "pg": "^8.7.3", + "pino": "^8.7.0" + }, + "devDependencies": { + "eslint": "^8.33.0", + "eslint-config-semistandard": "^17.0.0", + "mocha": "^10.1.0", + "nodeshift": "^8.7.0", + "nyc": "~15.1.0", + "proxyquire": "~2.1.3", + "standard-version": "^9.5.0", + "supertest": "^6.3.3" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.3.tgz", + "integrity": "sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", + "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.3", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.3", + "@babel/types": "^7.19.3", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/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/@babel/core/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/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.3.tgz", + "integrity": "sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.19.3", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz", + "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.19.3", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dev": true, + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", + "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.18.6", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", + "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", + "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", + "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/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/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.3.tgz", + "integrity": "sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.3.tgz", + "integrity": "sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.19.3", + "@babel/types": "^7.19.3", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/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/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/traverse/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/@babel/types": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.3.tgz", + "integrity": "sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.18.10", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@balena/dockerignore": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@balena/dockerignore/-/dockerignore-1.0.2.tgz", + "integrity": "sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==", + "dev": true + }, + "node_modules/@eslint/eslintrc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", + "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.4.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/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/@eslint/eslintrc/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/@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/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/@humanwhocodes/config-array/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/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@hutson/parse-repository-url": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz", + "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/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/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/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/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/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/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", + "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@kubernetes/client-node": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@kubernetes/client-node/-/client-node-0.10.2.tgz", + "integrity": "sha512-JvsmxbTwiMqsh9LyuXMzT5HjoENFbB3a/JroJsobuAzkxN162UqAOvg++/AA+ccIMWRR2Qln4FyaOJ0a4eKyXg==", + "dev": true, + "dependencies": { + "@types/js-yaml": "^3.12.1", + "@types/node": "^10.12.0", + "@types/request": "^2.47.1", + "@types/underscore": "^1.8.9", + "@types/ws": "^6.0.1", + "isomorphic-ws": "^4.0.1", + "js-yaml": "^3.13.1", + "json-stream": "^1.0.0", + "jsonpath-plus": "^0.19.0", + "request": "^2.88.0", + "shelljs": "^0.8.2", + "tslib": "^1.9.3", + "underscore": "^1.9.1", + "ws": "^6.1.0" + } + }, + "node_modules/@kubernetes/client-node/node_modules/@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", + "dev": true + }, + "node_modules/@kubernetes/client-node/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/@kubernetes/client-node/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/@kubernetes/client-node/node_modules/ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dev": true, + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@opentelemetry/api": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.2.0.tgz", + "integrity": "sha512-0nBr+VZNKm9tvNDZFstI3Pq1fCTEDK5OZTnVKNvBNAKgd0yIvmwsP4m61rEv7ZP+tOUjWJhROpxK5MsnlF911g==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@opentelemetry/api-metrics": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api-metrics/-/api-metrics-0.33.0.tgz", + "integrity": "sha512-78evfPRRRnJA6uZ3xuBuS3VZlXTO/LRs+Ff1iv3O/7DgibCtq9k27T6Zlj8yRdJDFmcjcbQrvC0/CpDpWHaZYA==", + "dependencies": { + "@opentelemetry/api": "^1.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@opentelemetry/context-async-hooks": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.7.0.tgz", + "integrity": "sha512-g4bMzyVW5dVBeMkyadaf3NRFpmNrdD4Pp9OJsrP29HwIam/zVMNfIWQpT5IBzjtTSMhl/ED5YQYR+UOSjVq3sQ==", + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.3.0" + } + }, + "node_modules/@opentelemetry/core": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.7.0.tgz", + "integrity": "sha512-AVqAi5uc8DrKJBimCTFUT4iFI+5eXpo4sYmGbQ0CypG0piOTHE2g9c5aSoTGYXu3CzOmJZf7pT6Xh+nwm5d6yQ==", + "dependencies": { + "@opentelemetry/semantic-conventions": "1.7.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.3.0" + } + }, + "node_modules/@opentelemetry/exporter-jaeger": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-jaeger/-/exporter-jaeger-1.7.0.tgz", + "integrity": "sha512-Hq7FO7X6bqAHiXq/7aZ6yrSn9fkPQnEyFHfsIEU+pwUJey5YJkplc0LfvTBbLEqoLOkJewbUgSvP5WTz55oSpw==", + "dependencies": { + "@opentelemetry/core": "1.7.0", + "@opentelemetry/sdk-trace-base": "1.7.0", + "@opentelemetry/semantic-conventions": "1.7.0", + "jaeger-client": "^3.15.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0" + } + }, + "node_modules/@opentelemetry/exporter-jaeger/node_modules/@opentelemetry/sdk-trace-base": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.7.0.tgz", + "integrity": "sha512-Iz84C+FVOskmauh9FNnj4+VrA+hG5o+tkMzXuoesvSfunVSioXib0syVFeNXwOm4+M5GdWCuW632LVjqEXStIg==", + "dependencies": { + "@opentelemetry/core": "1.7.0", + "@opentelemetry/resources": "1.7.0", + "@opentelemetry/semantic-conventions": "1.7.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.3.0" + } + }, + "node_modules/@opentelemetry/instrumentation": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.33.0.tgz", + "integrity": "sha512-8joPjKJ6TznNt04JbnzZG+m1j/4wm1OIrX7DEw/V5lyZ9/2fahIqG72jeZ26VKOZnLOpVzUUnU/dweURqBzT3Q==", + "dependencies": { + "@opentelemetry/api-metrics": "0.33.0", + "require-in-the-middle": "^5.0.3", + "semver": "^7.3.2", + "shimmer": "^1.2.1" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0" + } + }, + "node_modules/@opentelemetry/instrumentation-express": { + "version": "0.31.3", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-express/-/instrumentation-express-0.31.3.tgz", + "integrity": "sha512-+uta+Esj2r7oRXN2xLyI45JahbTCi07A6KpwvJZGKFaQg6nDBdWyfDdj5s1h2N13IsbFbcQqK4vidTeCcRuR8Q==", + "dependencies": { + "@opentelemetry/core": "^1.0.0", + "@opentelemetry/instrumentation": "^0.32.0", + "@opentelemetry/semantic-conventions": "^1.0.0", + "@types/express": "4.17.13" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0" + } + }, + "node_modules/@opentelemetry/instrumentation-express/node_modules/@opentelemetry/api-metrics": { + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api-metrics/-/api-metrics-0.32.0.tgz", + "integrity": "sha512-g1WLhpG8B6iuDyZJFRGsR+JKyZ94m5LEmY2f+duEJ9Xb4XRlLHrZvh6G34OH6GJ8iDHxfHb/sWjJ1ZpkI9yGMQ==", + "dependencies": { + "@opentelemetry/api": "^1.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@opentelemetry/instrumentation-express/node_modules/@opentelemetry/instrumentation": { + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.32.0.tgz", + "integrity": "sha512-y6ADjHpkUz/v1nkyyYjsQa/zorhX+0qVGpFvXMcbjU4sHnBnC02c6wcc93sIgZfiQClIWo45TGku1KQxJ5UUbQ==", + "dependencies": { + "@opentelemetry/api-metrics": "0.32.0", + "require-in-the-middle": "^5.0.3", + "semver": "^7.3.2", + "shimmer": "^1.2.1" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0" + } + }, + "node_modules/@opentelemetry/instrumentation-http": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.33.0.tgz", + "integrity": "sha512-8Ny31T1SEX9OKp89sMfLV7tP8WO5m6iBTZgmTC53Wu4t8kcNH6Y00tooMzypL/PgVtglgPXzv4T5mFLABo59AA==", + "dependencies": { + "@opentelemetry/api-metrics": "0.33.0", + "@opentelemetry/core": "1.7.0", + "@opentelemetry/instrumentation": "0.33.0", + "@opentelemetry/sdk-metrics": "0.33.0", + "@opentelemetry/semantic-conventions": "1.7.0", + "semver": "^7.3.5" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0" + } + }, + "node_modules/@opentelemetry/instrumentation-pg": { + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-pg/-/instrumentation-pg-0.32.0.tgz", + "integrity": "sha512-ZY2zcJOwCwSbY8a0wAwUgQXhOMIOaTGSWhHWkDJV92PY1T5E4r0B0kjF9EsBkT8cFqHEgVxt1ZeodfD3Wilh3A==", + "dependencies": { + "@opentelemetry/instrumentation": "^0.32.0", + "@opentelemetry/semantic-conventions": "^1.0.0", + "@types/pg": "8.6.1", + "@types/pg-pool": "2.0.3" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0" + } + }, + "node_modules/@opentelemetry/instrumentation-pg/node_modules/@opentelemetry/api-metrics": { + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api-metrics/-/api-metrics-0.32.0.tgz", + "integrity": "sha512-g1WLhpG8B6iuDyZJFRGsR+JKyZ94m5LEmY2f+duEJ9Xb4XRlLHrZvh6G34OH6GJ8iDHxfHb/sWjJ1ZpkI9yGMQ==", + "dependencies": { + "@opentelemetry/api": "^1.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@opentelemetry/instrumentation-pg/node_modules/@opentelemetry/instrumentation": { + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.32.0.tgz", + "integrity": "sha512-y6ADjHpkUz/v1nkyyYjsQa/zorhX+0qVGpFvXMcbjU4sHnBnC02c6wcc93sIgZfiQClIWo45TGku1KQxJ5UUbQ==", + "dependencies": { + "@opentelemetry/api-metrics": "0.32.0", + "require-in-the-middle": "^5.0.3", + "semver": "^7.3.2", + "shimmer": "^1.2.1" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0" + } + }, + "node_modules/@opentelemetry/propagator-b3": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.7.0.tgz", + "integrity": "sha512-8kKGS1KwArvkThdhubMZlomuREE9FaBcn9L4JrYHh2jly1FZpqOtFNO2byHymVRjH59d43Pa+eJuFpD0Fp7kSw==", + "dependencies": { + "@opentelemetry/core": "1.7.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.3.0" + } + }, + "node_modules/@opentelemetry/propagator-jaeger": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.7.0.tgz", + "integrity": "sha512-V7i/L1bx+R/ve4z6dTdn2jtvFxGThRsXS2wNb/tWZVfV8gqnePQp+HfoLrqB/Yz2iRPUcMWrcjx6vV78umvJFA==", + "dependencies": { + "@opentelemetry/core": "1.7.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.3.0" + } + }, + "node_modules/@opentelemetry/resources": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.7.0.tgz", + "integrity": "sha512-u1M0yZotkjyKx8dj+46Sg5thwtOTBmtRieNXqdCRiWUp6SfFiIP0bI+1XK3LhuXqXkBXA1awJZaTqKduNMStRg==", + "dependencies": { + "@opentelemetry/core": "1.7.0", + "@opentelemetry/semantic-conventions": "1.7.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.3.0" + } + }, + "node_modules/@opentelemetry/sdk-metrics": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-0.33.0.tgz", + "integrity": "sha512-ZXPixOlTd/FHLwpkmm5nTpJE7bZOPfmbSz8hBVFCEHkXE1aKEKaM38UFnZ+2xzOY1tDsDwyxEiiBiDX8y3039A==", + "dependencies": { + "@opentelemetry/api-metrics": "0.33.0", + "@opentelemetry/core": "1.7.0", + "@opentelemetry/resources": "1.7.0", + "lodash.merge": "4.6.2" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0" + } + }, + "node_modules/@opentelemetry/sdk-trace-base": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.9.1.tgz", + "integrity": "sha512-Y9gC5M1efhDLYHeeo2MWcDDMmR40z6QpqcWnPCm4Dmh+RHAMf4dnEBBntIe1dDpor686kyU6JV1D29ih1lZpsQ==", + "dependencies": { + "@opentelemetry/core": "1.9.1", + "@opentelemetry/resources": "1.9.1", + "@opentelemetry/semantic-conventions": "1.9.1" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.5.0" + } + }, + "node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/core": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.9.1.tgz", + "integrity": "sha512-6/qon6tw2I8ZaJnHAQUUn4BqhTbTNRS0WP8/bA0ynaX+Uzp/DDbd0NS0Cq6TMlh8+mrlsyqDE7mO50nmv2Yvlg==", + "dependencies": { + "@opentelemetry/semantic-conventions": "1.9.1" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.5.0" + } + }, + "node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/resources": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.9.1.tgz", + "integrity": "sha512-VqBGbnAfubI+l+yrtYxeLyOoL358JK57btPMJDd3TCOV3mV5TNBmzvOfmesM4NeTyXuGJByd3XvOHvFezLn3rQ==", + "dependencies": { + "@opentelemetry/core": "1.9.1", + "@opentelemetry/semantic-conventions": "1.9.1" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.5.0" + } + }, + "node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/semantic-conventions": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.9.1.tgz", + "integrity": "sha512-oPQdbFDmZvjXk5ZDoBGXG8B4tSB/qW5vQunJWQMFUBp7Xe8O1ByPANueJ+Jzg58esEBegyyxZ7LRmfJr7kFcFg==", + "engines": { + "node": ">=14" + } + }, + "node_modules/@opentelemetry/sdk-trace-node": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.7.0.tgz", + "integrity": "sha512-DCAAbi0Zbb1pIofQcKzoAVy9/6bz24asFYeLb4fW/8QYAaawDnxumA++5Huw/RcYdJs8q8AIRBykwjYWWCm/5A==", + "dependencies": { + "@opentelemetry/context-async-hooks": "1.7.0", + "@opentelemetry/core": "1.7.0", + "@opentelemetry/propagator-b3": "1.7.0", + "@opentelemetry/propagator-jaeger": "1.7.0", + "@opentelemetry/sdk-trace-base": "1.7.0", + "semver": "^7.3.5" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.3.0" + } + }, + "node_modules/@opentelemetry/sdk-trace-node/node_modules/@opentelemetry/sdk-trace-base": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.7.0.tgz", + "integrity": "sha512-Iz84C+FVOskmauh9FNnj4+VrA+hG5o+tkMzXuoesvSfunVSioXib0syVFeNXwOm4+M5GdWCuW632LVjqEXStIg==", + "dependencies": { + "@opentelemetry/core": "1.7.0", + "@opentelemetry/resources": "1.7.0", + "@opentelemetry/semantic-conventions": "1.7.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.3.0" + } + }, + "node_modules/@opentelemetry/semantic-conventions": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.7.0.tgz", + "integrity": "sha512-FGBx/Qd09lMaqQcogCHyYrFEpTx4cAjeS+48lMIR12z7LdH+zofGDVQSubN59nL6IpubfKqTeIDu9rNO28iHVA==", + "engines": { + "node": ">=14" + } + }, + "node_modules/@panva/asn1.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@panva/asn1.js/-/asn1.js-1.0.0.tgz", + "integrity": "sha512-UdkG3mLEqXgnlKsWanWcgb6dOjUzJ+XC5f+aWw30qrtjxeNUSfKX1cd5FBzOaXQumoe9nIqeZUvrRJS03HCCtw==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dev": true, + "dependencies": { + "defer-to-connect": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/caseless": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz", + "integrity": "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==", + "dev": true + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/express": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.31", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz", + "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "node_modules/@types/got": { + "version": "9.6.12", + "resolved": "https://registry.npmjs.org/@types/got/-/got-9.6.12.tgz", + "integrity": "sha512-X4pj/HGHbXVLqTpKjA2ahI4rV/nNBc9mGO2I/0CgAra+F2dKgMXnENv2SRpemScBzBAI4vMelIVYViQxlSE6xA==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/tough-cookie": "*", + "form-data": "^2.5.0" + } + }, + "node_modules/@types/js-yaml": { + "version": "3.12.7", + "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-3.12.7.tgz", + "integrity": "sha512-S6+8JAYTE1qdsc9HMVsfY7+SgSuUU/Tp6TYTmITW0PZxiyIMvol3Gy//y69Wkhs0ti4py5qgR3uZH6uz/DNzJQ==", + "dev": true + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true, + "peer": true + }, + "node_modules/@types/mime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==" + }, + "node_modules/@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "18.8.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.2.tgz", + "integrity": "sha512-cRMwIgdDN43GO4xMWAfJAecYn8wV4JbsOGHNfNUIDiuYkUYAR5ec4Rj7IO2SAhFPEfpPtLtUTbbny/TCT7aDwA==" + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "node_modules/@types/pg": { + "version": "8.6.1", + "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.6.1.tgz", + "integrity": "sha512-1Kc4oAGzAl7uqUStZCDvaLFqZrW9qWSjXOmBfdgyBP5La7Us6Mg4GBvRlSoaZMhQF/zSj1C8CtKMBkoiT8eL8w==", + "dependencies": { + "@types/node": "*", + "pg-protocol": "*", + "pg-types": "^2.2.0" + } + }, + "node_modules/@types/pg-pool": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/pg-pool/-/pg-pool-2.0.3.tgz", + "integrity": "sha512-fwK5WtG42Yb5RxAwxm3Cc2dJ39FlgcaNiXKvtTLAwtCn642X7dgel+w1+cLWwpSOFImR3YjsZtbkfjxbHtFAeg==", + "dependencies": { + "@types/pg": "*" + } + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + }, + "node_modules/@types/request": { + "version": "2.48.8", + "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.8.tgz", + "integrity": "sha512-whjk1EDJPcAR2kYHRbFl/lKeeKYTi05A15K9bnLInCVroNDCtXce57xKdI0/rQaA3K+6q0eFyUBPmqfSndUZdQ==", + "dev": true, + "dependencies": { + "@types/caseless": "*", + "@types/node": "*", + "@types/tough-cookie": "*", + "form-data": "^2.5.0" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", + "dependencies": { + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", + "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", + "dev": true + }, + "node_modules/@types/underscore": { + "version": "1.11.4", + "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.11.4.tgz", + "integrity": "sha512-uO4CD2ELOjw8tasUrAhvnn2W4A0ZECOvMjCivJr4gA9pGgjv+qxKWY9GLTMVEK8ej85BxQOocUyE7hImmSQYcg==", + "dev": true + }, + "node_modules/@types/ws": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-6.0.4.tgz", + "integrity": "sha512-PpPrX7SZW9re6+Ha8ojZG4Se8AZXgf0GK6zmfqEuCsY49LFDNXO3SByp44X3dFEqtB73lkCDAdUazhAjVPiNwg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/add-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", + "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==", + "dev": true + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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-color": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-color/-/ansi-color-0.2.1.tgz", + "integrity": "sha512-bF6xLaZBLpOQzgYUtYEhJx090nPSZk1BQ/q2oyBK9aMMcJHzx9uXGCjI2Y+LebsN4Jwoykr0V9whbPiogdyHoQ==", + "engines": { + "node": "*" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/append-transform": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", + "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", + "dev": true, + "dependencies": { + "default-require-extensions": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", + "dev": true + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", + "dev": true + }, + "node_modules/array-includes": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", + "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5", + "get-intrinsic": "^1.1.1", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", + "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.2", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "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/atomic-sleep": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", + "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", + "engines": { + "node": ">=8.0.0" + } + }, + "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.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "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/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "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/base64url": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz", + "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "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/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, + "node_modules/browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "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/buffer-writer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", + "integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/bufrw": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/bufrw/-/bufrw-1.3.0.tgz", + "integrity": "sha512-jzQnSbdJqhIltU9O5KUiTtljP9ccw2u5ix59McQy4pV2xGhVLhRZIndY8GIrgh5HjXa6+QJ9AQhOd2QWQizJFQ==", + "dependencies": { + "ansi-color": "^0.2.1", + "error": "^7.0.0", + "hexer": "^1.5.0", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 0.10.x" + } + }, + "node_modules/buildcheck": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/buildcheck/-/buildcheck-0.0.3.tgz", + "integrity": "sha512-pziaA+p/wdVImfcbsZLNF32EiWyujlQLwolMqUQE8xpKNOH7KmZQaY8sXN7DGOEzPAElo9QTaeNRfGnf3iOJbA==", + "dev": true, + "optional": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, + "peer": true, + "dependencies": { + "semver": "^7.0.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dev": true, + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/caching-transform": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", + "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", + "dev": true, + "dependencies": { + "hasha": "^5.0.0", + "make-dir": "^3.0.0", + "package-hash": "^4.0.0", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": ">=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==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001416", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001416.tgz", + "integrity": "sha512-06wzzdAkCPZO+Qm4e/eNghZBDfVNDsCgw33T27OwBH9unE9S478OYw//Q2L7Npf/zBzs7rjZOszIFQkwQKAEqA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "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/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "dev": true, + "dependencies": { + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "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/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "node_modules/compare-func": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "dev": true, + "dependencies": { + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" + } + }, + "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": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "dev": true, + "engines": [ + "node >= 6.0" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/conventional-changelog": { + "version": "3.1.25", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.25.tgz", + "integrity": "sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ==", + "dev": true, + "dependencies": { + "conventional-changelog-angular": "^5.0.12", + "conventional-changelog-atom": "^2.0.8", + "conventional-changelog-codemirror": "^2.0.8", + "conventional-changelog-conventionalcommits": "^4.5.0", + "conventional-changelog-core": "^4.2.1", + "conventional-changelog-ember": "^2.0.9", + "conventional-changelog-eslint": "^3.0.9", + "conventional-changelog-express": "^2.0.6", + "conventional-changelog-jquery": "^3.0.11", + "conventional-changelog-jshint": "^2.0.9", + "conventional-changelog-preset-loader": "^2.3.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-angular": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", + "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", + "dev": true, + "dependencies": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-atom": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz", + "integrity": "sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-codemirror": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz", + "integrity": "sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-config-spec": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz", + "integrity": "sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ==", + "dev": true + }, + "node_modules/conventional-changelog-conventionalcommits": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz", + "integrity": "sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==", + "dev": true, + "dependencies": { + "compare-func": "^2.0.0", + "lodash": "^4.17.15", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-core": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz", + "integrity": "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==", + "dev": true, + "dependencies": { + "add-stream": "^1.0.0", + "conventional-changelog-writer": "^5.0.0", + "conventional-commits-parser": "^3.2.0", + "dateformat": "^3.0.0", + "get-pkg-repo": "^4.0.0", + "git-raw-commits": "^2.0.8", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^4.1.1", + "lodash": "^4.17.15", + "normalize-package-data": "^3.0.0", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "through2": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-ember": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz", + "integrity": "sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-eslint": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz", + "integrity": "sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-express": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz", + "integrity": "sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-jquery": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz", + "integrity": "sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-jshint": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz", + "integrity": "sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==", + "dev": true, + "dependencies": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-preset-loader": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", + "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-writer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz", + "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==", + "dev": true, + "dependencies": { + "conventional-commits-filter": "^2.0.7", + "dateformat": "^3.0.0", + "handlebars": "^4.7.7", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "semver": "^6.0.0", + "split": "^1.0.0", + "through2": "^4.0.0" + }, + "bin": { + "conventional-changelog-writer": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-writer/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/conventional-commits-filter": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", + "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", + "dev": true, + "dependencies": { + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-commits-parser": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", + "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", + "dev": true, + "dependencies": { + "is-text-path": "^1.0.1", + "JSONStream": "^1.0.4", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "conventional-commits-parser": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-commits-parser/node_modules/split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dev": true, + "dependencies": { + "readable-stream": "^3.0.0" + } + }, + "node_modules/conventional-recommended-bump": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz", + "integrity": "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==", + "dev": true, + "dependencies": { + "concat-stream": "^2.0.0", + "conventional-changelog-preset-loader": "^2.3.4", + "conventional-commits-filter": "^2.0.7", + "conventional-commits-parser": "^3.2.0", + "git-raw-commits": "^2.0.8", + "git-semver-tags": "^4.1.1", + "meow": "^8.0.0", + "q": "^1.5.1" + }, + "bin": { + "conventional-recommended-bump": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/convert-source-map/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/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "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-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/cpu-features": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.4.tgz", + "integrity": "sha512-fKiZ/zp1mUwQbnzb9IghXtHtDoTMtNeb8oYGx6kX2SYfhnG0HNdBEBIzB9b5KlXu5DQPhfy3mInbBxFcgwAr3A==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "dependencies": { + "buildcheck": "0.0.3", + "nan": "^2.15.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/dargs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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/dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==", + "dev": true, + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", + "dev": true, + "dependencies": { + "mimic-response": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-require-extensions": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", + "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", + "dev": true, + "dependencies": { + "strip-bom": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", + "dev": true + }, + "node_modules/define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "peer": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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/diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/docker-modem": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-3.0.6.tgz", + "integrity": "sha512-h0Ow21gclbYsZ3mkHDfsYNDqtRhXS8fXr51bU0qr1dxgTMJj0XufbzX+jhNOvA8KuEEzn6JbvLVhXyv+fny9Uw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "readable-stream": "^3.5.0", + "split-ca": "^1.0.1", + "ssh2": "^1.11.0" + }, + "engines": { + "node": ">= 8.0" + } + }, + "node_modules/docker-modem/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/docker-modem/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/dockerode": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-3.3.4.tgz", + "integrity": "sha512-3EUwuXnCU+RUlQEheDjmBE0B7q66PV9Rw5NiH1sXwINq0M9c5ERP9fxgkw36ZHOtzf4AGEEYySnkx/sACC9EgQ==", + "dev": true, + "dependencies": { + "@balena/dockerignore": "^1.0.2", + "docker-modem": "^3.0.0", + "tar-fs": "~2.0.1" + }, + "engines": { + "node": ">= 8.0" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dotgitignore": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz", + "integrity": "sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dotgitignore/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dotgitignore/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dotgitignore/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dotgitignore/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dotgitignore/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/duplexer3": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", + "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==", + "dev": true + }, + "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==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.272", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.272.tgz", + "integrity": "sha512-KS6gPPGNrzpVv9HzFVq+Etd0AjZEPr5pvaTBn2yD6KV4+cKW4I0CJoJNgmTG6gUQPAMZ4wIPtcOuoou3qFAZCA==", + "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==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/error": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/error/-/error-7.0.2.tgz", + "integrity": "sha512-UtVv4l5MhijsYUxPJo4390gzfZvAnTHreNnDjnTZaKIiZ/SemXxAhBkYSKtWa5RtBXbLP8tMgn/n0RUa/H7jXw==", + "dependencies": { + "string-template": "~0.2.1", + "xtend": "~4.0.0" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.3.tgz", + "integrity": "sha512-AyrnaKVpMzljIdwjzrj+LxGmj8ik2LckwXacHqrJJ/jxz6dDDBcZ7I7nlHM0FvEW8MfbWJwOd+yT2XzYW49Frw==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.3", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.6", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "peer": true, + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "peer": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/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==" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.33.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.33.0.tgz", + "integrity": "sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA==", + "dev": true, + "dependencies": { + "@eslint/eslintrc": "^1.4.1", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.4.0", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-semistandard": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-semistandard/-/eslint-config-semistandard-17.0.0.tgz", + "integrity": "sha512-tLi0JYmfiiJgtmRhoES55tENatR7y/5aXOh6cBeW+qjzl1+WwyV0arDqR65XN3/xrPZt+/1EG+xNLknV/0jWsQ==", + "dev": true, + "peerDependencies": { + "eslint": "^8.13.0", + "eslint-config-standard": "^17.0.0", + "eslint-plugin-import": "^2.26.0", + "eslint-plugin-n": "^15.0.0", + "eslint-plugin-promise": "^6.0.0" + } + }, + "node_modules/eslint-config-standard": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz", + "integrity": "sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==", + "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" + } + ], + "peer": true, + "peerDependencies": { + "eslint": "^8.0.1", + "eslint-plugin-import": "^2.25.2", + "eslint-plugin-n": "^15.0.0", + "eslint-plugin-promise": "^6.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", + "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "dev": true, + "peer": true, + "dependencies": { + "debug": "^3.2.7", + "resolve": "^1.20.0" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-node/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, + "peer": true + }, + "node_modules/eslint-module-utils": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", + "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", + "dev": true, + "peer": true, + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils/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, + "peer": true + }, + "node_modules/eslint-plugin-es": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz", + "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==", + "dev": true, + "peer": true, + "dependencies": { + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + }, + "engines": { + "node": ">=8.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=4.19.1" + } + }, + "node_modules/eslint-plugin-es/node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "peer": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-plugin-es/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", + "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", + "dev": true, + "peer": true, + "dependencies": { + "array-includes": "^3.1.4", + "array.prototype.flat": "^1.2.5", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.7.3", + "has": "^1.0.3", + "is-core-module": "^2.8.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.5", + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "peer": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-n": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.3.0.tgz", + "integrity": "sha512-IyzPnEWHypCWasDpxeJnim60jhlumbmq0pubL6IOcnk8u2y53s5QfT8JnXy7skjHJ44yWHRb11PLtDHuu1kg/Q==", + "dev": true, + "peer": true, + "dependencies": { + "builtins": "^5.0.1", + "eslint-plugin-es": "^4.1.0", + "eslint-utils": "^3.0.0", + "ignore": "^5.1.1", + "is-core-module": "^2.10.0", + "minimatch": "^3.1.2", + "resolve": "^1.22.1", + "semver": "^7.3.7" + }, + "engines": { + "node": ">=12.22.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-promise": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.0.1.tgz", + "integrity": "sha512-uM4Tgo5u3UWQiroOyDEsYcVMOo7re3zmno0IZmB5auxoaQNIceAbXEkSt8RNrKtaYehARHG06pYK6K1JhtP0Zw==", + "dev": true, + "peer": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/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/eslint/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/espree": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "dev": true, + "dependencies": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "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/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/express": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.10.3", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "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-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fast-redact": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.1.2.tgz", + "integrity": "sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw==", + "engines": { + "node": ">=6" + } + }, + "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/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "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/figures/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/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-keys": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz", + "integrity": "sha512-tcgI872xXjwFF4xgQmLxi76GnwJG3g/3isB1l4/G5Z4zrbddGpBjqZCO9oEAcB5wX0Hj/5iQB3toxfO7in1hHA==", + "dev": true, + "dependencies": { + "is-object": "~1.0.1", + "merge-descriptors": "~1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "node_modules/foreground-child": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", + "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "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.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "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": "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/formidable/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fromentries": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", + "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", + "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/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-pkg-repo": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz", + "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==", + "dev": true, + "dependencies": { + "@hutson/parse-repository-url": "^3.0.0", + "hosted-git-info": "^4.0.0", + "through2": "^2.0.0", + "yargs": "^16.2.0" + }, + "bin": { + "get-pkg-repo": "src/cli.js" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-pkg-repo/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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/get-pkg-repo/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/get-pkg-repo/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/get-pkg-repo/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "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/git-raw-commits": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", + "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", + "dev": true, + "dependencies": { + "dargs": "^7.0.0", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "git-raw-commits": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/git-raw-commits/node_modules/split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dev": true, + "dependencies": { + "readable-stream": "^3.0.0" + } + }, + "node_modules/git-remote-origin-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", + "integrity": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==", + "dev": true, + "dependencies": { + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-repo-info": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/git-repo-info/-/git-repo-info-2.1.1.tgz", + "integrity": "sha512-8aCohiDo4jwjOwma4FmYFd3i97urZulL8XL24nIPxuE+GZnfsAyy/g2Shqx6OjUiFKUXZM+Yy+KHnOmmA3FVcg==", + "dev": true, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/git-semver-tags": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", + "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", + "dev": true, + "dependencies": { + "meow": "^8.0.0", + "semver": "^6.0.0" + }, + "bin": { + "git-semver-tags": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/git-semver-tags/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/gitconfiglocal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==", + "dev": true, + "dependencies": { + "ini": "^1.3.2" + } + }, + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dev": true, + "dependencies": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, + "node_modules/handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "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/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true, + "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==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "peer": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "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==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "peer": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasha": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", + "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", + "dev": true, + "dependencies": { + "is-stream": "^2.0.0", + "type-fest": "^0.8.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hasha/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/hexer": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/hexer/-/hexer-1.5.0.tgz", + "integrity": "sha512-dyrPC8KzBzUJ19QTIo1gXNqIISRXQ0NwteW6OeQHRN4ZuZeHkdODfj0zHBdOlHbRY8GqbqK57C9oWSvQZizFsg==", + "dependencies": { + "ansi-color": "^0.2.1", + "minimist": "^1.1.0", + "process": "^0.10.0", + "xtend": "^4.0.0" + }, + "bin": { + "hexer": "cli.js" + }, + "engines": { + "node": ">= 0.10.x" + } + }, + "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/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "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/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.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "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/ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "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==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "peer": true, + "dependencies": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "peer": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "peer": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "peer": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz", + "integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "peer": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "peer": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", + "dev": true, + "dependencies": { + "text-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isomorphic-ws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", + "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", + "dev": true, + "peerDependencies": { + "ws": "*" + } + }, + "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/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-hook": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", + "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", + "dev": true, + "dependencies": { + "append-transform": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-processinfo": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", + "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", + "dev": true, + "dependencies": { + "archy": "^1.0.0", + "cross-spawn": "^7.0.3", + "istanbul-lib-coverage": "^3.2.0", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/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/istanbul-lib-source-maps/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/istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jaeger-client": { + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/jaeger-client/-/jaeger-client-3.19.0.tgz", + "integrity": "sha512-M0c7cKHmdyEUtjemnJyx/y9uX16XHocL46yQvyqDlPdvAcwPDbHrIbKjQdBqtiE4apQ/9dmr+ZLJYYPGnurgpw==", + "dependencies": { + "node-int64": "^0.4.0", + "opentracing": "^0.14.4", + "thriftrw": "^3.5.0", + "uuid": "^8.3.2", + "xorshift": "^1.1.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jose": { + "version": "1.28.2", + "resolved": "https://registry.npmjs.org/jose/-/jose-1.28.2.tgz", + "integrity": "sha512-wWy51U2MXxYi3g8zk2lsQ8M6O1lartpkxuq1TYexzPKYLgHLZkCjklaATP36I5BUoWjF2sInB9U1Qf18fBZxNA==", + "dev": true, + "dependencies": { + "@panva/asn1.js": "^1.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/js-sdsl": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", + "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "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/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==", + "dev": true + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema": { + "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-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-stream/-/json-stream-1.0.0.tgz", + "integrity": "sha512-H/ZGY0nIAg3QcOwE1QN/rK/Fa7gJn7Ii5obwp6zyPO4xiPNwpIMjqy2gwjBEGqzkF/vSWEIBQCBuN19hYiL6Qg==", + "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/json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/jsonpath-plus": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-0.19.0.tgz", + "integrity": "sha512-GSVwsrzW9LsA5lzsqe4CkuZ9wp+kxBb2GwNniaWzI2YFn5Ig42rSW8ZxVpWXaAfakXNrx5pgY5AbQq7kzX29kg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } + }, + "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/keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.0" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kube-service-bindings": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/kube-service-bindings/-/kube-service-bindings-2.1.0.tgz", + "integrity": "sha512-b1qFXKl5QzgqM/xLl462XhqvmUnj0pEOs13c9WetEW9cHE/3CkNxnEfZE/Dw0XB/ep+23J3TauRTS0EjrMxTXg==", + "engines": { + "node": ">=10" + } + }, + "node_modules/kubernetes-client": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/kubernetes-client/-/kubernetes-client-9.0.0.tgz", + "integrity": "sha512-Qy8o42dZVHB9P+cIiKdWpQbz/65l/qW1fDYvlzzeSLftmL1Ne3HEiM+0TmKAwNuRW0pTJN2tRWhcccToclxJ8g==", + "dev": true, + "dependencies": { + "@kubernetes/client-node": "0.10.2", + "camelcase": "^6.0.0", + "deepmerge": "^4.2.2", + "depd": "^2.0.0", + "js-yaml": "^3.13.1", + "json-stream": "^1.0.0", + "openid-client": "^3.14.0", + "pump": "^3.0.0", + "qs": "^6.9.0", + "request": "^2.88.2", + "swagger-fluent": "^5.0.3", + "url-join": "^4.0.1", + "ws": "^7.2.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/kubernetes-client/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/kubernetes-client/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/kubernetes-client/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/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", + "dev": true + }, + "node_modules/lodash.ismatch": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", + "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/long": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/long/-/long-2.4.0.tgz", + "integrity": "sha512-ijUtjmO/n2A5PaosNG9ZGDsQ3vxJg7ZW8vsY8Kp0f2yIZWhSJvjmegV7t+9RPQKxKrvj8yKGehhS+po14hPLGQ==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/meow/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/meow/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/meow/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/meow/node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/meow/node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/meow/node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/meow/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/meow/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/meow/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "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==", + "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==", + "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==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/minipass": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", + "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, + "node_modules/mocha": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.1.0.tgz", + "integrity": "sha512-vUF7IYxEoN7XhQpFLxQAEMtE4W91acW4B6En9l97MwE9stL1A9gusXfoHZCLVHDUJ/7V5+lbCM6yMqzo5vNymg==", + "dev": true, + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "nanoid": "3.3.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" + } + }, + "node_modules/mocha/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/mocha/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/mocha/node_modules/debug/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/mocha/node_modules/minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/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/mocha/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/modify-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", + "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/module-details-from-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/module-details-from-path/-/module-details-from-path-1.0.3.tgz", + "integrity": "sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==" + }, + "node_modules/module-not-found-error": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/module-not-found-error/-/module-not-found-error-1.0.1.tgz", + "integrity": "sha512-pEk4ECWQXV6z2zjhRZUongnLJNUeGQJ3w6OQ5ctGwD+i5o93qjRQUk2Rt6VdNeu3sEP0AB4LcfvdebpxBRVr4g==", + "dev": true + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/nan": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", + "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==", + "dev": true, + "optional": true + }, + "node_modules/nanoid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", + "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + }, + "node_modules/node-preload": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", + "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", + "dev": true, + "dependencies": { + "process-on-spawn": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "dev": true + }, + "node_modules/nodeshift": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/nodeshift/-/nodeshift-8.7.0.tgz", + "integrity": "sha512-Czsh8JGeKa0XyXFyDnuURVJIPLLzfJzs/N8lwOnTrLqj6cZcCmRv+4nwfy5NEhx4pjk8oM2ueitvjdK/oLd8+g==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "dockerode": "~3.3.1", + "git-repo-info": "^2.0.0", + "js-yaml": "~3.14.1", + "lodash": "^4.17.21", + "minimatch": "^5.0.1", + "mkdirp": "^1.0.3", + "openshift-rest-client": "~7.0.0", + "parse-gitignore": "^1.0.1", + "tar": "~6.1.11", + "yargs": "^17.4.1" + }, + "bin": { + "nodeshift": "bin/nodeshift" + }, + "engines": { + "node": "^16 || ^14 || ^12" + } + }, + "node_modules/nodeshift/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/nodeshift/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/nodeshift/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nodeshift/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/nodeshift/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/nodeshift/node_modules/minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/nodeshift/node_modules/yargs": { + "version": "17.6.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.0.tgz", + "integrity": "sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/nodeshift/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", + "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", + "dev": true, + "dependencies": { + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "caching-transform": "^4.0.0", + "convert-source-map": "^1.7.0", + "decamelize": "^1.2.0", + "find-cache-dir": "^3.2.0", + "find-up": "^4.1.0", + "foreground-child": "^2.0.0", + "get-package-type": "^0.1.0", + "glob": "^7.1.6", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-hook": "^3.0.0", + "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-processinfo": "^2.0.2", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "make-dir": "^3.0.0", + "node-preload": "^0.2.1", + "p-map": "^3.0.0", + "process-on-spawn": "^1.0.0", + "resolve-from": "^5.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "spawn-wrap": "^2.0.0", + "test-exclude": "^6.0.0", + "yargs": "^15.0.2" + }, + "bin": { + "nyc": "bin/nyc.js" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/nyc/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/nyc/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nyc/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/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/nyc/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "node_modules/nyc/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "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-hash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", + "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/oidc-token-hash": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.0.1.tgz", + "integrity": "sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ==", + "dev": true, + "engines": { + "node": "^10.13.0 || >=12.0.0" + } + }, + "node_modules/on-exit-leak-free": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.0.tgz", + "integrity": "sha512-VuCaZZAjReZ3vUwgOB8LxAosIurDiAW0s13rI1YwmaP++jvcxP77AWoQvenZebpCA2m8WC1/EosPYPMjnRAp/w==" + }, + "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==", + "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/openid-client": { + "version": "3.15.10", + "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-3.15.10.tgz", + "integrity": "sha512-C9r6/iVzNQ7aGp0krS5mFIY5nY8AH6ajYCH0Njns6AXy2fM3Khw/dY97QlaFJWW2QLhec6xfEk23LZw9EeX66Q==", + "dev": true, + "dependencies": { + "@types/got": "^9.6.9", + "base64url": "^3.0.1", + "got": "^9.6.0", + "jose": "^1.27.1", + "lru-cache": "^6.0.0", + "make-error": "^1.3.6", + "object-hash": "^2.0.1", + "oidc-token-hash": "^5.0.0", + "p-any": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || >=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/openshift-rest-client": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/openshift-rest-client/-/openshift-rest-client-7.0.0.tgz", + "integrity": "sha512-zfiN9Cs8ZCJHAcnVAFkbFzbEGP9YXKARrToDH+F5PvsguULpUV1zgPzApc6lElM/PVSXyzsUuPIvgnd9uhnPcg==", + "dev": true, + "dependencies": { + "kubernetes-client": "9.0.0", + "request": "~2.88.2" + }, + "engines": { + "node": "^16 || ^14 || ^12" + } + }, + "node_modules/opentracing": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/opentracing/-/opentracing-0.14.7.tgz", + "integrity": "sha512-vz9iS7MJ5+Bp1URw8Khvdyw1H/hGvzHWlKQ7eRrQojSCDL1/SrWfrY9QebLw97n2deyRtzHRC3MkQfVNUCo91Q==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-any": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-any/-/p-any-3.0.0.tgz", + "integrity": "sha512-5rqbqfsRWNb0sukt0awwgJMlaep+8jV45S15SKKB34z4UuzjcofIfnriCBhWjZP2jbVtjt9yRl7buB6RlKsu9w==", + "dev": true, + "dependencies": { + "p-cancelable": "^2.0.0", + "p-some": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-any/node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-some": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-some/-/p-some-5.0.0.tgz", + "integrity": "sha512-Js5XZxo6vHjB9NOYAzWDYAIyyiPvva0DWESAIWIK7uhSpGsyg5FwUPxipU/SOQx5x9EqhOh545d1jo6cVkitig==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0", + "p-cancelable": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-some/node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/package-hash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", + "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.15", + "hasha": "^5.0.0", + "lodash.flattendeep": "^4.4.0", + "release-zalgo": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/packet-reader": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz", + "integrity": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-gitignore": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-gitignore/-/parse-gitignore-1.0.1.tgz", + "integrity": "sha512-UGyowyjtx26n65kdAMWhm6/3uy5uSrpcuH7tt+QEVudiBoVS+eqHxD5kbi9oWVRwj7sCzXqwuM+rUGw7earl6A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "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/pg": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.8.0.tgz", + "integrity": "sha512-UXYN0ziKj+AeNNP7VDMwrehpACThH7LUl/p8TDFpEUuSejCUIwGSfxpHsPvtM6/WXFy6SU4E5RG4IJV/TZAGjw==", + "dependencies": { + "buffer-writer": "2.0.0", + "packet-reader": "1.0.0", + "pg-connection-string": "^2.5.0", + "pg-pool": "^3.5.2", + "pg-protocol": "^1.5.0", + "pg-types": "^2.1.0", + "pgpass": "1.x" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "pg-native": ">=3.0.1" + }, + "peerDependenciesMeta": { + "pg-native": { + "optional": true + } + } + }, + "node_modules/pg-connection-string": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz", + "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==" + }, + "node_modules/pg-int8": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", + "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/pg-pool": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.5.2.tgz", + "integrity": "sha512-His3Fh17Z4eg7oANLob6ZvH8xIVen3phEZh2QuyrIl4dQSDVEabNducv6ysROKpDNPSD+12tONZVWfSgMvDD9w==", + "peerDependencies": { + "pg": ">=8.0" + } + }, + "node_modules/pg-protocol": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.5.0.tgz", + "integrity": "sha512-muRttij7H8TqRNu/DxrAJQITO4Ac7RmX3Klyr/9mJEOBeIpgnF8f9jAfRz5d3XwQZl5qBjF9gLsUtMPJE0vezQ==" + }, + "node_modules/pg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", + "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", + "dependencies": { + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pgpass": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", + "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", + "dependencies": { + "split2": "^4.1.0" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pino": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-8.7.0.tgz", + "integrity": "sha512-l9sA5uPxmZzwydhMWUcm1gI0YxNnYl8MfSr2h8cwLvOAzQLBLewzF247h/vqHe3/tt6fgtXeG9wdjjoetdI/vA==", + "dependencies": { + "atomic-sleep": "^1.0.0", + "fast-redact": "^3.1.1", + "on-exit-leak-free": "^2.1.0", + "pino-abstract-transport": "v1.0.0", + "pino-std-serializers": "^6.0.0", + "process-warning": "^2.0.0", + "quick-format-unescaped": "^4.0.3", + "real-require": "^0.2.0", + "safe-stable-stringify": "^2.3.1", + "sonic-boom": "^3.1.0", + "thread-stream": "^2.0.0" + }, + "bin": { + "pino": "bin.js" + } + }, + "node_modules/pino-abstract-transport": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.0.0.tgz", + "integrity": "sha512-c7vo5OpW4wIS42hUVcT5REsL8ZljsUfBjqV/e2sFxmFEFZiq1XLUp5EYLtuDH6PEHq9W1egWqRbnLUP5FuZmOA==", + "dependencies": { + "readable-stream": "^4.0.0", + "split2": "^4.0.0" + } + }, + "node_modules/pino-abstract-transport/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/pino-abstract-transport/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==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/pino-abstract-transport/node_modules/readable-stream": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.2.0.tgz", + "integrity": "sha512-gJrBHsaI3lgBoGMW/jHZsQ/o/TIWiu5ENCJG1BB7fuCKzpFM8GaS2UoBVt9NO+oI+3FcrBNbUkl3ilDe09aY4A==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/pino-std-serializers": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.0.0.tgz", + "integrity": "sha512-mMMOwSKrmyl+Y12Ri2xhH1lbzQxwwpuru9VjyJpgFIH4asSj88F2csdMwN6+M5g1Ll4rmsYghHLQJw81tgZ7LQ==" + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postgres-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/postgres-bytea": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", + "integrity": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-date": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", + "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-interval": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", + "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", + "dependencies": { + "xtend": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/process": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/process/-/process-0.10.1.tgz", + "integrity": "sha512-dyIett8dgGIZ/TXKUzeYExt7WA6ldDzys9vTDU/cCA9L17Ypme+KzS+NjQCjpn9xsvi/shbMC+yP/BcFMBz0NA==", + "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/process-on-spawn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", + "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", + "dev": true, + "dependencies": { + "fromentries": "^1.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/process-warning": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-2.0.0.tgz", + "integrity": "sha512-+MmoAXoUX+VTHAlwns0h+kFUWFs/3FZy+ZuchkgjyOu3oioLAo2LB5aCfKPh2+P9O18i3m43tUEv3YqttSy0Ww==" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxyquire": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/proxyquire/-/proxyquire-2.1.3.tgz", + "integrity": "sha512-BQWfCqYM+QINd+yawJz23tbBM40VIGXOdDw3X344KcclI/gtBbdWF6SlQ4nK/bYhF9d27KYug9WzljHC6B9Ysg==", + "dev": true, + "dependencies": { + "fill-keys": "^1.0.2", + "module-not-found-error": "^1.0.1", + "resolve": "^1.11.1" + } + }, + "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/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "dev": true, + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-format-unescaped": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", + "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" + }, + "node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", + "dev": true, + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", + "dev": true, + "dependencies": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/read-pkg/node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/real-require": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", + "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/release-zalgo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", + "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", + "dev": true, + "dependencies": { + "es6-error": "^4.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "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/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/request/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/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/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-in-the-middle": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-5.2.0.tgz", + "integrity": "sha512-efCx3b+0Z69/LGJmm9Yvi4cqEdxnoGnxYxGxBghkkTTFeXRtTCmmhO0AnAfHz59k957uTSuy8WaHqOs8wbYUWg==", + "dependencies": { + "debug": "^4.1.1", + "module-details-from-path": "^1.0.3", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/require-in-the-middle/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/require-in-the-middle/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==" + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dependencies": { + "is-core-module": "^2.9.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": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", + "dev": true, + "dependencies": { + "lowercase-keys": "^1.0.0" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-stable-stringify": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.0.tgz", + "integrity": "sha512-eehKHKpab6E741ud7ZIMcXhKcP6TSIezPkNZhy5U8xC6+VvrRdUA2tMgxGxaGl4cz7c2Ew5+mg5+wNB16KQqrA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "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==", + "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/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/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==", + "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/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dev": true, + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/shimmer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", + "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==" + }, + "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==", + "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/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/sonic-boom": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.2.0.tgz", + "integrity": "sha512-SbbZ+Kqj/XIunvIAgUZRlqd6CGQYq71tRRbXR92Za8J/R3Yh4Av+TWENiSiEgnlwckYLyP0YZQWVfyNC0dzLaA==", + "dependencies": { + "atomic-sleep": "^1.0.0" + } + }, + "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/spawn-wrap": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", + "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", + "dev": true, + "dependencies": { + "foreground-child": "^2.0.0", + "is-windows": "^1.0.2", + "make-dir": "^3.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "which": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", + "dev": true + }, + "node_modules/split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/split-ca": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", + "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==", + "dev": true + }, + "node_modules/split2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.1.0.tgz", + "integrity": "sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ==", + "engines": { + "node": ">= 10.x" + } + }, + "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/ssh2": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.11.0.tgz", + "integrity": "sha512-nfg0wZWGSsfUe/IBJkXVll3PEZ//YH2guww+mP88gTpuSU4FtZN7zu9JoeTGOyCNx2dTDtT9fOpWwlzyj4uOOw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "asn1": "^0.2.4", + "bcrypt-pbkdf": "^1.0.2" + }, + "engines": { + "node": ">=10.16.0" + }, + "optionalDependencies": { + "cpu-features": "~0.0.4", + "nan": "^2.16.0" + } + }, + "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/standard-version": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-9.5.0.tgz", + "integrity": "sha512-3zWJ/mmZQsOaO+fOlsa0+QK90pwhNd042qEcw6hKFNoLFs7peGyvPffpEBbK/DSGPbyOvli0mUIFv5A4qTjh2Q==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2", + "conventional-changelog": "3.1.25", + "conventional-changelog-config-spec": "2.1.0", + "conventional-changelog-conventionalcommits": "4.6.3", + "conventional-recommended-bump": "6.1.0", + "detect-indent": "^6.0.0", + "detect-newline": "^3.1.0", + "dotgitignore": "^2.1.0", + "figures": "^3.1.0", + "find-up": "^5.0.0", + "git-semver-tags": "^4.0.0", + "semver": "^7.1.1", + "stringify-package": "^1.0.1", + "yargs": "^16.0.0" + }, + "bin": { + "standard-version": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/standard-version/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/standard-version/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/standard-version/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/standard-version/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/standard-version/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/standard-version/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/standard-version/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "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/string-template": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", + "integrity": "sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw==" + }, + "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/string.prototype.trimend": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", + "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", + "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-package": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.1.tgz", + "integrity": "sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==", + "dev": true + }, + "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/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/superagent": { + "version": "8.0.9", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.9.tgz", + "integrity": "sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA==", + "dev": true, + "dependencies": { + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.4", + "debug": "^4.3.4", + "fast-safe-stringify": "^2.1.1", + "form-data": "^4.0.0", + "formidable": "^2.1.2", + "methods": "^1.1.2", + "mime": "2.6.0", + "qs": "^6.11.0", + "semver": "^7.3.8" + }, + "engines": { + "node": ">=6.4.0 <13 || >=14" + } + }, + "node_modules/superagent/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/superagent/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/superagent/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/superagent/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/superagent/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/supertest": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz", + "integrity": "sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==", + "dev": true, + "dependencies": { + "methods": "^1.1.2", + "superagent": "^8.0.5" + }, + "engines": { + "node": ">=6.4.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/swagger-fluent": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/swagger-fluent/-/swagger-fluent-5.0.3.tgz", + "integrity": "sha512-i43ADMtPi7dxAN75Lw50SlncMB31FgaVwXqKioR8SWs+Yon2RbiLU1J1PGMXA4N8cSt9Vz5RHzaoKjz/+iW88g==", + "dev": true, + "dependencies": { + "deepmerge": "^4.2.2", + "is-plain-object": "^3.0.0", + "request": "^2.88.0" + } + }, + "node_modules/tar": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "dev": true, + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/tar-fs": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.1.tgz", + "integrity": "sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA==", + "dev": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.0.0" + } + }, + "node_modules/tar-fs/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-extensions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/thread-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.2.0.tgz", + "integrity": "sha512-rUkv4/fnb4rqy/gGy7VuqK6wE1+1DOCOWy4RMeaV69ZHMP11tQKZvZSip1yTgrKCMZzEMcCL/bKfHvSfDHx+iQ==", + "dependencies": { + "real-require": "^0.2.0" + } + }, + "node_modules/thriftrw": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/thriftrw/-/thriftrw-3.12.0.tgz", + "integrity": "sha512-4YZvR4DPEI41n4Opwr4jmrLGG4hndxr7387kzRFIIzxHQjarPusH4lGXrugvgb7TtPrfZVTpZCVe44/xUxowEw==", + "dependencies": { + "bufrw": "^1.3.0", + "error": "7.0.2", + "long": "^2.4.0" + }, + "bin": { + "thrift2json": "thrift2json.js" + }, + "engines": { + "node": ">= 0.10.x" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "dependencies": { + "readable-stream": "3" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "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/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", + "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "dev": true, + "peer": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "peer": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "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-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "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/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/uglify-js": { + "version": "3.17.2", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.2.tgz", + "integrity": "sha512-bbxglRjsGQMchfvXZNusUcYgiB9Hx2K4AHYXQy2DITZ9Rd+JzhX7+hoocE5Winr7z2oHvPsekkBwXtigvxevXg==", + "dev": true, + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/underscore": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", + "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==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-join": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", + "dev": true + }, + "node_modules/url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", + "dev": true, + "dependencies": { + "prepend-http": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "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/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "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==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "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/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "peer": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", + "dev": true + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, + "node_modules/workerpool": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "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/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xorshift": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/xorshift/-/xorshift-1.2.0.tgz", + "integrity": "sha512-iYgNnGyeeJ4t6U11NpA/QiKy+PXn5Aa3Azg5qkwIFz1tBLllQrjjsk9yzD7IAK0naNU4JxdeDgqW9ov4u/hc4g==" + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dev": true, + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs-unparser/node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs-unparser/node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.3.tgz", + "integrity": "sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw==", + "dev": true + }, + "@babel/core": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", + "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.3", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.3", + "@babel/types": "^7.19.3", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "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" + } + }, + "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 + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.3.tgz", + "integrity": "sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==", + "dev": true, + "requires": { + "@babel/types": "^7.19.3", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@babel/helper-compilation-targets": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz", + "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.19.3", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true + }, + "@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dev": true, + "requires": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-transforms": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", + "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.18.6", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-simple-access": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", + "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", + "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true + }, + "@babel/helpers": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", + "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", + "dev": true, + "requires": { + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "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 + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.3.tgz", + "integrity": "sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==", + "dev": true + }, + "@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + } + }, + "@babel/traverse": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.3.tgz", + "integrity": "sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.19.3", + "@babel/types": "^7.19.3", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "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" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "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 + } + } + }, + "@babel/types": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.3.tgz", + "integrity": "sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.18.10", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + }, + "@balena/dockerignore": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@balena/dockerignore/-/dockerignore-1.0.2.tgz", + "integrity": "sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==", + "dev": true + }, + "@eslint/eslintrc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", + "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.4.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "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" + } + }, + "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 + } + } + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "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" + } + }, + "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 + } + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@hutson/parse-repository-url": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz", + "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==", + "dev": true + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "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" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "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" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "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 + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true + }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", + "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@kubernetes/client-node": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@kubernetes/client-node/-/client-node-0.10.2.tgz", + "integrity": "sha512-JvsmxbTwiMqsh9LyuXMzT5HjoENFbB3a/JroJsobuAzkxN162UqAOvg++/AA+ccIMWRR2Qln4FyaOJ0a4eKyXg==", + "dev": true, + "requires": { + "@types/js-yaml": "^3.12.1", + "@types/node": "^10.12.0", + "@types/request": "^2.47.1", + "@types/underscore": "^1.8.9", + "@types/ws": "^6.0.1", + "isomorphic-ws": "^4.0.1", + "js-yaml": "^3.13.1", + "json-stream": "^1.0.0", + "jsonpath-plus": "^0.19.0", + "request": "^2.88.0", + "shelljs": "^0.8.2", + "tslib": "^1.9.3", + "underscore": "^1.9.1", + "ws": "^6.1.0" + }, + "dependencies": { + "@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", + "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" + } + }, + "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" + } + }, + "ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@opentelemetry/api": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.2.0.tgz", + "integrity": "sha512-0nBr+VZNKm9tvNDZFstI3Pq1fCTEDK5OZTnVKNvBNAKgd0yIvmwsP4m61rEv7ZP+tOUjWJhROpxK5MsnlF911g==" + }, + "@opentelemetry/api-metrics": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api-metrics/-/api-metrics-0.33.0.tgz", + "integrity": "sha512-78evfPRRRnJA6uZ3xuBuS3VZlXTO/LRs+Ff1iv3O/7DgibCtq9k27T6Zlj8yRdJDFmcjcbQrvC0/CpDpWHaZYA==", + "requires": { + "@opentelemetry/api": "^1.0.0" + } + }, + "@opentelemetry/context-async-hooks": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.7.0.tgz", + "integrity": "sha512-g4bMzyVW5dVBeMkyadaf3NRFpmNrdD4Pp9OJsrP29HwIam/zVMNfIWQpT5IBzjtTSMhl/ED5YQYR+UOSjVq3sQ==", + "requires": {} + }, + "@opentelemetry/core": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.7.0.tgz", + "integrity": "sha512-AVqAi5uc8DrKJBimCTFUT4iFI+5eXpo4sYmGbQ0CypG0piOTHE2g9c5aSoTGYXu3CzOmJZf7pT6Xh+nwm5d6yQ==", + "requires": { + "@opentelemetry/semantic-conventions": "1.7.0" + } + }, + "@opentelemetry/exporter-jaeger": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-jaeger/-/exporter-jaeger-1.7.0.tgz", + "integrity": "sha512-Hq7FO7X6bqAHiXq/7aZ6yrSn9fkPQnEyFHfsIEU+pwUJey5YJkplc0LfvTBbLEqoLOkJewbUgSvP5WTz55oSpw==", + "requires": { + "@opentelemetry/core": "1.7.0", + "@opentelemetry/sdk-trace-base": "1.7.0", + "@opentelemetry/semantic-conventions": "1.7.0", + "jaeger-client": "^3.15.0" + }, + "dependencies": { + "@opentelemetry/sdk-trace-base": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.7.0.tgz", + "integrity": "sha512-Iz84C+FVOskmauh9FNnj4+VrA+hG5o+tkMzXuoesvSfunVSioXib0syVFeNXwOm4+M5GdWCuW632LVjqEXStIg==", + "requires": { + "@opentelemetry/core": "1.7.0", + "@opentelemetry/resources": "1.7.0", + "@opentelemetry/semantic-conventions": "1.7.0" + } + } + } + }, + "@opentelemetry/instrumentation": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.33.0.tgz", + "integrity": "sha512-8joPjKJ6TznNt04JbnzZG+m1j/4wm1OIrX7DEw/V5lyZ9/2fahIqG72jeZ26VKOZnLOpVzUUnU/dweURqBzT3Q==", + "requires": { + "@opentelemetry/api-metrics": "0.33.0", + "require-in-the-middle": "^5.0.3", + "semver": "^7.3.2", + "shimmer": "^1.2.1" + } + }, + "@opentelemetry/instrumentation-express": { + "version": "0.31.3", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-express/-/instrumentation-express-0.31.3.tgz", + "integrity": "sha512-+uta+Esj2r7oRXN2xLyI45JahbTCi07A6KpwvJZGKFaQg6nDBdWyfDdj5s1h2N13IsbFbcQqK4vidTeCcRuR8Q==", + "requires": { + "@opentelemetry/core": "^1.0.0", + "@opentelemetry/instrumentation": "^0.32.0", + "@opentelemetry/semantic-conventions": "^1.0.0", + "@types/express": "4.17.13" + }, + "dependencies": { + "@opentelemetry/api-metrics": { + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api-metrics/-/api-metrics-0.32.0.tgz", + "integrity": "sha512-g1WLhpG8B6iuDyZJFRGsR+JKyZ94m5LEmY2f+duEJ9Xb4XRlLHrZvh6G34OH6GJ8iDHxfHb/sWjJ1ZpkI9yGMQ==", + "requires": { + "@opentelemetry/api": "^1.0.0" + } + }, + "@opentelemetry/instrumentation": { + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.32.0.tgz", + "integrity": "sha512-y6ADjHpkUz/v1nkyyYjsQa/zorhX+0qVGpFvXMcbjU4sHnBnC02c6wcc93sIgZfiQClIWo45TGku1KQxJ5UUbQ==", + "requires": { + "@opentelemetry/api-metrics": "0.32.0", + "require-in-the-middle": "^5.0.3", + "semver": "^7.3.2", + "shimmer": "^1.2.1" + } + } + } + }, + "@opentelemetry/instrumentation-http": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.33.0.tgz", + "integrity": "sha512-8Ny31T1SEX9OKp89sMfLV7tP8WO5m6iBTZgmTC53Wu4t8kcNH6Y00tooMzypL/PgVtglgPXzv4T5mFLABo59AA==", + "requires": { + "@opentelemetry/api-metrics": "0.33.0", + "@opentelemetry/core": "1.7.0", + "@opentelemetry/instrumentation": "0.33.0", + "@opentelemetry/sdk-metrics": "0.33.0", + "@opentelemetry/semantic-conventions": "1.7.0", + "semver": "^7.3.5" + } + }, + "@opentelemetry/instrumentation-pg": { + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-pg/-/instrumentation-pg-0.32.0.tgz", + "integrity": "sha512-ZY2zcJOwCwSbY8a0wAwUgQXhOMIOaTGSWhHWkDJV92PY1T5E4r0B0kjF9EsBkT8cFqHEgVxt1ZeodfD3Wilh3A==", + "requires": { + "@opentelemetry/instrumentation": "^0.32.0", + "@opentelemetry/semantic-conventions": "^1.0.0", + "@types/pg": "8.6.1", + "@types/pg-pool": "2.0.3" + }, + "dependencies": { + "@opentelemetry/api-metrics": { + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api-metrics/-/api-metrics-0.32.0.tgz", + "integrity": "sha512-g1WLhpG8B6iuDyZJFRGsR+JKyZ94m5LEmY2f+duEJ9Xb4XRlLHrZvh6G34OH6GJ8iDHxfHb/sWjJ1ZpkI9yGMQ==", + "requires": { + "@opentelemetry/api": "^1.0.0" + } + }, + "@opentelemetry/instrumentation": { + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.32.0.tgz", + "integrity": "sha512-y6ADjHpkUz/v1nkyyYjsQa/zorhX+0qVGpFvXMcbjU4sHnBnC02c6wcc93sIgZfiQClIWo45TGku1KQxJ5UUbQ==", + "requires": { + "@opentelemetry/api-metrics": "0.32.0", + "require-in-the-middle": "^5.0.3", + "semver": "^7.3.2", + "shimmer": "^1.2.1" + } + } + } + }, + "@opentelemetry/propagator-b3": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.7.0.tgz", + "integrity": "sha512-8kKGS1KwArvkThdhubMZlomuREE9FaBcn9L4JrYHh2jly1FZpqOtFNO2byHymVRjH59d43Pa+eJuFpD0Fp7kSw==", + "requires": { + "@opentelemetry/core": "1.7.0" + } + }, + "@opentelemetry/propagator-jaeger": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.7.0.tgz", + "integrity": "sha512-V7i/L1bx+R/ve4z6dTdn2jtvFxGThRsXS2wNb/tWZVfV8gqnePQp+HfoLrqB/Yz2iRPUcMWrcjx6vV78umvJFA==", + "requires": { + "@opentelemetry/core": "1.7.0" + } + }, + "@opentelemetry/resources": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.7.0.tgz", + "integrity": "sha512-u1M0yZotkjyKx8dj+46Sg5thwtOTBmtRieNXqdCRiWUp6SfFiIP0bI+1XK3LhuXqXkBXA1awJZaTqKduNMStRg==", + "requires": { + "@opentelemetry/core": "1.7.0", + "@opentelemetry/semantic-conventions": "1.7.0" + } + }, + "@opentelemetry/sdk-metrics": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-0.33.0.tgz", + "integrity": "sha512-ZXPixOlTd/FHLwpkmm5nTpJE7bZOPfmbSz8hBVFCEHkXE1aKEKaM38UFnZ+2xzOY1tDsDwyxEiiBiDX8y3039A==", + "requires": { + "@opentelemetry/api-metrics": "0.33.0", + "@opentelemetry/core": "1.7.0", + "@opentelemetry/resources": "1.7.0", + "lodash.merge": "4.6.2" + } + }, + "@opentelemetry/sdk-trace-base": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.9.1.tgz", + "integrity": "sha512-Y9gC5M1efhDLYHeeo2MWcDDMmR40z6QpqcWnPCm4Dmh+RHAMf4dnEBBntIe1dDpor686kyU6JV1D29ih1lZpsQ==", + "requires": { + "@opentelemetry/core": "1.9.1", + "@opentelemetry/resources": "1.9.1", + "@opentelemetry/semantic-conventions": "1.9.1" + }, + "dependencies": { + "@opentelemetry/core": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.9.1.tgz", + "integrity": "sha512-6/qon6tw2I8ZaJnHAQUUn4BqhTbTNRS0WP8/bA0ynaX+Uzp/DDbd0NS0Cq6TMlh8+mrlsyqDE7mO50nmv2Yvlg==", + "requires": { + "@opentelemetry/semantic-conventions": "1.9.1" + } + }, + "@opentelemetry/resources": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.9.1.tgz", + "integrity": "sha512-VqBGbnAfubI+l+yrtYxeLyOoL358JK57btPMJDd3TCOV3mV5TNBmzvOfmesM4NeTyXuGJByd3XvOHvFezLn3rQ==", + "requires": { + "@opentelemetry/core": "1.9.1", + "@opentelemetry/semantic-conventions": "1.9.1" + } + }, + "@opentelemetry/semantic-conventions": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.9.1.tgz", + "integrity": "sha512-oPQdbFDmZvjXk5ZDoBGXG8B4tSB/qW5vQunJWQMFUBp7Xe8O1ByPANueJ+Jzg58esEBegyyxZ7LRmfJr7kFcFg==" + } + } + }, + "@opentelemetry/sdk-trace-node": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.7.0.tgz", + "integrity": "sha512-DCAAbi0Zbb1pIofQcKzoAVy9/6bz24asFYeLb4fW/8QYAaawDnxumA++5Huw/RcYdJs8q8AIRBykwjYWWCm/5A==", + "requires": { + "@opentelemetry/context-async-hooks": "1.7.0", + "@opentelemetry/core": "1.7.0", + "@opentelemetry/propagator-b3": "1.7.0", + "@opentelemetry/propagator-jaeger": "1.7.0", + "@opentelemetry/sdk-trace-base": "1.7.0", + "semver": "^7.3.5" + }, + "dependencies": { + "@opentelemetry/sdk-trace-base": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.7.0.tgz", + "integrity": "sha512-Iz84C+FVOskmauh9FNnj4+VrA+hG5o+tkMzXuoesvSfunVSioXib0syVFeNXwOm4+M5GdWCuW632LVjqEXStIg==", + "requires": { + "@opentelemetry/core": "1.7.0", + "@opentelemetry/resources": "1.7.0", + "@opentelemetry/semantic-conventions": "1.7.0" + } + } + } + }, + "@opentelemetry/semantic-conventions": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.7.0.tgz", + "integrity": "sha512-FGBx/Qd09lMaqQcogCHyYrFEpTx4cAjeS+48lMIR12z7LdH+zofGDVQSubN59nL6IpubfKqTeIDu9rNO28iHVA==" + }, + "@panva/asn1.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@panva/asn1.js/-/asn1.js-1.0.0.tgz", + "integrity": "sha512-UdkG3mLEqXgnlKsWanWcgb6dOjUzJ+XC5f+aWw30qrtjxeNUSfKX1cd5FBzOaXQumoe9nIqeZUvrRJS03HCCtw==", + "dev": true + }, + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "dev": true + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dev": true, + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/caseless": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz", + "integrity": "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==", + "dev": true + }, + "@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/express": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.31", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz", + "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==", + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "@types/got": { + "version": "9.6.12", + "resolved": "https://registry.npmjs.org/@types/got/-/got-9.6.12.tgz", + "integrity": "sha512-X4pj/HGHbXVLqTpKjA2ahI4rV/nNBc9mGO2I/0CgAra+F2dKgMXnENv2SRpemScBzBAI4vMelIVYViQxlSE6xA==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/tough-cookie": "*", + "form-data": "^2.5.0" + } + }, + "@types/js-yaml": { + "version": "3.12.7", + "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-3.12.7.tgz", + "integrity": "sha512-S6+8JAYTE1qdsc9HMVsfY7+SgSuUU/Tp6TYTmITW0PZxiyIMvol3Gy//y69Wkhs0ti4py5qgR3uZH6uz/DNzJQ==", + "dev": true + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true, + "peer": true + }, + "@types/mime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==" + }, + "@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true + }, + "@types/node": { + "version": "18.8.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.2.tgz", + "integrity": "sha512-cRMwIgdDN43GO4xMWAfJAecYn8wV4JbsOGHNfNUIDiuYkUYAR5ec4Rj7IO2SAhFPEfpPtLtUTbbny/TCT7aDwA==" + }, + "@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "@types/pg": { + "version": "8.6.1", + "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.6.1.tgz", + "integrity": "sha512-1Kc4oAGzAl7uqUStZCDvaLFqZrW9qWSjXOmBfdgyBP5La7Us6Mg4GBvRlSoaZMhQF/zSj1C8CtKMBkoiT8eL8w==", + "requires": { + "@types/node": "*", + "pg-protocol": "*", + "pg-types": "^2.2.0" + } + }, + "@types/pg-pool": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/pg-pool/-/pg-pool-2.0.3.tgz", + "integrity": "sha512-fwK5WtG42Yb5RxAwxm3Cc2dJ39FlgcaNiXKvtTLAwtCn642X7dgel+w1+cLWwpSOFImR3YjsZtbkfjxbHtFAeg==", + "requires": { + "@types/pg": "*" + } + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + }, + "@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + }, + "@types/request": { + "version": "2.48.8", + "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.8.tgz", + "integrity": "sha512-whjk1EDJPcAR2kYHRbFl/lKeeKYTi05A15K9bnLInCVroNDCtXce57xKdI0/rQaA3K+6q0eFyUBPmqfSndUZdQ==", + "dev": true, + "requires": { + "@types/caseless": "*", + "@types/node": "*", + "@types/tough-cookie": "*", + "form-data": "^2.5.0" + } + }, + "@types/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", + "requires": { + "@types/mime": "*", + "@types/node": "*" + } + }, + "@types/tough-cookie": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", + "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", + "dev": true + }, + "@types/underscore": { + "version": "1.11.4", + "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.11.4.tgz", + "integrity": "sha512-uO4CD2ELOjw8tasUrAhvnn2W4A0ZECOvMjCivJr4gA9pGgjv+qxKWY9GLTMVEK8ej85BxQOocUyE7hImmSQYcg==", + "dev": true + }, + "@types/ws": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-6.0.4.tgz", + "integrity": "sha512-PpPrX7SZW9re6+Ha8ojZG4Se8AZXgf0GK6zmfqEuCsY49LFDNXO3SByp44X3dFEqtB73lkCDAdUazhAjVPiNwg==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "requires": { + "event-target-shim": "^5.0.0" + } + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "add-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", + "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==", + "dev": true + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "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-color": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-color/-/ansi-color-0.2.1.tgz", + "integrity": "sha512-bF6xLaZBLpOQzgYUtYEhJx090nPSZk1BQ/q2oyBK9aMMcJHzx9uXGCjI2Y+LebsN4Jwoykr0V9whbPiogdyHoQ==" + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "append-transform": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", + "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", + "dev": true, + "requires": { + "default-require-extensions": "^3.0.0" + } + }, + "archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", + "dev": true + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", + "dev": true + }, + "array-includes": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", + "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5", + "get-intrinsic": "^1.1.1", + "is-string": "^1.0.7" + } + }, + "array.prototype.flat": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", + "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.2", + "es-shim-unscopables": "^1.0.0" + } + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true + }, + "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 + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "atomic-sleep": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", + "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==" + }, + "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.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "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 + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "base64url": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz", + "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==", + "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" + } + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "requires": { + "side-channel": "^1.0.4" + } + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, + "browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "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 + }, + "buffer-writer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", + "integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==" + }, + "bufrw": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/bufrw/-/bufrw-1.3.0.tgz", + "integrity": "sha512-jzQnSbdJqhIltU9O5KUiTtljP9ccw2u5ix59McQy4pV2xGhVLhRZIndY8GIrgh5HjXa6+QJ9AQhOd2QWQizJFQ==", + "requires": { + "ansi-color": "^0.2.1", + "error": "^7.0.0", + "hexer": "^1.5.0", + "xtend": "^4.0.0" + } + }, + "buildcheck": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/buildcheck/-/buildcheck-0.0.3.tgz", + "integrity": "sha512-pziaA+p/wdVImfcbsZLNF32EiWyujlQLwolMqUQE8xpKNOH7KmZQaY8sXN7DGOEzPAElo9QTaeNRfGnf3iOJbA==", + "dev": true, + "optional": true + }, + "builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, + "peer": true, + "requires": { + "semver": "^7.0.0" + } + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dev": true, + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true + } + } + }, + "caching-transform": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", + "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", + "dev": true, + "requires": { + "hasha": "^5.0.0", + "make-dir": "^3.0.0", + "package-hash": "^4.0.0", + "write-file-atomic": "^3.0.0" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + } + }, + "caniuse-lite": { + "version": "1.0.30001416", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001416.tgz", + "integrity": "sha512-06wzzdAkCPZO+Qm4e/eNghZBDfVNDsCgw33T27OwBH9unE9S478OYw//Q2L7Npf/zBzs7rjZOszIFQkwQKAEqA==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "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" + } + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "compare-func": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "dev": true, + "requires": { + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" + } + }, + "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": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "requires": { + "safe-buffer": "5.2.1" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "conventional-changelog": { + "version": "3.1.25", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.25.tgz", + "integrity": "sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ==", + "dev": true, + "requires": { + "conventional-changelog-angular": "^5.0.12", + "conventional-changelog-atom": "^2.0.8", + "conventional-changelog-codemirror": "^2.0.8", + "conventional-changelog-conventionalcommits": "^4.5.0", + "conventional-changelog-core": "^4.2.1", + "conventional-changelog-ember": "^2.0.9", + "conventional-changelog-eslint": "^3.0.9", + "conventional-changelog-express": "^2.0.6", + "conventional-changelog-jquery": "^3.0.11", + "conventional-changelog-jshint": "^2.0.9", + "conventional-changelog-preset-loader": "^2.3.4" + } + }, + "conventional-changelog-angular": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", + "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", + "dev": true, + "requires": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + } + }, + "conventional-changelog-atom": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz", + "integrity": "sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-codemirror": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz", + "integrity": "sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-config-spec": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz", + "integrity": "sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ==", + "dev": true + }, + "conventional-changelog-conventionalcommits": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz", + "integrity": "sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==", + "dev": true, + "requires": { + "compare-func": "^2.0.0", + "lodash": "^4.17.15", + "q": "^1.5.1" + } + }, + "conventional-changelog-core": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz", + "integrity": "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==", + "dev": true, + "requires": { + "add-stream": "^1.0.0", + "conventional-changelog-writer": "^5.0.0", + "conventional-commits-parser": "^3.2.0", + "dateformat": "^3.0.0", + "get-pkg-repo": "^4.0.0", + "git-raw-commits": "^2.0.8", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^4.1.1", + "lodash": "^4.17.15", + "normalize-package-data": "^3.0.0", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "through2": "^4.0.0" + } + }, + "conventional-changelog-ember": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz", + "integrity": "sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-eslint": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz", + "integrity": "sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-express": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz", + "integrity": "sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-jquery": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz", + "integrity": "sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-jshint": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz", + "integrity": "sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==", + "dev": true, + "requires": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + } + }, + "conventional-changelog-preset-loader": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", + "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", + "dev": true + }, + "conventional-changelog-writer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz", + "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==", + "dev": true, + "requires": { + "conventional-commits-filter": "^2.0.7", + "dateformat": "^3.0.0", + "handlebars": "^4.7.7", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "semver": "^6.0.0", + "split": "^1.0.0", + "through2": "^4.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "conventional-commits-filter": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", + "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", + "dev": true, + "requires": { + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.0" + } + }, + "conventional-commits-parser": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", + "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", + "dev": true, + "requires": { + "is-text-path": "^1.0.1", + "JSONStream": "^1.0.4", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "dependencies": { + "split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dev": true, + "requires": { + "readable-stream": "^3.0.0" + } + } + } + }, + "conventional-recommended-bump": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz", + "integrity": "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==", + "dev": true, + "requires": { + "concat-stream": "^2.0.0", + "conventional-changelog-preset-loader": "^2.3.4", + "conventional-commits-filter": "^2.0.7", + "conventional-commits-parser": "^3.2.0", + "git-raw-commits": "^2.0.8", + "git-semver-tags": "^4.1.1", + "meow": "^8.0.0", + "q": "^1.5.1" + } + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + }, + "dependencies": { + "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 + } + } + }, + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "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-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 + }, + "cpu-features": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.4.tgz", + "integrity": "sha512-fKiZ/zp1mUwQbnzb9IghXtHtDoTMtNeb8oYGx6kX2SYfhnG0HNdBEBIzB9b5KlXu5DQPhfy3mInbBxFcgwAr3A==", + "dev": true, + "optional": true, + "requires": { + "buildcheck": "0.0.3", + "nan": "^2.15.0" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "dargs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "dev": true + }, + "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" + } + }, + "dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true + }, + "decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==", + "dev": true, + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true + } + } + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "default-require-extensions": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", + "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", + "dev": true, + "requires": { + "strip-bom": "^4.0.0" + } + }, + "defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", + "dev": true + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "peer": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.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": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" + }, + "detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "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" + } + }, + "diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "dev": true + }, + "docker-modem": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-3.0.6.tgz", + "integrity": "sha512-h0Ow21gclbYsZ3mkHDfsYNDqtRhXS8fXr51bU0qr1dxgTMJj0XufbzX+jhNOvA8KuEEzn6JbvLVhXyv+fny9Uw==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "readable-stream": "^3.5.0", + "split-ca": "^1.0.1", + "ssh2": "^1.11.0" + }, + "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" + } + }, + "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 + } + } + }, + "dockerode": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-3.3.4.tgz", + "integrity": "sha512-3EUwuXnCU+RUlQEheDjmBE0B7q66PV9Rw5NiH1sXwINq0M9c5ERP9fxgkw36ZHOtzf4AGEEYySnkx/sACC9EgQ==", + "dev": true, + "requires": { + "@balena/dockerignore": "^1.0.2", + "docker-modem": "^3.0.0", + "tar-fs": "~2.0.1" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "dotgitignore": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz", + "integrity": "sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA==", + "dev": true, + "requires": { + "find-up": "^3.0.0", + "minimatch": "^3.0.4" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + } + } + }, + "duplexer3": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", + "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==", + "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==" + }, + "electron-to-chromium": { + "version": "1.4.272", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.272.tgz", + "integrity": "sha512-KS6gPPGNrzpVv9HzFVq+Etd0AjZEPr5pvaTBn2yD6KV4+cKW4I0CJoJNgmTG6gUQPAMZ4wIPtcOuoou3qFAZCA==", + "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==" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "error": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/error/-/error-7.0.2.tgz", + "integrity": "sha512-UtVv4l5MhijsYUxPJo4390gzfZvAnTHreNnDjnTZaKIiZ/SemXxAhBkYSKtWa5RtBXbLP8tMgn/n0RUa/H7jXw==", + "requires": { + "string-template": "~0.2.1", + "xtend": "~4.0.0" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.3.tgz", + "integrity": "sha512-AyrnaKVpMzljIdwjzrj+LxGmj8ik2LckwXacHqrJJ/jxz6dDDBcZ7I7nlHM0FvEW8MfbWJwOd+yT2XzYW49Frw==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.3", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.6", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" + } + }, + "es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "peer": true, + "requires": { + "has": "^1.0.3" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "peer": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "eslint": { + "version": "8.33.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.33.0.tgz", + "integrity": "sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA==", + "dev": true, + "requires": { + "@eslint/eslintrc": "^1.4.1", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.4.0", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "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" + } + }, + "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 + } + } + }, + "eslint-config-semistandard": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-semistandard/-/eslint-config-semistandard-17.0.0.tgz", + "integrity": "sha512-tLi0JYmfiiJgtmRhoES55tENatR7y/5aXOh6cBeW+qjzl1+WwyV0arDqR65XN3/xrPZt+/1EG+xNLknV/0jWsQ==", + "dev": true, + "requires": {} + }, + "eslint-config-standard": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz", + "integrity": "sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==", + "dev": true, + "peer": true, + "requires": {} + }, + "eslint-import-resolver-node": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", + "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "dev": true, + "peer": true, + "requires": { + "debug": "^3.2.7", + "resolve": "^1.20.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "requires": { + "ms": "^2.1.1" + } + }, + "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, + "peer": true + } + } + }, + "eslint-module-utils": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", + "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", + "dev": true, + "peer": true, + "requires": { + "debug": "^3.2.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "requires": { + "ms": "^2.1.1" + } + }, + "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, + "peer": true + } + } + }, + "eslint-plugin-es": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz", + "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==", + "dev": true, + "peer": true, + "requires": { + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + }, + "dependencies": { + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "peer": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "peer": true + } + } + }, + "eslint-plugin-import": { + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", + "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", + "dev": true, + "peer": true, + "requires": { + "array-includes": "^3.1.4", + "array.prototype.flat": "^1.2.5", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.7.3", + "has": "^1.0.3", + "is-core-module": "^2.8.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.5", + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "peer": true, + "requires": { + "esutils": "^2.0.2" + } + } + } + }, + "eslint-plugin-n": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.3.0.tgz", + "integrity": "sha512-IyzPnEWHypCWasDpxeJnim60jhlumbmq0pubL6IOcnk8u2y53s5QfT8JnXy7skjHJ44yWHRb11PLtDHuu1kg/Q==", + "dev": true, + "peer": true, + "requires": { + "builtins": "^5.0.1", + "eslint-plugin-es": "^4.1.0", + "eslint-utils": "^3.0.0", + "ignore": "^5.1.1", + "is-core-module": "^2.10.0", + "minimatch": "^3.1.2", + "resolve": "^1.22.1", + "semver": "^7.3.7" + } + }, + "eslint-plugin-promise": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.0.1.tgz", + "integrity": "sha512-uM4Tgo5u3UWQiroOyDEsYcVMOo7re3zmno0IZmB5auxoaQNIceAbXEkSt8RNrKtaYehARHG06pYK6K1JhtP0Zw==", + "dev": true, + "peer": true, + "requires": {} + }, + "eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true + }, + "espree": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + } + }, + "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 + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" + }, + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + }, + "express": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.10.3", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + } + } + } + }, + "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-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fast-redact": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.1.2.tgz", + "integrity": "sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw==" + }, + "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 + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "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" + }, + "dependencies": { + "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 + } + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-keys": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz", + "integrity": "sha512-tcgI872xXjwFF4xgQmLxi76GnwJG3g/3isB1l4/G5Z4zrbddGpBjqZCO9oEAcB5wX0Hj/5iQB3toxfO7in1hHA==", + "dev": true, + "requires": { + "is-object": "~1.0.1", + "merge-descriptors": "~1.0.0" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + } + }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "foreground-child": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", + "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^3.0.2" + } + }, + "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.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "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" + }, + "dependencies": { + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + } + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" + }, + "fromentries": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", + "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", + "dev": true + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "peer": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true + }, + "get-pkg-repo": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz", + "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==", + "dev": true, + "requires": { + "@hutson/parse-repository-url": "^3.0.0", + "hosted-git-info": "^4.0.0", + "through2": "^2.0.0", + "yargs": "^16.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "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" + } + }, + "git-raw-commits": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", + "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", + "dev": true, + "requires": { + "dargs": "^7.0.0", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "dependencies": { + "split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dev": true, + "requires": { + "readable-stream": "^3.0.0" + } + } + } + }, + "git-remote-origin-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", + "integrity": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==", + "dev": true, + "requires": { + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" + } + }, + "git-repo-info": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/git-repo-info/-/git-repo-info-2.1.1.tgz", + "integrity": "sha512-8aCohiDo4jwjOwma4FmYFd3i97urZulL8XL24nIPxuE+GZnfsAyy/g2Shqx6OjUiFKUXZM+Yy+KHnOmmA3FVcg==", + "dev": true + }, + "git-semver-tags": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", + "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", + "dev": true, + "requires": { + "meow": "^8.0.0", + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "gitconfiglocal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==", + "dev": true, + "requires": { + "ini": "^1.3.2" + } + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dev": true, + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, + "handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + } + }, + "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" + } + }, + "hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "peer": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "peer": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "hasha": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", + "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", + "dev": true, + "requires": { + "is-stream": "^2.0.0", + "type-fest": "^0.8.0" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hexer": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/hexer/-/hexer-1.5.0.tgz", + "integrity": "sha512-dyrPC8KzBzUJ19QTIo1gXNqIISRXQ0NwteW6OeQHRN4ZuZeHkdODfj0zHBdOlHbRY8GqbqK57C9oWSvQZizFsg==", + "requires": { + "ansi-color": "^0.2.1", + "minimist": "^1.1.0", + "process": "^0.10.0", + "xtend": "^4.0.0" + } + }, + "hexoid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", + "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", + "dev": true + }, + "hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "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==", + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "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.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "peer": true, + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "peer": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "peer": true + }, + "is-core-module": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "peer": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-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-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "peer": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "peer": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true + }, + "is-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true + }, + "is-plain-object": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz", + "integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==", + "dev": true + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "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-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "peer": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "peer": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", + "dev": true, + "requires": { + "text-extensions": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isomorphic-ws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", + "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", + "dev": true, + "requires": {} + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true + }, + "istanbul-lib-hook": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", + "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", + "dev": true, + "requires": { + "append-transform": "^2.0.0" + } + }, + "istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "requires": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "istanbul-lib-processinfo": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", + "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", + "dev": true, + "requires": { + "archy": "^1.0.0", + "cross-spawn": "^7.0.3", + "istanbul-lib-coverage": "^3.2.0", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "uuid": "^8.3.2" + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "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" + } + }, + "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 + } + } + }, + "istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jaeger-client": { + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/jaeger-client/-/jaeger-client-3.19.0.tgz", + "integrity": "sha512-M0c7cKHmdyEUtjemnJyx/y9uX16XHocL46yQvyqDlPdvAcwPDbHrIbKjQdBqtiE4apQ/9dmr+ZLJYYPGnurgpw==", + "requires": { + "node-int64": "^0.4.0", + "opentracing": "^0.14.4", + "thriftrw": "^3.5.0", + "uuid": "^8.3.2", + "xorshift": "^1.1.1" + } + }, + "jose": { + "version": "1.28.2", + "resolved": "https://registry.npmjs.org/jose/-/jose-1.28.2.tgz", + "integrity": "sha512-wWy51U2MXxYi3g8zk2lsQ8M6O1lartpkxuq1TYexzPKYLgHLZkCjklaATP36I5BUoWjF2sInB9U1Qf18fBZxNA==", + "dev": true, + "requires": { + "@panva/asn1.js": "^1.0.0" + } + }, + "js-sdsl": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", + "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "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-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "json-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-stream/-/json-stream-1.0.0.tgz", + "integrity": "sha512-H/ZGY0nIAg3QcOwE1QN/rK/Fa7gJn7Ii5obwp6zyPO4xiPNwpIMjqy2gwjBEGqzkF/vSWEIBQCBuN19hYiL6Qg==", + "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 + }, + "json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true + }, + "jsonpath-plus": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-0.19.0.tgz", + "integrity": "sha512-GSVwsrzW9LsA5lzsqe4CkuZ9wp+kxBb2GwNniaWzI2YFn5Ig42rSW8ZxVpWXaAfakXNrx5pgY5AbQq7kzX29kg==", + "dev": true + }, + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "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" + } + }, + "keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dev": true, + "requires": { + "json-buffer": "3.0.0" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "kube-service-bindings": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/kube-service-bindings/-/kube-service-bindings-2.1.0.tgz", + "integrity": "sha512-b1qFXKl5QzgqM/xLl462XhqvmUnj0pEOs13c9WetEW9cHE/3CkNxnEfZE/Dw0XB/ep+23J3TauRTS0EjrMxTXg==" + }, + "kubernetes-client": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/kubernetes-client/-/kubernetes-client-9.0.0.tgz", + "integrity": "sha512-Qy8o42dZVHB9P+cIiKdWpQbz/65l/qW1fDYvlzzeSLftmL1Ne3HEiM+0TmKAwNuRW0pTJN2tRWhcccToclxJ8g==", + "dev": true, + "requires": { + "@kubernetes/client-node": "0.10.2", + "camelcase": "^6.0.0", + "deepmerge": "^4.2.2", + "depd": "^2.0.0", + "js-yaml": "^3.13.1", + "json-stream": "^1.0.0", + "openid-client": "^3.14.0", + "pump": "^3.0.0", + "qs": "^6.9.0", + "request": "^2.88.2", + "swagger-fluent": "^5.0.3", + "url-join": "^4.0.1", + "ws": "^7.2.3" + }, + "dependencies": { + "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" + } + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "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" + } + } + } + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + } + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", + "dev": true + }, + "lodash.ismatch": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", + "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + } + }, + "long": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/long/-/long-2.4.0.tgz", + "integrity": "sha512-ijUtjmO/n2A5PaosNG9ZGDsQ3vxJg7ZW8vsY8Kp0f2yIZWhSJvjmegV7t+9RPQKxKrvj8yKGehhS+po14hPLGQ==" + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true + }, + "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==" + }, + "meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "requires": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true + } + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "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==", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true + }, + "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.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + }, + "minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + } + }, + "minipass": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", + "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, + "mocha": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.1.0.tgz", + "integrity": "sha512-vUF7IYxEoN7XhQpFLxQAEMtE4W91acW4B6En9l97MwE9stL1A9gusXfoHZCLVHDUJ/7V5+lbCM6yMqzo5vNymg==", + "dev": true, + "requires": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "nanoid": "3.3.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "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" + }, + "dependencies": { + "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 + } + } + }, + "minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "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 + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "modify-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", + "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", + "dev": true + }, + "module-details-from-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/module-details-from-path/-/module-details-from-path-1.0.3.tgz", + "integrity": "sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==" + }, + "module-not-found-error": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/module-not-found-error/-/module-not-found-error-1.0.1.tgz", + "integrity": "sha512-pEk4ECWQXV6z2zjhRZUongnLJNUeGQJ3w6OQ5ctGwD+i5o93qjRQUk2Rt6VdNeu3sEP0AB4LcfvdebpxBRVr4g==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "nan": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", + "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==", + "dev": true, + "optional": true + }, + "nanoid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", + "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + }, + "node-preload": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", + "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", + "dev": true, + "requires": { + "process-on-spawn": "^1.0.0" + } + }, + "node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "dev": true + }, + "nodeshift": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/nodeshift/-/nodeshift-8.7.0.tgz", + "integrity": "sha512-Czsh8JGeKa0XyXFyDnuURVJIPLLzfJzs/N8lwOnTrLqj6cZcCmRv+4nwfy5NEhx4pjk8oM2ueitvjdK/oLd8+g==", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "dockerode": "~3.3.1", + "git-repo-info": "^2.0.0", + "js-yaml": "~3.14.1", + "lodash": "^4.17.21", + "minimatch": "^5.0.1", + "mkdirp": "^1.0.3", + "openshift-rest-client": "~7.0.0", + "parse-gitignore": "^1.0.1", + "tar": "~6.1.11", + "yargs": "^17.4.1" + }, + "dependencies": { + "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" + } + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "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" + } + }, + "minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "yargs": { + "version": "17.6.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.0.tgz", + "integrity": "sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==", + "dev": true, + "requires": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + } + } + }, + "normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", + "dev": true + }, + "nyc": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", + "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", + "dev": true, + "requires": { + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "caching-transform": "^4.0.0", + "convert-source-map": "^1.7.0", + "decamelize": "^1.2.0", + "find-cache-dir": "^3.2.0", + "find-up": "^4.1.0", + "foreground-child": "^2.0.0", + "get-package-type": "^0.1.0", + "glob": "^7.1.6", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-hook": "^3.0.0", + "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-processinfo": "^2.0.2", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "make-dir": "^3.0.0", + "node-preload": "^0.2.1", + "p-map": "^3.0.0", + "process-on-spawn": "^1.0.0", + "resolve-from": "^5.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "spawn-wrap": "^2.0.0", + "test-exclude": "^6.0.0", + "yargs": "^15.0.2" + }, + "dependencies": { + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "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 + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "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-hash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "dev": true + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "peer": true + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.values": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", + "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + } + }, + "oidc-token-hash": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.0.1.tgz", + "integrity": "sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ==", + "dev": true + }, + "on-exit-leak-free": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.0.tgz", + "integrity": "sha512-VuCaZZAjReZ3vUwgOB8LxAosIurDiAW0s13rI1YwmaP++jvcxP77AWoQvenZebpCA2m8WC1/EosPYPMjnRAp/w==" + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "requires": { + "ee-first": "1.1.1" + } + }, + "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" + } + }, + "openid-client": { + "version": "3.15.10", + "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-3.15.10.tgz", + "integrity": "sha512-C9r6/iVzNQ7aGp0krS5mFIY5nY8AH6ajYCH0Njns6AXy2fM3Khw/dY97QlaFJWW2QLhec6xfEk23LZw9EeX66Q==", + "dev": true, + "requires": { + "@types/got": "^9.6.9", + "base64url": "^3.0.1", + "got": "^9.6.0", + "jose": "^1.27.1", + "lru-cache": "^6.0.0", + "make-error": "^1.3.6", + "object-hash": "^2.0.1", + "oidc-token-hash": "^5.0.0", + "p-any": "^3.0.0" + } + }, + "openshift-rest-client": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/openshift-rest-client/-/openshift-rest-client-7.0.0.tgz", + "integrity": "sha512-zfiN9Cs8ZCJHAcnVAFkbFzbEGP9YXKARrToDH+F5PvsguULpUV1zgPzApc6lElM/PVSXyzsUuPIvgnd9uhnPcg==", + "dev": true, + "requires": { + "kubernetes-client": "9.0.0", + "request": "~2.88.2" + } + }, + "opentracing": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/opentracing/-/opentracing-0.14.7.tgz", + "integrity": "sha512-vz9iS7MJ5+Bp1URw8Khvdyw1H/hGvzHWlKQ7eRrQojSCDL1/SrWfrY9QebLw97n2deyRtzHRC3MkQfVNUCo91Q==" + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-any": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-any/-/p-any-3.0.0.tgz", + "integrity": "sha512-5rqbqfsRWNb0sukt0awwgJMlaep+8jV45S15SKKB34z4UuzjcofIfnriCBhWjZP2jbVtjt9yRl7buB6RlKsu9w==", + "dev": true, + "requires": { + "p-cancelable": "^2.0.0", + "p-some": "^5.0.0" + }, + "dependencies": { + "p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true + } + } + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "dev": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-some": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-some/-/p-some-5.0.0.tgz", + "integrity": "sha512-Js5XZxo6vHjB9NOYAzWDYAIyyiPvva0DWESAIWIK7uhSpGsyg5FwUPxipU/SOQx5x9EqhOh545d1jo6cVkitig==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0", + "p-cancelable": "^2.0.0" + }, + "dependencies": { + "p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true + } + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "package-hash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", + "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.15", + "hasha": "^5.0.0", + "lodash.flattendeep": "^4.4.0", + "release-zalgo": "^1.0.0" + } + }, + "packet-reader": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz", + "integrity": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==" + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-gitignore": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-gitignore/-/parse-gitignore-1.0.1.tgz", + "integrity": "sha512-UGyowyjtx26n65kdAMWhm6/3uy5uSrpcuH7tt+QEVudiBoVS+eqHxD5kbi9oWVRwj7sCzXqwuM+rUGw7earl6A==", + "dev": true + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "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 + }, + "pg": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.8.0.tgz", + "integrity": "sha512-UXYN0ziKj+AeNNP7VDMwrehpACThH7LUl/p8TDFpEUuSejCUIwGSfxpHsPvtM6/WXFy6SU4E5RG4IJV/TZAGjw==", + "requires": { + "buffer-writer": "2.0.0", + "packet-reader": "1.0.0", + "pg-connection-string": "^2.5.0", + "pg-pool": "^3.5.2", + "pg-protocol": "^1.5.0", + "pg-types": "^2.1.0", + "pgpass": "1.x" + } + }, + "pg-connection-string": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz", + "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==" + }, + "pg-int8": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", + "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==" + }, + "pg-pool": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.5.2.tgz", + "integrity": "sha512-His3Fh17Z4eg7oANLob6ZvH8xIVen3phEZh2QuyrIl4dQSDVEabNducv6ysROKpDNPSD+12tONZVWfSgMvDD9w==", + "requires": {} + }, + "pg-protocol": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.5.0.tgz", + "integrity": "sha512-muRttij7H8TqRNu/DxrAJQITO4Ac7RmX3Klyr/9mJEOBeIpgnF8f9jAfRz5d3XwQZl5qBjF9gLsUtMPJE0vezQ==" + }, + "pg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", + "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", + "requires": { + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" + } + }, + "pgpass": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", + "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", + "requires": { + "split2": "^4.1.0" + } + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + }, + "pino": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-8.7.0.tgz", + "integrity": "sha512-l9sA5uPxmZzwydhMWUcm1gI0YxNnYl8MfSr2h8cwLvOAzQLBLewzF247h/vqHe3/tt6fgtXeG9wdjjoetdI/vA==", + "requires": { + "atomic-sleep": "^1.0.0", + "fast-redact": "^3.1.1", + "on-exit-leak-free": "^2.1.0", + "pino-abstract-transport": "v1.0.0", + "pino-std-serializers": "^6.0.0", + "process-warning": "^2.0.0", + "quick-format-unescaped": "^4.0.3", + "real-require": "^0.2.0", + "safe-stable-stringify": "^2.3.1", + "sonic-boom": "^3.1.0", + "thread-stream": "^2.0.0" + } + }, + "pino-abstract-transport": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.0.0.tgz", + "integrity": "sha512-c7vo5OpW4wIS42hUVcT5REsL8ZljsUfBjqV/e2sFxmFEFZiq1XLUp5EYLtuDH6PEHq9W1egWqRbnLUP5FuZmOA==", + "requires": { + "readable-stream": "^4.0.0", + "split2": "^4.0.0" + }, + "dependencies": { + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" + }, + "readable-stream": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.2.0.tgz", + "integrity": "sha512-gJrBHsaI3lgBoGMW/jHZsQ/o/TIWiu5ENCJG1BB7fuCKzpFM8GaS2UoBVt9NO+oI+3FcrBNbUkl3ilDe09aY4A==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10" + } + } + } + }, + "pino-std-serializers": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.0.0.tgz", + "integrity": "sha512-mMMOwSKrmyl+Y12Ri2xhH1lbzQxwwpuru9VjyJpgFIH4asSj88F2csdMwN6+M5g1Ll4rmsYghHLQJw81tgZ7LQ==" + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + } + } + }, + "postgres-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==" + }, + "postgres-bytea": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", + "integrity": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==" + }, + "postgres-date": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", + "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==" + }, + "postgres-interval": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", + "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", + "requires": { + "xtend": "^4.0.0" + } + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", + "dev": true + }, + "process": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/process/-/process-0.10.1.tgz", + "integrity": "sha512-dyIett8dgGIZ/TXKUzeYExt7WA6ldDzys9vTDU/cCA9L17Ypme+KzS+NjQCjpn9xsvi/shbMC+yP/BcFMBz0NA==" + }, + "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 + }, + "process-on-spawn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", + "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", + "dev": true, + "requires": { + "fromentries": "^1.2.0" + } + }, + "process-warning": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-2.0.0.tgz", + "integrity": "sha512-+MmoAXoUX+VTHAlwns0h+kFUWFs/3FZy+ZuchkgjyOu3oioLAo2LB5aCfKPh2+P9O18i3m43tUEv3YqttSy0Ww==" + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "proxyquire": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/proxyquire/-/proxyquire-2.1.3.tgz", + "integrity": "sha512-BQWfCqYM+QINd+yawJz23tbBM40VIGXOdDw3X344KcclI/gtBbdWF6SlQ4nK/bYhF9d27KYug9WzljHC6B9Ysg==", + "dev": true, + "requires": { + "fill-keys": "^1.0.2", + "module-not-found-error": "^1.0.1", + "resolve": "^1.11.1" + } + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "dev": true + }, + "qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "quick-format-unescaped": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", + "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" + }, + "quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + } + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "real-require": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", + "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==" + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, + "redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + } + }, + "regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + } + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true + }, + "release-zalgo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", + "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", + "dev": true, + "requires": { + "es6-error": "^4.0.1" + } + }, + "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": { + "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" + } + }, + "qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true + }, + "require-in-the-middle": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-5.2.0.tgz", + "integrity": "sha512-efCx3b+0Z69/LGJmm9Yvi4cqEdxnoGnxYxGxBghkkTTFeXRtTCmmhO0AnAfHz59k957uTSuy8WaHqOs8wbYUWg==", + "requires": { + "debug": "^4.1.1", + "module-details-from-path": "^1.0.3", + "resolve": "^1.22.1" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", + "dev": true, + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, + "safe-stable-stringify": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.0.tgz", + "integrity": "sha512-eehKHKpab6E741ud7ZIMcXhKcP6TSIezPkNZhy5U8xC6+VvrRdUA2tMgxGxaGl4cz7c2Ew5+mg5+wNB16KQqrA==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "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==", + "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": { + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "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==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dev": true, + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, + "shimmer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", + "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==" + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "sonic-boom": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.2.0.tgz", + "integrity": "sha512-SbbZ+Kqj/XIunvIAgUZRlqd6CGQYq71tRRbXR92Za8J/R3Yh4Av+TWENiSiEgnlwckYLyP0YZQWVfyNC0dzLaA==", + "requires": { + "atomic-sleep": "^1.0.0" + } + }, + "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 + }, + "spawn-wrap": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", + "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", + "dev": true, + "requires": { + "foreground-child": "^2.0.0", + "is-windows": "^1.0.2", + "make-dir": "^3.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "which": "^2.0.1" + } + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", + "dev": true + }, + "split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, + "requires": { + "through": "2" + } + }, + "split-ca": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", + "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==", + "dev": true + }, + "split2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.1.0.tgz", + "integrity": "sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ==" + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "ssh2": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.11.0.tgz", + "integrity": "sha512-nfg0wZWGSsfUe/IBJkXVll3PEZ//YH2guww+mP88gTpuSU4FtZN7zu9JoeTGOyCNx2dTDtT9fOpWwlzyj4uOOw==", + "dev": true, + "requires": { + "asn1": "^0.2.4", + "bcrypt-pbkdf": "^1.0.2", + "cpu-features": "~0.0.4", + "nan": "^2.16.0" + } + }, + "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" + } + }, + "standard-version": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-9.5.0.tgz", + "integrity": "sha512-3zWJ/mmZQsOaO+fOlsa0+QK90pwhNd042qEcw6hKFNoLFs7peGyvPffpEBbK/DSGPbyOvli0mUIFv5A4qTjh2Q==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "conventional-changelog": "3.1.25", + "conventional-changelog-config-spec": "2.1.0", + "conventional-changelog-conventionalcommits": "4.6.3", + "conventional-recommended-bump": "6.1.0", + "detect-indent": "^6.0.0", + "detect-newline": "^3.1.0", + "dotgitignore": "^2.1.0", + "figures": "^3.1.0", + "find-up": "^5.0.0", + "git-semver-tags": "^4.0.0", + "semver": "^7.1.1", + "stringify-package": "^1.0.1", + "yargs": "^16.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "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 + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-template": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", + "integrity": "sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw==" + }, + "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" + } + }, + "string.prototype.trimend": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", + "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + } + }, + "string.prototype.trimstart": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", + "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + } + }, + "stringify-package": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.1.tgz", + "integrity": "sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==", + "dev": true + }, + "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" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + }, + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "requires": { + "min-indent": "^1.0.0" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "superagent": { + "version": "8.0.9", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.9.tgz", + "integrity": "sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA==", + "dev": true, + "requires": { + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.4", + "debug": "^4.3.4", + "fast-safe-stringify": "^2.1.1", + "form-data": "^4.0.0", + "formidable": "^2.1.2", + "methods": "^1.1.2", + "mime": "2.6.0", + "qs": "^6.11.0", + "semver": "^7.3.8" + }, + "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" + } + }, + "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.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + } + } + }, + "supertest": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz", + "integrity": "sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==", + "dev": true, + "requires": { + "methods": "^1.1.2", + "superagent": "^8.0.5" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "swagger-fluent": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/swagger-fluent/-/swagger-fluent-5.0.3.tgz", + "integrity": "sha512-i43ADMtPi7dxAN75Lw50SlncMB31FgaVwXqKioR8SWs+Yon2RbiLU1J1PGMXA4N8cSt9Vz5RHzaoKjz/+iW88g==", + "dev": true, + "requires": { + "deepmerge": "^4.2.2", + "is-plain-object": "^3.0.0", + "request": "^2.88.0" + } + }, + "tar": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "dev": true, + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + } + }, + "tar-fs": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.1.tgz", + "integrity": "sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA==", + "dev": true, + "requires": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.0.0" + }, + "dependencies": { + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + } + } + }, + "tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "requires": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + } + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "text-extensions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "dev": true + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "thread-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.2.0.tgz", + "integrity": "sha512-rUkv4/fnb4rqy/gGy7VuqK6wE1+1DOCOWy4RMeaV69ZHMP11tQKZvZSip1yTgrKCMZzEMcCL/bKfHvSfDHx+iQ==", + "requires": { + "real-require": "^0.2.0" + } + }, + "thriftrw": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/thriftrw/-/thriftrw-3.12.0.tgz", + "integrity": "sha512-4YZvR4DPEI41n4Opwr4jmrLGG4hndxr7387kzRFIIzxHQjarPusH4lGXrugvgb7TtPrfZVTpZCVe44/xUxowEw==", + "requires": { + "bufrw": "^1.3.0", + "error": "7.0.2", + "long": "^2.4.0" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "requires": { + "readable-stream": "3" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true + }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + }, + "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" + } + }, + "trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true + }, + "tsconfig-paths": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", + "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "dev": true, + "peer": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "peer": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "peer": true + } + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "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-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "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==", + "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 + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "uglify-js": { + "version": "3.17.2", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.2.tgz", + "integrity": "sha512-bbxglRjsGQMchfvXZNusUcYgiB9Hx2K4AHYXQy2DITZ9Rd+JzhX7+hoocE5Winr7z2oHvPsekkBwXtigvxevXg==", + "dev": true, + "optional": true + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "underscore": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" + }, + "update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "url-join": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", + "dev": true + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", + "dev": true, + "requires": { + "prepend-http": "^2.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" + }, + "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" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "peer": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", + "dev": true + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, + "workerpool": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "requires": {} + }, + "xorshift": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/xorshift/-/xorshift-1.2.0.tgz", + "integrity": "sha512-iYgNnGyeeJ4t6U11NpA/QiKy+PXn5Aa3Azg5qkwIFz1tBLllQrjjsk9yzD7IAK0naNU4JxdeDgqW9ov4u/hc4g==" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true + }, + "yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dev": true, + "requires": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true + } + } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + } + } +} diff --git a/nodejs-rest-http-crud/package.json b/nodejs-rest-http-crud/package.json new file mode 100644 index 0000000..b337ce2 --- /dev/null +++ b/nodejs-rest-http-crud/package.json @@ -0,0 +1,63 @@ +{ + "name": "nodejs-rest-http-crud", + "version": "4.0.0", + "description": "", + "author": "Red Hat, Inc.", + "license": "Apache-2.0", + "scripts": { + "pretest": "eslint --ignore-path .gitignore .", + "test": "nyc --reporter=lcov mocha", + "release": "standard-version -a", + "openshift": "nodeshift --dockerImage=registry.access.redhat.com/ubi8/nodejs-18", + "openshift:enable:trace": "nodeshift --deploy.env NODE_OPTIONS='--require ./tracing.js' --dockerImage=registry.access.redhat.com/ubi8/nodejs-18", + "start": "node .", + "dev": "node . | npx pino-pretty", + "dev:debug": "DEBUG=* node . " + }, + "main": "./bin/www", + "files": [ + "package.json", + "app.js", + "logger.js", + "tracing.js", + "public", + "bin", + "lib", + "LICENSE" + ], + "repository": { + "type": "git", + "url": "git+https://github.com/nodeshift-starters/nodejs-rest-http-crud.git" + }, + "bugs": { + "url": "https://github.com/nodeshift-starters/nodejs-rest-http-crud/issues" + }, + "homepage": "https://github.com/nodeshift-starters/nodejs-rest-http-crud#readme", + "devDependencies": { + "eslint": "^8.33.0", + "eslint-config-semistandard": "^17.0.0", + "mocha": "^10.1.0", + "nodeshift": "^8.7.0", + "nyc": "~15.1.0", + "proxyquire": "~2.1.3", + "standard-version": "^9.5.0", + "supertest": "^6.3.3" + }, + "dependencies": { + "@opentelemetry/api": "^1.2.0", + "@opentelemetry/exporter-jaeger": "^1.6.0", + "@opentelemetry/instrumentation": "^0.33.0", + "@opentelemetry/instrumentation-express": "^0.31.3", + "@opentelemetry/instrumentation-http": "^0.33.0", + "@opentelemetry/instrumentation-pg": "^0.32.0", + "@opentelemetry/resources": "^1.6.0", + "@opentelemetry/sdk-trace-base": "^1.9.1", + "@opentelemetry/sdk-trace-node": "^1.6.0", + "@opentelemetry/semantic-conventions": "^1.6.0", + "body-parser": "^1.20.1", + "express": "~4.18.1", + "kube-service-bindings": "^2.1.0", + "pg": "^8.7.3", + "pino": "^8.7.0" + } +} diff --git a/nodejs-rest-http-crud/public/index.html b/nodejs-rest-http-crud/public/index.html new file mode 100644 index 0000000..2419bd4 --- /dev/null +++ b/nodejs-rest-http-crud/public/index.html @@ -0,0 +1,174 @@ + + + + + Fruit Stock Management + + + + + + + + + diff --git a/nodejs-rest-http-crud/test/fruits-api-test.js b/nodejs-rest-http-crud/test/fruits-api-test.js new file mode 100644 index 0000000..18530c1 --- /dev/null +++ b/nodejs-rest-http-crud/test/fruits-api-test.js @@ -0,0 +1,50 @@ +/* eslint-disable no-undef */ +'use strict'; + +const assert = require('assert'); +const proxyquire = require('proxyquire'); + +const mockDb = { + query: () => { + return Promise.resolve(); + } +}; + +const fruits = proxyquire('../lib/api/fruits', { + '../db': mockDb +}); + +describe('Fruits methods', () => { + it('API', () => { + assert.strictEqual(typeof fruits.find, 'function'); + assert.strictEqual(typeof fruits.findAll, 'function'); + assert.strictEqual(typeof fruits.create, 'function'); + assert.strictEqual(typeof fruits.update, 'function'); + assert.strictEqual(typeof fruits.remove, 'function'); + }); + + it('find all', () => { + const result = fruits.findAll(); + assert.strictEqual(result instanceof Promise, true); + }); + + it('find', () => { + const result = fruits.find('id'); + assert.strictEqual(result instanceof Promise, true); + }); + + it('create', () => { + const result = fruits.create('name', 'stock'); + assert.strictEqual(result instanceof Promise, true); + }); + + it('update', () => { + const result = fruits.update({ name: 'name', stock: 'stock', id: 1 }); + assert.strictEqual(result instanceof Promise, true); + }); + + it('remove', () => { + const result = fruits.remove('id'); + assert.strictEqual(result instanceof Promise, true); + }); +}); diff --git a/nodejs-rest-http-crud/test/fruits-test.js b/nodejs-rest-http-crud/test/fruits-test.js new file mode 100644 index 0000000..8b5cee5 --- /dev/null +++ b/nodejs-rest-http-crud/test/fruits-test.js @@ -0,0 +1,641 @@ +/* eslint-disable no-undef */ +'use strict'; + +const assert = require('assert'); +const supertest = require('supertest'); +const proxyquire = require('proxyquire'); + +const mockDb = { + init: () => { + return Promise.resolve(); + } +}; + +describe('Fruits', () => { + it('get all', async () => { + const mockApi = { + findAll: () => Promise.resolve({ rows: [{ id: 1 }] }) + }; + + // Mock the nested require + const routesStub = proxyquire('../lib/routes/fruits', { + '../api/fruits': mockApi + }); + + const app = proxyquire('../app', { + './lib/db': mockDb, + './lib/routes/fruits': routesStub + }); + + const { body } = await supertest(app) + .get('/api/fruits') + .expect('Content-Type', /json/) + .expect(200); + + assert.strictEqual(Array.isArray(body), true); + assert.strictEqual(body.length, 1); + }); + + it('get all error', async () => { + const mockApi = { + findAll: () => Promise.reject(new Error('error')) + }; + + // Mock the nested require + const routesStub = proxyquire('../lib/routes/fruits', { + '../api/fruits': mockApi + }); + + const app = proxyquire('../app', { + './lib/db': mockDb, + './lib/routes/fruits': routesStub + }); + + const response = await supertest(app) + .get('/api/fruits') + .expect(400); + + assert.strictEqual(response.statusCode, 400); + }); + + it('get one', async () => { + const mockApi = { + find: id => { + assert.strictEqual(id, '1'); + return Promise.resolve({ rows: [{ id }] }); + } + }; + // Mock the nested require + const routesStub = proxyquire('../lib/routes/fruits', { + '../api/fruits': mockApi + }); + const app = proxyquire('../app', { + './lib/db': mockDb, + './lib/routes/fruits': routesStub + }); + const { body } = await supertest(app) + .get('/api/fruits/1') + .expect('Content-Type', /json/) + .expect(200); + assert.strictEqual(Array.isArray(body), false); + assert.strictEqual(body.id, '1'); + }); + + it('get one - return 404', async () => { + const mockApi = { + find: () => Promise.resolve({ rowCount: 0 }) + }; + + // Mock the nested require + const routesStub = proxyquire('../lib/routes/fruits', { + '../api/fruits': mockApi + }); + + const app = proxyquire('../app', { + './lib/db': mockDb, + './lib/routes/fruits': routesStub + }); + const response = await supertest(app) + .get('/api/fruits/1') + .expect(404); + assert.strictEqual(response.text, 'Item 1 not found'); + }); + + it('get one - error', async () => { + const mockApi = { + find: () => Promise.reject(new Error('error')) + }; + + // Mock the nested require + const routesStub = proxyquire('../lib/routes/fruits', { + '../api/fruits': mockApi + }); + + const app = proxyquire('../app', { + './lib/db': mockDb, + './lib/routes/fruits': routesStub + }); + + const response = await supertest(app) + .get('/api/fruits/1') + .expect(400); + assert.strictEqual(response.statusCode, 400); + }); + + it('post', async () => { + const fruitData = { + name: 'Banana', + stock: 10 + }; + + const mockApi = { + create: (name, stock) => { + assert.strictEqual(name, fruitData.name); + assert.strictEqual(stock, fruitData.stock); + return Promise.resolve({ rows: [] }); + } + }; + + // Mock the nested require + const routesStub = proxyquire('../lib/routes/fruits', { + '../api/fruits': mockApi + }); + + const app = proxyquire('../app', { + './lib/db': mockDb, + './lib/routes/fruits': routesStub + }); + + const response = await supertest(app) + .post('/api/fruits') + .send(fruitData) + .expect(201); + assert.strictEqual(response.statusCode, 201); + }); + + it('post - error - no name', async () => { + const fruitData = { + stock: 10 + }; + + const app = proxyquire('../app', { + './lib/db': mockDb + }); + + const response = await supertest(app) + .post('/api/fruits') + .send(fruitData) + .expect(422); + assert.strictEqual(response.statusCode, 422); + assert.strictEqual(response.text, 'The name is required!'); + }); + + it('post - error - no stock', async () => { + const fruitData = { + name: 'Banana' + }; + + const app = proxyquire('../app', { + './lib/db': mockDb + }); + + const response = await supertest(app) + .post('/api/fruits') + .send(fruitData) + .expect(422); + assert.strictEqual(response.statusCode, 422); + assert.strictEqual(response.text, 'The stock must be greater or equal to 0!'); + }); + + it('post - error - id error', async () => { + const app = proxyquire('../app', { + './lib/db': mockDb + }); + + const response = await supertest(app) + .post('/api/fruits') + .send({ name: 'Banana', stock: 10, id: 22 }) + .expect(422); + + assert.strictEqual(response.statusCode, 422); + assert.strictEqual(response.text, 'Id was invalidly set on request.'); + }); + + it('post - error', async () => { + const fruitData = { + name: 'Banana', + stock: 10 + }; + + const mockApi = { + create: () => { + return Promise.reject(new Error('error')); + } + }; + + // Mock the nested require + const routesStub = proxyquire('../lib/routes/fruits', { + '../api/fruits': mockApi + }); + + const app = proxyquire('../app', { + './lib/db': mockDb, + './lib/routes/fruits': routesStub + }); + + const response = await supertest(app) + .post('/api/fruits') + .send(fruitData) + .expect(400); + + assert.strictEqual(response.statusCode, 400); + }); + + it('post - error - id error', async () => { + const app = proxyquire('../app', { + './lib/db': mockDb + }); + + const response = await supertest(app) + .post('/api/fruits') + .send({ name: 'Banana', stock: 10, id: 22 }) + .expect(422); + + assert.strictEqual(response.statusCode, 422); + assert.strictEqual(response.text, 'Id was invalidly set on request.'); + }); + + it('post - error - no payload', async () => { + const app = proxyquire('../app', { + './lib/db': mockDb + }); + + const response = await supertest(app) + .post('/api/fruits') + .expect(415); + + assert.strictEqual(response.statusCode, 415); + assert.strictEqual(response.text, 'Invalid payload!'); + }); + + it('post - error - invalid payload', async () => { + const app = proxyquire('../app', { + './lib/db': mockDb + }); + + const response = await supertest(app) + .post('/api/fruits') + .set('Content-Type', 'application/json') + .send('Some text') + .expect(415); + + assert.strictEqual(response.statusCode, 415); + assert.strictEqual(response.text, 'Invalid payload!'); + }); + + it('post - error - xml payload', async () => { + const app = proxyquire('../app', { + './lib/db': mockDb + }); + const xmlFruitData = 'Banana10'; + + const response = await supertest(app) + .post('/api/fruits') + .set('Content-Type', 'application/xml') + .send(xmlFruitData) + .expect(415); + + assert.strictEqual(response.statusCode, 415); + assert.strictEqual(response.text, 'Invalid payload!'); + }); + + it('post - error - JSON Content-Type and XML body', async () => { + const app = proxyquire('../app', { + './lib/db': mockDb + }); + const xmlFruitData = 'adam10'; + + const response = await supertest(app) + .post('/api/fruits') + .set('Content-Type', 'application/json') + .send(xmlFruitData) + .expect(415); + + assert.strictEqual(response.statusCode, 415); + assert.strictEqual(response.text, 'Invalid payload!'); + }); + + it('post - error - negative number of stock', async () => { + const fruitData = { + name: 'Banana', + stock: -10 + }; + + const app = proxyquire('../app', { + './lib/db': mockDb + }); + + const response = await supertest(app) + .post('/api/fruits') + .send(fruitData) + .expect(422); + + assert.strictEqual(response.statusCode, 422); + assert.strictEqual(response.text, 'The stock must be greater or equal to 0!'); + }); + + it('post - error - no numeric stock', async () => { + const fruitData = { + name: 'Banana', + stock: 'two' + }; + + const app = proxyquire('../app', { + './lib/db': mockDb + }); + + const response = await supertest(app) + .post('/api/fruits') + .send(fruitData) + .expect(422); + + assert.strictEqual(response.statusCode, 422); + assert.strictEqual(response.text, 'The stock must be greater or equal to 0!'); + }); + + it('put', async () => { + const fruitData = { + name: 'Banana', + stock: 10, + id: '20' + }; + + const mockApi = { + update: options => { + assert.strictEqual(options.name, fruitData.name); + assert.strictEqual(options.stock, fruitData.stock); + assert.strictEqual(options.id, fruitData.id); + return Promise.resolve({ rowCount: 1 }); + } + }; + + // Mock the nested require + const routesStub = proxyquire('../lib/routes/fruits', { + '../api/fruits': mockApi + }); + + const app = proxyquire('../app', { + './lib/db': mockDb, + './lib/routes/fruits': routesStub + }); + + const response = await supertest(app) + .put('/api/fruits/20') + .send(fruitData) + .expect(204); + + assert.strictEqual(response.statusCode, 204); + }); + + it('put - error - no name', async () => { + const fruitData = { + stock: 10 + }; + + const app = proxyquire('../app', { + './lib/db': mockDb + }); + + const response = await supertest(app) + .put('/api/fruits/20') + .expect(422) + .send(fruitData); + + assert.strictEqual(response.statusCode, 422); + assert.strictEqual(response.text, 'The name is required!'); + }); + + it('put - error - no stock', async () => { + const app = proxyquire('../app', { + './lib/db': mockDb + }); + + const response = await supertest(app) + .put('/api/fruits/20') + .send({ name: 'name' }) + .expect(422); + + assert.strictEqual(response.statusCode, 422); + assert.strictEqual(response.text, 'The stock must be greater or equal to 0!'); + }); + + it('put - error - id error', async () => { + const app = proxyquire('../app', { + './lib/db': mockDb + }); + + const response = await supertest(app) + .put('/api/fruits/20') + .send({ name: 'Banana', stock: 10, id: '22' }) + .expect(422); + + assert.strictEqual(response.statusCode, 422); + assert.strictEqual(response.text, 'Id was invalidly set on request.'); + }); + + it('put - error - not found', async () => { + const fruitData = { + name: 'Banana', + stock: 10, + id: '20' + }; + + const mockApi = { + update: () => { + return Promise.resolve({ rowCount: 0 }); + } + }; + + // Mock the nested require + const routesStub = proxyquire('../lib/routes/fruits', { + '../api/fruits': mockApi + }); + + const app = proxyquire('../app', { + './lib/db': mockDb, + './lib/routes/fruits': routesStub + }); + + const response = await supertest(app) + .put('/api/fruits/20') + .send(fruitData) + .expect(404); + + assert.strictEqual(response.statusCode, 404); + assert.strictEqual(response.text, 'Unknown item 20'); + }); + + it('put - error', async () => { + const fruitData = { + name: 'Banana', + stock: 10, + id: '22' + }; + + const mockApi = { + update: () => { + return Promise.reject(new Error('error')); + } + }; + + // Mock the nested require + const routesStub = proxyquire('../lib/routes/fruits', { + '../api/fruits': mockApi + }); + + const app = proxyquire('../app', { + './lib/db': mockDb, + './lib/routes/fruits': routesStub + }); + + const response = await supertest(app) + .put('/api/fruits/22') + .send(fruitData) + .expect(400); + + assert.strictEqual(response.statusCode, 400); + }); + + it('put - error - no payload', async () => { + const app = proxyquire('../app', { + './lib/db': mockDb + }); + + const response = await supertest(app) + .put('/api/fruits/20') + .expect(415); + + assert.strictEqual(response.statusCode, 415); + assert.strictEqual(response.text, 'Invalid payload!'); + }); + + it('put - error - invalid payload', async () => { + const app = proxyquire('../app', { + './lib/db': mockDb + }); + + const response = await supertest(app) + .put('/api/fruits/20') + .set('Content-Type', 'application/json') + .send('Some text') + .expect(415); + + assert.strictEqual(response.statusCode, 415); + assert.strictEqual(response.text, 'Invalid payload!'); + }); + + it('put - error - xml payload', async () => { + const app = proxyquire('../app', { + './lib/db': mockDb + }); + const xmlFruitData = 'Banana10'; + + const response = await supertest(app) + .put('/api/fruits/10') + .set('Content-Type', 'application/xml') + .send(xmlFruitData) + .expect(415); + + assert.strictEqual(response.statusCode, 415); + assert.strictEqual(response.text, 'Invalid payload!'); + }); + + it('put - error - JSON Content-Type and XML body', async () => { + const app = proxyquire('../app', { + './lib/db': mockDb + }); + const xmlFruitData = 'adam10'; + + const response = await supertest(app) + .put('/api/fruits/10') + .set('Content-Type', 'application/json') + .send(xmlFruitData) + .expect(415); + + assert.strictEqual(response.statusCode, 415); + assert.strictEqual(response.text, 'Invalid payload!'); + }); + + it('put - error - no numeric stock', async () => { + const fruitData = { + name: 'Banana', + stock: 'two' + }; + + const app = proxyquire('../app', { + './lib/db': mockDb + }); + + const response = await supertest(app) + .put('/api/fruits/10') + .send(fruitData) + .expect(422); + + assert.strictEqual(response.statusCode, 422); + assert.strictEqual(response.text, 'The stock must be greater or equal to 0!'); + }); + + it('delete', async () => { + const mockApi = { + remove: id => { + assert.strictEqual(id, '1'); + return Promise.resolve({ rowCount: 1 }); + } + }; + + // Mock the nested require + const routesStub = proxyquire('../lib/routes/fruits', { + '../api/fruits': mockApi + }); + + const app = proxyquire('../app', { + './lib/db': mockDb, + './lib/routes/fruits': routesStub + }); + + const response = await supertest(app) + .delete('/api/fruits/1') + .expect(204); + + assert.strictEqual(response.statusCode, 204); + }); + + it('delete - error - not found', async () => { + const mockApi = { + remove: () => { + return Promise.resolve({ rowCount: 0 }); + } + }; + + // Mock the nested require + const routesStub = proxyquire('../lib/routes/fruits', { + '../api/fruits': mockApi + }); + + const app = proxyquire('../app', { + './lib/db': mockDb, + './lib/routes/fruits': routesStub + }); + + const response = await supertest(app) + .delete('/api/fruits/1') + .expect(404); + + assert.strictEqual(response.statusCode, 404); + assert.strictEqual(response.text, 'Unknown item 1'); + }); + + it('delete - error', async () => { + const mockApi = { + remove: () => { + return Promise.reject(new Error('error')); + } + }; + + // Mock the nested require + const routesStub = proxyquire('../lib/routes/fruits', { + '../api/fruits': mockApi + }); + + const app = proxyquire('../app', { + './lib/db': mockDb, + './lib/routes/fruits': routesStub + }); + + const response = await supertest(app) + .delete('/api/fruits/1') + .expect(400); + + assert.strictEqual(response.statusCode, 400); + }); +}); diff --git a/nodejs-rest-http-crud/tracing.js b/nodejs-rest-http-crud/tracing.js new file mode 100644 index 0000000..7e2aa4b --- /dev/null +++ b/nodejs-rest-http-crud/tracing.js @@ -0,0 +1,35 @@ +const { Resource } = require('@opentelemetry/resources'); +const { SemanticResourceAttributes } = require('@opentelemetry/semantic-conventions'); +const { SimpleSpanProcessor } = require('@opentelemetry/sdk-trace-base'); +const { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node'); +const { trace } = require('@opentelemetry/api'); +const { JaegerExporter } = require('@opentelemetry/exporter-jaeger'); +const { ExpressInstrumentation } = require('@opentelemetry/instrumentation-express'); +const { PgInstrumentation } = require('@opentelemetry/instrumentation-pg'); +const { HttpInstrumentation } = require('@opentelemetry/instrumentation-http'); +const { registerInstrumentations } = require('@opentelemetry/instrumentation'); + +const exporter = new JaegerExporter({ + endpoint: 'http://jaeger-all-in-one-inmemory-collector.opentelemetry-js-rhosdt.svc:14268/api/traces' +}); + +const provider = new NodeTracerProvider({ + resource: new Resource({ + [SemanticResourceAttributes.SERVICE_NAME]: 'nodejs-rest-http-crud' + }) +}); + +provider.addSpanProcessor(new SimpleSpanProcessor(exporter)); + +provider.register(); + +registerInstrumentations({ + instrumentations: [ + new HttpInstrumentation(), + new ExpressInstrumentation(), + new PgInstrumentation() + ], + tracerProvider: provider +}); + +trace.getTracer('nodejs-rest-http-crud');