├── .editorconfig ├── .eslintrc ├── .github └── FUNDING.yml ├── .gitignore ├── .npmignore ├── .travis.yml ├── CHANGELOG.md ├── LICENSE ├── README.md ├── index.d.ts ├── package-lock.json ├── package.json ├── src ├── AmazonConnection.js ├── AmazonTransport.js └── index.js └── tests ├── .eslintrc ├── AmazonConnection.test.js ├── AmazonTransport.test.js └── integration.test.js /.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | extends: eslint:recommended 2 | 3 | rules: 4 | strict: 0 5 | 6 | env: 7 | node: true 8 | es6: true 9 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: compwright 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | 3 | # Logs 4 | logs 5 | *.log 6 | 7 | # Runtime data 8 | pids 9 | *.pid 10 | *.seed 11 | 12 | # Directory for instrumented libs generated by jscoverage/JSCover 13 | lib-cov 14 | 15 | # Coverage directory used by tools like istanbul 16 | coverage 17 | .nyc_cache 18 | .nyc_output 19 | 20 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 21 | .grunt 22 | 23 | # Compiled binary addons (http://nodejs.org/api/addons.html) 24 | build/Release 25 | 26 | # Dependency directory 27 | # Commenting this out is preferred by some people, see 28 | # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git- 29 | node_modules 30 | 31 | # Users Environment Variables 32 | .lock-wscript 33 | 34 | dist/ 35 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | .nyc_cache/ 2 | .nyc_output/ 3 | coverage/ 4 | tests/ 5 | .editorconfig 6 | .eslintrc 7 | .npmignore 8 | .travis.yml 9 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: node_js 3 | node_js: 4 | - '10' 5 | - '12' 6 | - node 7 | install: npm install 8 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## [v9.0.3](https://github.com/compwright/aws-elasticsearch-connector/tree/v9.0.3) (2021-01-23) 4 | 5 | [Full Changelog](https://github.com/compwright/aws-elasticsearch-connector/compare/v9.0.1...v9.0.3) 6 | 7 | **Closed issues:** 8 | 9 | - AWS ElasticSearch Custom domain names not connecting [\#24](https://github.com/compwright/aws-elasticsearch-connector/issues/24) 10 | - aws sigv4 signature not match when Content-Length exist in the request before applying AmazonConnection [\#22](https://github.com/compwright/aws-elasticsearch-connector/issues/22) 11 | 12 | **Merged pull requests:** 13 | 14 | - Set region when signing request if provided in the AWS config object [\#26](https://github.com/compwright/aws-elasticsearch-connector/pull/26) ([chsing-br](https://github.com/chsing-br)) 15 | 16 | ## [v9.0.1](https://github.com/compwright/aws-elasticsearch-connector/tree/v9.0.1) (2020-11-17) 17 | 18 | [Full Changelog](https://github.com/compwright/aws-elasticsearch-connector/compare/v9.0.0...v9.0.1) 19 | 20 | **Closed issues:** 21 | 22 | - Setting AWS.Config httpOptions does not work [\#23](https://github.com/compwright/aws-elasticsearch-connector/issues/23) 23 | 24 | **Merged pull requests:** 25 | 26 | - Add support for elasticSearch 6.x branch [\#20](https://github.com/compwright/aws-elasticsearch-connector/pull/20) ([osdroid](https://github.com/osdroid)) 27 | 28 | ## [v9.0.0](https://github.com/compwright/aws-elasticsearch-connector/tree/v9.0.0) (2020-07-04) 29 | 30 | [Full Changelog](https://github.com/compwright/aws-elasticsearch-connector/compare/v8.3.0...v9.0.0) 31 | 32 | ## [v8.3.0](https://github.com/compwright/aws-elasticsearch-connector/tree/v8.3.0) (2020-07-04) 33 | 34 | [Full Changelog](https://github.com/compwright/aws-elasticsearch-connector/compare/v8.2.0...v8.3.0) 35 | 36 | **Merged pull requests:** 37 | 38 | - Add support for 7.8.0 [\#16](https://github.com/compwright/aws-elasticsearch-connector/pull/16) ([unnamed38](https://github.com/unnamed38)) 39 | - Headers cause Error: Signature not matching [\#13](https://github.com/compwright/aws-elasticsearch-connector/pull/13) ([amarczinek](https://github.com/amarczinek)) 40 | - Specify service is 'es' [\#9](https://github.com/compwright/aws-elasticsearch-connector/pull/9) ([katryo](https://github.com/katryo)) 41 | 42 | ## [v8.2.0](https://github.com/compwright/aws-elasticsearch-connector/tree/v8.2.0) (2019-10-25) 43 | 44 | [Full Changelog](https://github.com/compwright/aws-elasticsearch-connector/compare/v8.1.3...v8.2.0) 45 | 46 | **Fixed bugs:** 47 | 48 | - The request signature we calculated does not match the signature you provided [\#4](https://github.com/compwright/aws-elasticsearch-connector/issues/4) 49 | - Support for IAM Roles? [\#3](https://github.com/compwright/aws-elasticsearch-connector/issues/3) 50 | 51 | **Merged pull requests:** 52 | 53 | - Handle refreshed credentials when running in ECS or EC2 [\#5](https://github.com/compwright/aws-elasticsearch-connector/pull/5) ([nathanmoon](https://github.com/nathanmoon)) 54 | 55 | ## [v8.1.3](https://github.com/compwright/aws-elasticsearch-connector/tree/v8.1.3) (2019-09-04) 56 | 57 | [Full Changelog](https://github.com/compwright/aws-elasticsearch-connector/compare/v8.1.2...v8.1.3) 58 | 59 | ## [v8.1.2](https://github.com/compwright/aws-elasticsearch-connector/tree/v8.1.2) (2019-09-03) 60 | 61 | [Full Changelog](https://github.com/compwright/aws-elasticsearch-connector/compare/v8.1.1...v8.1.2) 62 | 63 | ## [v8.1.1](https://github.com/compwright/aws-elasticsearch-connector/tree/v8.1.1) (2019-08-31) 64 | 65 | [Full Changelog](https://github.com/compwright/aws-elasticsearch-connector/compare/v8.1.0...v8.1.1) 66 | 67 | ## [v8.1.0](https://github.com/compwright/aws-elasticsearch-connector/tree/v8.1.0) (2019-08-31) 68 | 69 | [Full Changelog](https://github.com/compwright/aws-elasticsearch-connector/compare/v8.0.0...v8.1.0) 70 | 71 | **Merged pull requests:** 72 | 73 | - Use config instead of credentials as a field and specify 'es' as the service for this request [\#2](https://github.com/compwright/aws-elasticsearch-connector/pull/2) ([umberto-sonnino](https://github.com/umberto-sonnino)) 74 | 75 | ## [v8.0.0](https://github.com/compwright/aws-elasticsearch-connector/tree/v8.0.0) (2019-08-17) 76 | 77 | [Full Changelog](https://github.com/compwright/aws-elasticsearch-connector/compare/v7.0.0...v8.0.0) 78 | 79 | ## [v7.0.0](https://github.com/compwright/aws-elasticsearch-connector/tree/v7.0.0) (2019-08-16) 80 | 81 | [Full Changelog](https://github.com/compwright/aws-elasticsearch-connector/compare/v6.0.0...v7.0.0) 82 | 83 | ## [v6.0.0](https://github.com/compwright/aws-elasticsearch-connector/tree/v6.0.0) (2018-05-19) 84 | 85 | [Full Changelog](https://github.com/compwright/aws-elasticsearch-connector/compare/v4.0.0...v6.0.0) 86 | 87 | ## [v4.0.0](https://github.com/compwright/aws-elasticsearch-connector/tree/v4.0.0) (2017-11-25) 88 | 89 | [Full Changelog](https://github.com/compwright/aws-elasticsearch-connector/compare/v3.1.3...v4.0.0) 90 | 91 | ## [v3.1.3](https://github.com/compwright/aws-elasticsearch-connector/tree/v3.1.3) (2017-10-22) 92 | 93 | [Full Changelog](https://github.com/compwright/aws-elasticsearch-connector/compare/v3.1.2...v3.1.3) 94 | 95 | ## [v3.1.2](https://github.com/compwright/aws-elasticsearch-connector/tree/v3.1.2) (2017-10-22) 96 | 97 | [Full Changelog](https://github.com/compwright/aws-elasticsearch-connector/compare/v3.1.1...v3.1.2) 98 | 99 | ## [v3.1.1](https://github.com/compwright/aws-elasticsearch-connector/tree/v3.1.1) (2017-10-21) 100 | 101 | [Full Changelog](https://github.com/compwright/aws-elasticsearch-connector/compare/v3.1.0...v3.1.1) 102 | 103 | ## [v3.1.0](https://github.com/compwright/aws-elasticsearch-connector/tree/v3.1.0) (2017-08-25) 104 | 105 | [Full Changelog](https://github.com/compwright/aws-elasticsearch-connector/compare/v3.0.0...v3.1.0) 106 | 107 | ## [v3.0.0](https://github.com/compwright/aws-elasticsearch-connector/tree/v3.0.0) (2017-08-25) 108 | 109 | [Full Changelog](https://github.com/compwright/aws-elasticsearch-connector/compare/v2.0.5...v3.0.0) 110 | 111 | ## [v2.0.5](https://github.com/compwright/aws-elasticsearch-connector/tree/v2.0.5) (2017-07-30) 112 | 113 | [Full Changelog](https://github.com/compwright/aws-elasticsearch-connector/compare/v2.0.4...v2.0.5) 114 | 115 | ## [v2.0.4](https://github.com/compwright/aws-elasticsearch-connector/tree/v2.0.4) (2017-07-12) 116 | 117 | [Full Changelog](https://github.com/compwright/aws-elasticsearch-connector/compare/v2.0.3...v2.0.4) 118 | 119 | ## [v2.0.3](https://github.com/compwright/aws-elasticsearch-connector/tree/v2.0.3) (2017-06-20) 120 | 121 | [Full Changelog](https://github.com/compwright/aws-elasticsearch-connector/compare/v2.0.0...v2.0.3) 122 | 123 | ## [v2.0.0](https://github.com/compwright/aws-elasticsearch-connector/tree/v2.0.0) (2017-06-20) 124 | 125 | [Full Changelog](https://github.com/compwright/aws-elasticsearch-connector/compare/v1.1.3...v2.0.0) 126 | 127 | ## [v1.1.3](https://github.com/compwright/aws-elasticsearch-connector/tree/v1.1.3) (2015-12-01) 128 | 129 | [Full Changelog](https://github.com/compwright/aws-elasticsearch-connector/compare/v1.1.2...v1.1.3) 130 | 131 | ## [v1.1.2](https://github.com/compwright/aws-elasticsearch-connector/tree/v1.1.2) (2015-10-27) 132 | 133 | [Full Changelog](https://github.com/compwright/aws-elasticsearch-connector/compare/v1.1.1...v1.1.2) 134 | 135 | ## [v1.1.1](https://github.com/compwright/aws-elasticsearch-connector/tree/v1.1.1) (2015-10-19) 136 | 137 | [Full Changelog](https://github.com/compwright/aws-elasticsearch-connector/compare/v1.1.0...v1.1.1) 138 | 139 | ## [v1.1.0](https://github.com/compwright/aws-elasticsearch-connector/tree/v1.1.0) (2015-10-19) 140 | 141 | [Full Changelog](https://github.com/compwright/aws-elasticsearch-connector/compare/v1.0.2...v1.1.0) 142 | 143 | ## [v1.0.2](https://github.com/compwright/aws-elasticsearch-connector/tree/v1.0.2) (2015-10-04) 144 | 145 | [Full Changelog](https://github.com/compwright/aws-elasticsearch-connector/compare/v1.0.1...v1.0.2) 146 | 147 | ## [v1.0.1](https://github.com/compwright/aws-elasticsearch-connector/tree/v1.0.1) (2015-10-04) 148 | 149 | [Full Changelog](https://github.com/compwright/aws-elasticsearch-connector/compare/2a69b77342fa62e1e2231d2add75d11f8fdf9ff6...v1.0.1) 150 | 151 | 152 | 153 | \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)* 154 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2019 by Jonathon Hill 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # aws-elasticsearch-connector 2 | 3 | [![Build Status](https://travis-ci.org/compwright/aws-elasticsearch-connector.png?branch=master)](https://travis-ci.org/compwright/aws-elasticsearch-connector) 4 | [![Code Climate](https://codeclimate.com/github/compwright/aws-elasticsearch-connector/badges/gpa.svg)](https://codeclimate.com/github/compwright/aws-elasticsearch-connector) 5 | [![Test Coverage](https://codeclimate.com/github/compwright/aws-elasticsearch-connector/badges/coverage.svg)](https://codeclimate.com/github/compwright/aws-elasticsearch-connector/coverage) 6 | [![Dependency Status](https://img.shields.io/david/compwright/aws-elasticsearch-connector.svg?style=flat-square)](https://david-dm.org/compwright/aws-elasticsearch-connector) 7 | [![Download Status](https://img.shields.io/npm/dm/aws-elasticsearch-connector.svg?style=flat-square)](https://www.npmjs.com/package/aws-elasticsearch-connector) 8 | 9 | A tiny [Amazon Signature Version 4](https://www.npmjs.com/package/aws4) connection class for the official [Elasticsearch Node.js client](https://www.npmjs.com/package/elasticsearch), for compatibility with AWS Elasticsearch and IAM authentication. 10 | 11 | Supports AWS SDK global or specific configuration instances (AWS.Config), including asyncronous credentials from IAM roles and credential refreshing. 12 | 13 | ## Installation 14 | 15 | ```bash 16 | npm install --save aws-elasticsearch-connector @elastic/elasticsearch aws-sdk 17 | ``` 18 | 19 | ## Example usage 20 | 21 | ### Using global configuration 22 | 23 | ```javascript 24 | const { Client } = require("@elastic/elasticsearch"); 25 | const AWS = require("aws-sdk"); 26 | const createAwsElasticsearchConnector = require("aws-elasticsearch-connector"); 27 | 28 | // (Optional) load profile credentials from file 29 | AWS.config.update({ 30 | profile: "my-profile", 31 | }); 32 | 33 | const client = new Client({ 34 | ...createAwsElasticsearchConnector(AWS.config), 35 | node: "https://my-elasticsearch-cluster.us-east-1.es.amazonaws.com", 36 | }); 37 | ``` 38 | 39 | ### Using specific configuration 40 | 41 | ```javascript 42 | const { Client } = require("@elastic/elasticsearch"); 43 | const AWS = require("aws-sdk"); 44 | const createAwsElasticsearchConnector = require("aws-elasticsearch-connector"); 45 | 46 | const awsConfig = new AWS.Config({ 47 | // Your credentials and settings here, see 48 | // https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#constructor-property 49 | }); 50 | 51 | const client = new Client({ 52 | ...createAwsElasticsearchConnector(awsConfig), 53 | node: "https://my-elasticsearch-cluster.us-east-1.es.amazonaws.com", 54 | }); 55 | ``` 56 | 57 | ### Using aws-sdk v3 58 | 59 | ```javascript 60 | const { STSClient, AssumeRoleCommand } = require("@aws-sdk/client-sts"); 61 | const { Client } = require("@elastic/elasticsearch"); 62 | const createAwsElasticsearchConnector = require("aws-elasticsearch-connector"); 63 | 64 | async function ping() { 65 | const creds = await assumeRole( 66 | "arn:aws:iam::0123456789012:role/Administrator", 67 | "us-east-1" 68 | ); 69 | const client = new Client({ 70 | ...createAwsElasticsearchConnector({ 71 | region: "us-east-1", 72 | credentials: creds, 73 | }), 74 | node: "https://my-elasticsearch-cluster.us-east-1.es.amazonaws.com", 75 | }); 76 | const response = await client.ping(); 77 | console.log(`Got Response`, response); 78 | } 79 | 80 | async function assumeRole(roleArn, region) { 81 | const client = new STSClient({ region }); 82 | const response = await client.send( 83 | new AssumeRoleCommand({ 84 | RoleArn: roleArn, 85 | RoleSessionName: "aws-es-connection", 86 | }) 87 | ); 88 | return { 89 | accessKeyId: response.Credentials.AccessKeyId, 90 | secretAccessKey: response.Credentials.SecretAccessKey, 91 | sessionToken: response.Credentials.SessionToken, 92 | }; 93 | } 94 | ``` 95 | 96 | ## Test 97 | 98 | ```bash 99 | npm test 100 | 101 | # Run integration tests against a real endpoint 102 | AWS_PROFILE=your-profile npm run test:integration -- \ 103 | --endpoint https://my-elasticsearch-cluster.us-east-1.es.amazonaws.com 104 | ``` 105 | -------------------------------------------------------------------------------- /index.d.ts: -------------------------------------------------------------------------------- 1 | import { Connection, Transport } from '@elastic/elasticsearch'; 2 | import AWS from 'aws-sdk'; 3 | 4 | export type Connector = { 5 | Connection: typeof Connection; 6 | Transport: typeof Transport; 7 | }; 8 | 9 | export const ConnectorFactory: (awsConfig: AWS.Config) => Connector; 10 | 11 | export default ConnectorFactory; 12 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "aws-elasticsearch-connector", 3 | "version": "9.2.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@ampproject/remapping": { 8 | "version": "2.2.0", 9 | "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", 10 | "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", 11 | "dev": true, 12 | "requires": { 13 | "@jridgewell/gen-mapping": "^0.1.0", 14 | "@jridgewell/trace-mapping": "^0.3.9" 15 | } 16 | }, 17 | "@babel/code-frame": { 18 | "version": "7.16.7", 19 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", 20 | "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", 21 | "dev": true, 22 | "requires": { 23 | "@babel/highlight": "^7.16.7" 24 | } 25 | }, 26 | "@babel/compat-data": { 27 | "version": "7.17.10", 28 | "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz", 29 | "integrity": "sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==", 30 | "dev": true 31 | }, 32 | "@babel/core": { 33 | "version": "7.17.10", 34 | "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.10.tgz", 35 | "integrity": "sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA==", 36 | "dev": true, 37 | "requires": { 38 | "@ampproject/remapping": "^2.1.0", 39 | "@babel/code-frame": "^7.16.7", 40 | "@babel/generator": "^7.17.10", 41 | "@babel/helper-compilation-targets": "^7.17.10", 42 | "@babel/helper-module-transforms": "^7.17.7", 43 | "@babel/helpers": "^7.17.9", 44 | "@babel/parser": "^7.17.10", 45 | "@babel/template": "^7.16.7", 46 | "@babel/traverse": "^7.17.10", 47 | "@babel/types": "^7.17.10", 48 | "convert-source-map": "^1.7.0", 49 | "debug": "^4.1.0", 50 | "gensync": "^1.0.0-beta.2", 51 | "json5": "^2.2.1", 52 | "semver": "^6.3.0" 53 | } 54 | }, 55 | "@babel/generator": { 56 | "version": "7.17.10", 57 | "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz", 58 | "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==", 59 | "dev": true, 60 | "requires": { 61 | "@babel/types": "^7.17.10", 62 | "@jridgewell/gen-mapping": "^0.1.0", 63 | "jsesc": "^2.5.1" 64 | } 65 | }, 66 | "@babel/helper-compilation-targets": { 67 | "version": "7.17.10", 68 | "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz", 69 | "integrity": "sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==", 70 | "dev": true, 71 | "requires": { 72 | "@babel/compat-data": "^7.17.10", 73 | "@babel/helper-validator-option": "^7.16.7", 74 | "browserslist": "^4.20.2", 75 | "semver": "^6.3.0" 76 | } 77 | }, 78 | "@babel/helper-environment-visitor": { 79 | "version": "7.16.7", 80 | "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", 81 | "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", 82 | "dev": true, 83 | "requires": { 84 | "@babel/types": "^7.16.7" 85 | } 86 | }, 87 | "@babel/helper-function-name": { 88 | "version": "7.17.9", 89 | "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", 90 | "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", 91 | "dev": true, 92 | "requires": { 93 | "@babel/template": "^7.16.7", 94 | "@babel/types": "^7.17.0" 95 | } 96 | }, 97 | "@babel/helper-hoist-variables": { 98 | "version": "7.16.7", 99 | "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", 100 | "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", 101 | "dev": true, 102 | "requires": { 103 | "@babel/types": "^7.16.7" 104 | } 105 | }, 106 | "@babel/helper-module-imports": { 107 | "version": "7.16.7", 108 | "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", 109 | "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", 110 | "dev": true, 111 | "requires": { 112 | "@babel/types": "^7.16.7" 113 | } 114 | }, 115 | "@babel/helper-module-transforms": { 116 | "version": "7.17.7", 117 | "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz", 118 | "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==", 119 | "dev": true, 120 | "requires": { 121 | "@babel/helper-environment-visitor": "^7.16.7", 122 | "@babel/helper-module-imports": "^7.16.7", 123 | "@babel/helper-simple-access": "^7.17.7", 124 | "@babel/helper-split-export-declaration": "^7.16.7", 125 | "@babel/helper-validator-identifier": "^7.16.7", 126 | "@babel/template": "^7.16.7", 127 | "@babel/traverse": "^7.17.3", 128 | "@babel/types": "^7.17.0" 129 | } 130 | }, 131 | "@babel/helper-simple-access": { 132 | "version": "7.17.7", 133 | "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", 134 | "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", 135 | "dev": true, 136 | "requires": { 137 | "@babel/types": "^7.17.0" 138 | } 139 | }, 140 | "@babel/helper-split-export-declaration": { 141 | "version": "7.16.7", 142 | "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", 143 | "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", 144 | "dev": true, 145 | "requires": { 146 | "@babel/types": "^7.16.7" 147 | } 148 | }, 149 | "@babel/helper-validator-identifier": { 150 | "version": "7.16.7", 151 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", 152 | "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", 153 | "dev": true 154 | }, 155 | "@babel/helper-validator-option": { 156 | "version": "7.16.7", 157 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", 158 | "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", 159 | "dev": true 160 | }, 161 | "@babel/helpers": { 162 | "version": "7.17.9", 163 | "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz", 164 | "integrity": "sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==", 165 | "dev": true, 166 | "requires": { 167 | "@babel/template": "^7.16.7", 168 | "@babel/traverse": "^7.17.9", 169 | "@babel/types": "^7.17.0" 170 | } 171 | }, 172 | "@babel/highlight": { 173 | "version": "7.17.9", 174 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz", 175 | "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==", 176 | "dev": true, 177 | "requires": { 178 | "@babel/helper-validator-identifier": "^7.16.7", 179 | "chalk": "^2.0.0", 180 | "js-tokens": "^4.0.0" 181 | }, 182 | "dependencies": { 183 | "ansi-styles": { 184 | "version": "3.2.1", 185 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 186 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 187 | "dev": true, 188 | "requires": { 189 | "color-convert": "^1.9.0" 190 | } 191 | }, 192 | "chalk": { 193 | "version": "2.4.2", 194 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 195 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 196 | "dev": true, 197 | "requires": { 198 | "ansi-styles": "^3.2.1", 199 | "escape-string-regexp": "^1.0.5", 200 | "supports-color": "^5.3.0" 201 | } 202 | }, 203 | "color-convert": { 204 | "version": "1.9.3", 205 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 206 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 207 | "dev": true, 208 | "requires": { 209 | "color-name": "1.1.3" 210 | } 211 | }, 212 | "color-name": { 213 | "version": "1.1.3", 214 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 215 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 216 | "dev": true 217 | }, 218 | "escape-string-regexp": { 219 | "version": "1.0.5", 220 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 221 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 222 | "dev": true 223 | }, 224 | "has-flag": { 225 | "version": "3.0.0", 226 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 227 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 228 | "dev": true 229 | }, 230 | "supports-color": { 231 | "version": "5.5.0", 232 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 233 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 234 | "dev": true, 235 | "requires": { 236 | "has-flag": "^3.0.0" 237 | } 238 | } 239 | } 240 | }, 241 | "@babel/parser": { 242 | "version": "7.17.10", 243 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.10.tgz", 244 | "integrity": "sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==", 245 | "dev": true 246 | }, 247 | "@babel/template": { 248 | "version": "7.16.7", 249 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", 250 | "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", 251 | "dev": true, 252 | "requires": { 253 | "@babel/code-frame": "^7.16.7", 254 | "@babel/parser": "^7.16.7", 255 | "@babel/types": "^7.16.7" 256 | } 257 | }, 258 | "@babel/traverse": { 259 | "version": "7.17.10", 260 | "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.10.tgz", 261 | "integrity": "sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==", 262 | "dev": true, 263 | "requires": { 264 | "@babel/code-frame": "^7.16.7", 265 | "@babel/generator": "^7.17.10", 266 | "@babel/helper-environment-visitor": "^7.16.7", 267 | "@babel/helper-function-name": "^7.17.9", 268 | "@babel/helper-hoist-variables": "^7.16.7", 269 | "@babel/helper-split-export-declaration": "^7.16.7", 270 | "@babel/parser": "^7.17.10", 271 | "@babel/types": "^7.17.10", 272 | "debug": "^4.1.0", 273 | "globals": "^11.1.0" 274 | } 275 | }, 276 | "@babel/types": { 277 | "version": "7.17.10", 278 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.10.tgz", 279 | "integrity": "sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==", 280 | "dev": true, 281 | "requires": { 282 | "@babel/helper-validator-identifier": "^7.16.7", 283 | "to-fast-properties": "^2.0.0" 284 | } 285 | }, 286 | "@elastic/elasticsearch": { 287 | "version": "7.17.0", 288 | "resolved": "https://registry.npmjs.org/@elastic/elasticsearch/-/elasticsearch-7.17.0.tgz", 289 | "integrity": "sha512-5QLPCjd0uLmLj1lSuKSThjNpq39f6NmlTy9ROLFwG5gjyTgpwSqufDeYG/Fm43Xs05uF7WcscoO7eguI3HuuYA==", 290 | "dev": true, 291 | "requires": { 292 | "debug": "^4.3.1", 293 | "hpagent": "^0.1.1", 294 | "ms": "^2.1.3", 295 | "secure-json-parse": "^2.4.0" 296 | } 297 | }, 298 | "@eslint/eslintrc": { 299 | "version": "1.2.3", 300 | "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.3.tgz", 301 | "integrity": "sha512-uGo44hIwoLGNyduRpjdEpovcbMdd+Nv7amtmJxnKmI8xj6yd5LncmSwDa5NgX/41lIFJtkjD6YdVfgEzPfJ5UA==", 302 | "dev": true, 303 | "requires": { 304 | "ajv": "^6.12.4", 305 | "debug": "^4.3.2", 306 | "espree": "^9.3.2", 307 | "globals": "^13.9.0", 308 | "ignore": "^5.2.0", 309 | "import-fresh": "^3.2.1", 310 | "js-yaml": "^4.1.0", 311 | "minimatch": "^3.1.2", 312 | "strip-json-comments": "^3.1.1" 313 | }, 314 | "dependencies": { 315 | "globals": { 316 | "version": "13.15.0", 317 | "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", 318 | "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", 319 | "dev": true, 320 | "requires": { 321 | "type-fest": "^0.20.2" 322 | } 323 | }, 324 | "minimatch": { 325 | "version": "3.1.2", 326 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 327 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 328 | "dev": true, 329 | "requires": { 330 | "brace-expansion": "^1.1.7" 331 | } 332 | }, 333 | "type-fest": { 334 | "version": "0.20.2", 335 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", 336 | "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", 337 | "dev": true 338 | } 339 | } 340 | }, 341 | "@humanwhocodes/config-array": { 342 | "version": "0.9.5", 343 | "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", 344 | "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", 345 | "dev": true, 346 | "requires": { 347 | "@humanwhocodes/object-schema": "^1.2.1", 348 | "debug": "^4.1.1", 349 | "minimatch": "^3.0.4" 350 | }, 351 | "dependencies": { 352 | "minimatch": { 353 | "version": "3.1.2", 354 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 355 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 356 | "dev": true, 357 | "requires": { 358 | "brace-expansion": "^1.1.7" 359 | } 360 | } 361 | } 362 | }, 363 | "@humanwhocodes/object-schema": { 364 | "version": "1.2.1", 365 | "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", 366 | "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", 367 | "dev": true 368 | }, 369 | "@istanbuljs/load-nyc-config": { 370 | "version": "1.1.0", 371 | "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", 372 | "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", 373 | "dev": true, 374 | "requires": { 375 | "camelcase": "^5.3.1", 376 | "find-up": "^4.1.0", 377 | "get-package-type": "^0.1.0", 378 | "js-yaml": "^3.13.1", 379 | "resolve-from": "^5.0.0" 380 | }, 381 | "dependencies": { 382 | "argparse": { 383 | "version": "1.0.10", 384 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 385 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 386 | "dev": true, 387 | "requires": { 388 | "sprintf-js": "~1.0.2" 389 | } 390 | }, 391 | "camelcase": { 392 | "version": "5.3.1", 393 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", 394 | "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", 395 | "dev": true 396 | }, 397 | "find-up": { 398 | "version": "4.1.0", 399 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", 400 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", 401 | "dev": true, 402 | "requires": { 403 | "locate-path": "^5.0.0", 404 | "path-exists": "^4.0.0" 405 | } 406 | }, 407 | "js-yaml": { 408 | "version": "3.14.1", 409 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", 410 | "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", 411 | "dev": true, 412 | "requires": { 413 | "argparse": "^1.0.7", 414 | "esprima": "^4.0.0" 415 | } 416 | }, 417 | "locate-path": { 418 | "version": "5.0.0", 419 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", 420 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", 421 | "dev": true, 422 | "requires": { 423 | "p-locate": "^4.1.0" 424 | } 425 | }, 426 | "p-limit": { 427 | "version": "2.3.0", 428 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", 429 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", 430 | "dev": true, 431 | "requires": { 432 | "p-try": "^2.0.0" 433 | } 434 | }, 435 | "p-locate": { 436 | "version": "4.1.0", 437 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", 438 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", 439 | "dev": true, 440 | "requires": { 441 | "p-limit": "^2.2.0" 442 | } 443 | } 444 | } 445 | }, 446 | "@istanbuljs/schema": { 447 | "version": "0.1.3", 448 | "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", 449 | "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", 450 | "dev": true 451 | }, 452 | "@jridgewell/gen-mapping": { 453 | "version": "0.1.1", 454 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", 455 | "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", 456 | "dev": true, 457 | "requires": { 458 | "@jridgewell/set-array": "^1.0.0", 459 | "@jridgewell/sourcemap-codec": "^1.4.10" 460 | } 461 | }, 462 | "@jridgewell/resolve-uri": { 463 | "version": "3.0.7", 464 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", 465 | "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", 466 | "dev": true 467 | }, 468 | "@jridgewell/set-array": { 469 | "version": "1.1.1", 470 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz", 471 | "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==", 472 | "dev": true 473 | }, 474 | "@jridgewell/sourcemap-codec": { 475 | "version": "1.4.13", 476 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", 477 | "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==", 478 | "dev": true 479 | }, 480 | "@jridgewell/trace-mapping": { 481 | "version": "0.3.13", 482 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz", 483 | "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==", 484 | "dev": true, 485 | "requires": { 486 | "@jridgewell/resolve-uri": "^3.0.3", 487 | "@jridgewell/sourcemap-codec": "^1.4.10" 488 | } 489 | }, 490 | "@types/json5": { 491 | "version": "0.0.29", 492 | "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", 493 | "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", 494 | "dev": true 495 | }, 496 | "@ungap/promise-all-settled": { 497 | "version": "1.1.2", 498 | "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", 499 | "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", 500 | "dev": true 501 | }, 502 | "acorn": { 503 | "version": "8.7.1", 504 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", 505 | "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", 506 | "dev": true 507 | }, 508 | "acorn-jsx": { 509 | "version": "5.3.2", 510 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 511 | "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 512 | "dev": true 513 | }, 514 | "aggregate-error": { 515 | "version": "3.1.0", 516 | "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", 517 | "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", 518 | "dev": true, 519 | "requires": { 520 | "clean-stack": "^2.0.0", 521 | "indent-string": "^4.0.0" 522 | } 523 | }, 524 | "ajv": { 525 | "version": "6.12.6", 526 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 527 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 528 | "dev": true, 529 | "requires": { 530 | "fast-deep-equal": "^3.1.1", 531 | "fast-json-stable-stringify": "^2.0.0", 532 | "json-schema-traverse": "^0.4.1", 533 | "uri-js": "^4.2.2" 534 | } 535 | }, 536 | "ansi-colors": { 537 | "version": "4.1.1", 538 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", 539 | "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", 540 | "dev": true 541 | }, 542 | "ansi-regex": { 543 | "version": "5.0.1", 544 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 545 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 546 | "dev": true 547 | }, 548 | "ansi-styles": { 549 | "version": "4.3.0", 550 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 551 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 552 | "dev": true, 553 | "requires": { 554 | "color-convert": "^2.0.1" 555 | } 556 | }, 557 | "anymatch": { 558 | "version": "3.1.2", 559 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", 560 | "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", 561 | "dev": true, 562 | "requires": { 563 | "normalize-path": "^3.0.0", 564 | "picomatch": "^2.0.4" 565 | } 566 | }, 567 | "append-transform": { 568 | "version": "2.0.0", 569 | "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", 570 | "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", 571 | "dev": true, 572 | "requires": { 573 | "default-require-extensions": "^3.0.0" 574 | } 575 | }, 576 | "archy": { 577 | "version": "1.0.0", 578 | "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", 579 | "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", 580 | "dev": true 581 | }, 582 | "argparse": { 583 | "version": "2.0.1", 584 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 585 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 586 | "dev": true 587 | }, 588 | "array-includes": { 589 | "version": "3.1.5", 590 | "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", 591 | "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", 592 | "dev": true, 593 | "requires": { 594 | "call-bind": "^1.0.2", 595 | "define-properties": "^1.1.4", 596 | "es-abstract": "^1.19.5", 597 | "get-intrinsic": "^1.1.1", 598 | "is-string": "^1.0.7" 599 | } 600 | }, 601 | "array.prototype.flat": { 602 | "version": "1.3.0", 603 | "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", 604 | "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", 605 | "dev": true, 606 | "requires": { 607 | "call-bind": "^1.0.2", 608 | "define-properties": "^1.1.3", 609 | "es-abstract": "^1.19.2", 610 | "es-shim-unscopables": "^1.0.0" 611 | } 612 | }, 613 | "array.prototype.flatmap": { 614 | "version": "1.3.0", 615 | "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz", 616 | "integrity": "sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==", 617 | "dev": true, 618 | "requires": { 619 | "call-bind": "^1.0.2", 620 | "define-properties": "^1.1.3", 621 | "es-abstract": "^1.19.2", 622 | "es-shim-unscopables": "^1.0.0" 623 | } 624 | }, 625 | "aws-sdk": { 626 | "version": "2.1136.0", 627 | "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1136.0.tgz", 628 | "integrity": "sha512-cuXPB1lNoiK/oNTAN+Bud2Pp8/PvY7erL2DYPVN2zsk2nh9e8VG3yldf6KcEO6mm4q/FgZc4X6Zq+fOyuBY/wA==", 629 | "dev": true, 630 | "requires": { 631 | "buffer": "4.9.2", 632 | "events": "1.1.1", 633 | "ieee754": "1.1.13", 634 | "jmespath": "0.16.0", 635 | "querystring": "0.2.0", 636 | "sax": "1.2.1", 637 | "url": "0.10.3", 638 | "uuid": "3.3.2", 639 | "xml2js": "0.4.19" 640 | } 641 | }, 642 | "aws4": { 643 | "version": "1.11.0", 644 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", 645 | "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" 646 | }, 647 | "balanced-match": { 648 | "version": "1.0.2", 649 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 650 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 651 | "dev": true 652 | }, 653 | "base64-js": { 654 | "version": "1.5.1", 655 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 656 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 657 | "dev": true 658 | }, 659 | "binary-extensions": { 660 | "version": "2.2.0", 661 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 662 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", 663 | "dev": true 664 | }, 665 | "brace-expansion": { 666 | "version": "1.1.11", 667 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 668 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 669 | "dev": true, 670 | "requires": { 671 | "balanced-match": "^1.0.0", 672 | "concat-map": "0.0.1" 673 | } 674 | }, 675 | "braces": { 676 | "version": "3.0.2", 677 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 678 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 679 | "dev": true, 680 | "requires": { 681 | "fill-range": "^7.0.1" 682 | } 683 | }, 684 | "browser-stdout": { 685 | "version": "1.3.1", 686 | "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", 687 | "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", 688 | "dev": true 689 | }, 690 | "browserslist": { 691 | "version": "4.20.3", 692 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", 693 | "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", 694 | "dev": true, 695 | "requires": { 696 | "caniuse-lite": "^1.0.30001332", 697 | "electron-to-chromium": "^1.4.118", 698 | "escalade": "^3.1.1", 699 | "node-releases": "^2.0.3", 700 | "picocolors": "^1.0.0" 701 | } 702 | }, 703 | "buffer": { 704 | "version": "4.9.2", 705 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", 706 | "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", 707 | "dev": true, 708 | "requires": { 709 | "base64-js": "^1.0.2", 710 | "ieee754": "^1.1.4", 711 | "isarray": "^1.0.0" 712 | } 713 | }, 714 | "builtins": { 715 | "version": "4.1.0", 716 | "resolved": "https://registry.npmjs.org/builtins/-/builtins-4.1.0.tgz", 717 | "integrity": "sha512-1bPRZQtmKaO6h7qV1YHXNtr6nCK28k0Zo95KM4dXfILcZZwoHJBN1m3lfLv9LPkcOZlrSr+J1bzMaZFO98Yq0w==", 718 | "dev": true, 719 | "requires": { 720 | "semver": "^7.0.0" 721 | }, 722 | "dependencies": { 723 | "semver": { 724 | "version": "7.3.7", 725 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", 726 | "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", 727 | "dev": true, 728 | "requires": { 729 | "lru-cache": "^6.0.0" 730 | } 731 | } 732 | } 733 | }, 734 | "caching-transform": { 735 | "version": "4.0.0", 736 | "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", 737 | "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", 738 | "dev": true, 739 | "requires": { 740 | "hasha": "^5.0.0", 741 | "make-dir": "^3.0.0", 742 | "package-hash": "^4.0.0", 743 | "write-file-atomic": "^3.0.0" 744 | } 745 | }, 746 | "call-bind": { 747 | "version": "1.0.2", 748 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", 749 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", 750 | "dev": true, 751 | "requires": { 752 | "function-bind": "^1.1.1", 753 | "get-intrinsic": "^1.0.2" 754 | } 755 | }, 756 | "callsites": { 757 | "version": "3.1.0", 758 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 759 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 760 | "dev": true 761 | }, 762 | "camelcase": { 763 | "version": "6.3.0", 764 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", 765 | "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", 766 | "dev": true 767 | }, 768 | "caniuse-lite": { 769 | "version": "1.0.30001341", 770 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001341.tgz", 771 | "integrity": "sha512-2SodVrFFtvGENGCv0ChVJIDQ0KPaS1cg7/qtfMaICgeMolDdo/Z2OD32F0Aq9yl6F4YFwGPBS5AaPqNYiW4PoA==", 772 | "dev": true 773 | }, 774 | "chalk": { 775 | "version": "4.1.2", 776 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 777 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 778 | "dev": true, 779 | "requires": { 780 | "ansi-styles": "^4.1.0", 781 | "supports-color": "^7.1.0" 782 | }, 783 | "dependencies": { 784 | "supports-color": { 785 | "version": "7.2.0", 786 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 787 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 788 | "dev": true, 789 | "requires": { 790 | "has-flag": "^4.0.0" 791 | } 792 | } 793 | } 794 | }, 795 | "chokidar": { 796 | "version": "3.5.3", 797 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", 798 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", 799 | "dev": true, 800 | "requires": { 801 | "anymatch": "~3.1.2", 802 | "braces": "~3.0.2", 803 | "fsevents": "~2.3.2", 804 | "glob-parent": "~5.1.2", 805 | "is-binary-path": "~2.1.0", 806 | "is-glob": "~4.0.1", 807 | "normalize-path": "~3.0.0", 808 | "readdirp": "~3.6.0" 809 | } 810 | }, 811 | "clean-stack": { 812 | "version": "2.2.0", 813 | "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", 814 | "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", 815 | "dev": true 816 | }, 817 | "cliui": { 818 | "version": "7.0.4", 819 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", 820 | "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", 821 | "dev": true, 822 | "requires": { 823 | "string-width": "^4.2.0", 824 | "strip-ansi": "^6.0.0", 825 | "wrap-ansi": "^7.0.0" 826 | } 827 | }, 828 | "color-convert": { 829 | "version": "2.0.1", 830 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 831 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 832 | "dev": true, 833 | "requires": { 834 | "color-name": "~1.1.4" 835 | } 836 | }, 837 | "color-name": { 838 | "version": "1.1.4", 839 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 840 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 841 | "dev": true 842 | }, 843 | "commondir": { 844 | "version": "1.0.1", 845 | "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", 846 | "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", 847 | "dev": true 848 | }, 849 | "concat-map": { 850 | "version": "0.0.1", 851 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 852 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 853 | "dev": true 854 | }, 855 | "convert-source-map": { 856 | "version": "1.8.0", 857 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", 858 | "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", 859 | "dev": true, 860 | "requires": { 861 | "safe-buffer": "~5.1.1" 862 | }, 863 | "dependencies": { 864 | "safe-buffer": { 865 | "version": "5.1.2", 866 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 867 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 868 | "dev": true 869 | } 870 | } 871 | }, 872 | "cross-spawn": { 873 | "version": "7.0.3", 874 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 875 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 876 | "dev": true, 877 | "requires": { 878 | "path-key": "^3.1.0", 879 | "shebang-command": "^2.0.0", 880 | "which": "^2.0.1" 881 | } 882 | }, 883 | "debug": { 884 | "version": "4.3.4", 885 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 886 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 887 | "dev": true, 888 | "requires": { 889 | "ms": "2.1.2" 890 | }, 891 | "dependencies": { 892 | "ms": { 893 | "version": "2.1.2", 894 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 895 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 896 | "dev": true 897 | } 898 | } 899 | }, 900 | "decamelize": { 901 | "version": "4.0.0", 902 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", 903 | "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", 904 | "dev": true 905 | }, 906 | "deep-is": { 907 | "version": "0.1.4", 908 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 909 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 910 | "dev": true 911 | }, 912 | "default-require-extensions": { 913 | "version": "3.0.0", 914 | "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", 915 | "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", 916 | "dev": true, 917 | "requires": { 918 | "strip-bom": "^4.0.0" 919 | } 920 | }, 921 | "define-properties": { 922 | "version": "1.1.4", 923 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", 924 | "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", 925 | "dev": true, 926 | "requires": { 927 | "has-property-descriptors": "^1.0.0", 928 | "object-keys": "^1.1.1" 929 | } 930 | }, 931 | "diff": { 932 | "version": "5.0.0", 933 | "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", 934 | "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", 935 | "dev": true 936 | }, 937 | "doctrine": { 938 | "version": "3.0.0", 939 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 940 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 941 | "dev": true, 942 | "requires": { 943 | "esutils": "^2.0.2" 944 | } 945 | }, 946 | "electron-to-chromium": { 947 | "version": "1.4.137", 948 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz", 949 | "integrity": "sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA==", 950 | "dev": true 951 | }, 952 | "emoji-regex": { 953 | "version": "8.0.0", 954 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 955 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 956 | "dev": true 957 | }, 958 | "error-ex": { 959 | "version": "1.3.2", 960 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", 961 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", 962 | "dev": true, 963 | "requires": { 964 | "is-arrayish": "^0.2.1" 965 | } 966 | }, 967 | "es-abstract": { 968 | "version": "1.20.0", 969 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.0.tgz", 970 | "integrity": "sha512-URbD8tgRthKD3YcC39vbvSDrX23upXnPcnGAjQfgxXF5ID75YcENawc9ZX/9iTP9ptUyfCLIxTTuMYoRfiOVKA==", 971 | "dev": true, 972 | "requires": { 973 | "call-bind": "^1.0.2", 974 | "es-to-primitive": "^1.2.1", 975 | "function-bind": "^1.1.1", 976 | "function.prototype.name": "^1.1.5", 977 | "get-intrinsic": "^1.1.1", 978 | "get-symbol-description": "^1.0.0", 979 | "has": "^1.0.3", 980 | "has-property-descriptors": "^1.0.0", 981 | "has-symbols": "^1.0.3", 982 | "internal-slot": "^1.0.3", 983 | "is-callable": "^1.2.4", 984 | "is-negative-zero": "^2.0.2", 985 | "is-regex": "^1.1.4", 986 | "is-shared-array-buffer": "^1.0.2", 987 | "is-string": "^1.0.7", 988 | "is-weakref": "^1.0.2", 989 | "object-inspect": "^1.12.0", 990 | "object-keys": "^1.1.1", 991 | "object.assign": "^4.1.2", 992 | "regexp.prototype.flags": "^1.4.1", 993 | "string.prototype.trimend": "^1.0.5", 994 | "string.prototype.trimstart": "^1.0.5", 995 | "unbox-primitive": "^1.0.2" 996 | } 997 | }, 998 | "es-shim-unscopables": { 999 | "version": "1.0.0", 1000 | "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", 1001 | "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", 1002 | "dev": true, 1003 | "requires": { 1004 | "has": "^1.0.3" 1005 | } 1006 | }, 1007 | "es-to-primitive": { 1008 | "version": "1.2.1", 1009 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", 1010 | "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", 1011 | "dev": true, 1012 | "requires": { 1013 | "is-callable": "^1.1.4", 1014 | "is-date-object": "^1.0.1", 1015 | "is-symbol": "^1.0.2" 1016 | } 1017 | }, 1018 | "es6-error": { 1019 | "version": "4.1.1", 1020 | "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", 1021 | "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", 1022 | "dev": true 1023 | }, 1024 | "escalade": { 1025 | "version": "3.1.1", 1026 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 1027 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 1028 | "dev": true 1029 | }, 1030 | "escape-string-regexp": { 1031 | "version": "4.0.0", 1032 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 1033 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 1034 | "dev": true 1035 | }, 1036 | "eslint": { 1037 | "version": "8.15.0", 1038 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.15.0.tgz", 1039 | "integrity": "sha512-GG5USZ1jhCu8HJkzGgeK8/+RGnHaNYZGrGDzUtigK3BsGESW/rs2az23XqE0WVwDxy1VRvvjSSGu5nB0Bu+6SA==", 1040 | "dev": true, 1041 | "requires": { 1042 | "@eslint/eslintrc": "^1.2.3", 1043 | "@humanwhocodes/config-array": "^0.9.2", 1044 | "ajv": "^6.10.0", 1045 | "chalk": "^4.0.0", 1046 | "cross-spawn": "^7.0.2", 1047 | "debug": "^4.3.2", 1048 | "doctrine": "^3.0.0", 1049 | "escape-string-regexp": "^4.0.0", 1050 | "eslint-scope": "^7.1.1", 1051 | "eslint-utils": "^3.0.0", 1052 | "eslint-visitor-keys": "^3.3.0", 1053 | "espree": "^9.3.2", 1054 | "esquery": "^1.4.0", 1055 | "esutils": "^2.0.2", 1056 | "fast-deep-equal": "^3.1.3", 1057 | "file-entry-cache": "^6.0.1", 1058 | "functional-red-black-tree": "^1.0.1", 1059 | "glob-parent": "^6.0.1", 1060 | "globals": "^13.6.0", 1061 | "ignore": "^5.2.0", 1062 | "import-fresh": "^3.0.0", 1063 | "imurmurhash": "^0.1.4", 1064 | "is-glob": "^4.0.0", 1065 | "js-yaml": "^4.1.0", 1066 | "json-stable-stringify-without-jsonify": "^1.0.1", 1067 | "levn": "^0.4.1", 1068 | "lodash.merge": "^4.6.2", 1069 | "minimatch": "^3.1.2", 1070 | "natural-compare": "^1.4.0", 1071 | "optionator": "^0.9.1", 1072 | "regexpp": "^3.2.0", 1073 | "strip-ansi": "^6.0.1", 1074 | "strip-json-comments": "^3.1.0", 1075 | "text-table": "^0.2.0", 1076 | "v8-compile-cache": "^2.0.3" 1077 | }, 1078 | "dependencies": { 1079 | "glob-parent": { 1080 | "version": "6.0.2", 1081 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 1082 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 1083 | "dev": true, 1084 | "requires": { 1085 | "is-glob": "^4.0.3" 1086 | } 1087 | }, 1088 | "globals": { 1089 | "version": "13.15.0", 1090 | "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", 1091 | "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", 1092 | "dev": true, 1093 | "requires": { 1094 | "type-fest": "^0.20.2" 1095 | } 1096 | }, 1097 | "minimatch": { 1098 | "version": "3.1.2", 1099 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1100 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1101 | "dev": true, 1102 | "requires": { 1103 | "brace-expansion": "^1.1.7" 1104 | } 1105 | }, 1106 | "type-fest": { 1107 | "version": "0.20.2", 1108 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", 1109 | "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", 1110 | "dev": true 1111 | } 1112 | } 1113 | }, 1114 | "eslint-config-standard": { 1115 | "version": "17.0.0", 1116 | "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz", 1117 | "integrity": "sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==", 1118 | "dev": true 1119 | }, 1120 | "eslint-config-standard-jsx": { 1121 | "version": "11.0.0", 1122 | "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-11.0.0.tgz", 1123 | "integrity": "sha512-+1EV/R0JxEK1L0NGolAr8Iktm3Rgotx3BKwgaX+eAuSX8D952LULKtjgZD3F+e6SvibONnhLwoTi9DPxN5LvvQ==", 1124 | "dev": true 1125 | }, 1126 | "eslint-import-resolver-node": { 1127 | "version": "0.3.6", 1128 | "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", 1129 | "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", 1130 | "dev": true, 1131 | "requires": { 1132 | "debug": "^3.2.7", 1133 | "resolve": "^1.20.0" 1134 | }, 1135 | "dependencies": { 1136 | "debug": { 1137 | "version": "3.2.7", 1138 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 1139 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 1140 | "dev": true, 1141 | "requires": { 1142 | "ms": "^2.1.1" 1143 | } 1144 | } 1145 | } 1146 | }, 1147 | "eslint-module-utils": { 1148 | "version": "2.7.3", 1149 | "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz", 1150 | "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==", 1151 | "dev": true, 1152 | "requires": { 1153 | "debug": "^3.2.7", 1154 | "find-up": "^2.1.0" 1155 | }, 1156 | "dependencies": { 1157 | "debug": { 1158 | "version": "3.2.7", 1159 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 1160 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 1161 | "dev": true, 1162 | "requires": { 1163 | "ms": "^2.1.1" 1164 | } 1165 | }, 1166 | "find-up": { 1167 | "version": "2.1.0", 1168 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", 1169 | "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", 1170 | "dev": true, 1171 | "requires": { 1172 | "locate-path": "^2.0.0" 1173 | } 1174 | }, 1175 | "locate-path": { 1176 | "version": "2.0.0", 1177 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", 1178 | "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", 1179 | "dev": true, 1180 | "requires": { 1181 | "p-locate": "^2.0.0", 1182 | "path-exists": "^3.0.0" 1183 | } 1184 | }, 1185 | "p-limit": { 1186 | "version": "1.3.0", 1187 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", 1188 | "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", 1189 | "dev": true, 1190 | "requires": { 1191 | "p-try": "^1.0.0" 1192 | } 1193 | }, 1194 | "p-locate": { 1195 | "version": "2.0.0", 1196 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", 1197 | "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", 1198 | "dev": true, 1199 | "requires": { 1200 | "p-limit": "^1.1.0" 1201 | } 1202 | }, 1203 | "p-try": { 1204 | "version": "1.0.0", 1205 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", 1206 | "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", 1207 | "dev": true 1208 | }, 1209 | "path-exists": { 1210 | "version": "3.0.0", 1211 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 1212 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", 1213 | "dev": true 1214 | } 1215 | } 1216 | }, 1217 | "eslint-plugin-es": { 1218 | "version": "4.1.0", 1219 | "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz", 1220 | "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==", 1221 | "dev": true, 1222 | "requires": { 1223 | "eslint-utils": "^2.0.0", 1224 | "regexpp": "^3.0.0" 1225 | }, 1226 | "dependencies": { 1227 | "eslint-utils": { 1228 | "version": "2.1.0", 1229 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", 1230 | "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", 1231 | "dev": true, 1232 | "requires": { 1233 | "eslint-visitor-keys": "^1.1.0" 1234 | } 1235 | }, 1236 | "eslint-visitor-keys": { 1237 | "version": "1.3.0", 1238 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", 1239 | "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", 1240 | "dev": true 1241 | } 1242 | } 1243 | }, 1244 | "eslint-plugin-import": { 1245 | "version": "2.26.0", 1246 | "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", 1247 | "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", 1248 | "dev": true, 1249 | "requires": { 1250 | "array-includes": "^3.1.4", 1251 | "array.prototype.flat": "^1.2.5", 1252 | "debug": "^2.6.9", 1253 | "doctrine": "^2.1.0", 1254 | "eslint-import-resolver-node": "^0.3.6", 1255 | "eslint-module-utils": "^2.7.3", 1256 | "has": "^1.0.3", 1257 | "is-core-module": "^2.8.1", 1258 | "is-glob": "^4.0.3", 1259 | "minimatch": "^3.1.2", 1260 | "object.values": "^1.1.5", 1261 | "resolve": "^1.22.0", 1262 | "tsconfig-paths": "^3.14.1" 1263 | }, 1264 | "dependencies": { 1265 | "debug": { 1266 | "version": "2.6.9", 1267 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 1268 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 1269 | "dev": true, 1270 | "requires": { 1271 | "ms": "2.0.0" 1272 | } 1273 | }, 1274 | "doctrine": { 1275 | "version": "2.1.0", 1276 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", 1277 | "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", 1278 | "dev": true, 1279 | "requires": { 1280 | "esutils": "^2.0.2" 1281 | } 1282 | }, 1283 | "minimatch": { 1284 | "version": "3.1.2", 1285 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1286 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1287 | "dev": true, 1288 | "requires": { 1289 | "brace-expansion": "^1.1.7" 1290 | } 1291 | }, 1292 | "ms": { 1293 | "version": "2.0.0", 1294 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1295 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 1296 | "dev": true 1297 | } 1298 | } 1299 | }, 1300 | "eslint-plugin-n": { 1301 | "version": "15.2.0", 1302 | "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.2.0.tgz", 1303 | "integrity": "sha512-lWLg++jGwC88GDGGBX3CMkk0GIWq0y41aH51lavWApOKcMQcYoL3Ayd0lEdtD3SnQtR+3qBvWQS3qGbR2BxRWg==", 1304 | "dev": true, 1305 | "requires": { 1306 | "builtins": "^4.0.0", 1307 | "eslint-plugin-es": "^4.1.0", 1308 | "eslint-utils": "^3.0.0", 1309 | "ignore": "^5.1.1", 1310 | "is-core-module": "^2.3.0", 1311 | "minimatch": "^3.0.4", 1312 | "resolve": "^1.10.1", 1313 | "semver": "^6.3.0" 1314 | }, 1315 | "dependencies": { 1316 | "minimatch": { 1317 | "version": "3.1.2", 1318 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1319 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1320 | "dev": true, 1321 | "requires": { 1322 | "brace-expansion": "^1.1.7" 1323 | } 1324 | } 1325 | } 1326 | }, 1327 | "eslint-plugin-promise": { 1328 | "version": "6.0.0", 1329 | "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.0.0.tgz", 1330 | "integrity": "sha512-7GPezalm5Bfi/E22PnQxDWH2iW9GTvAlUNTztemeHb6c1BniSyoeTrM87JkC0wYdi6aQrZX9p2qEiAno8aTcbw==", 1331 | "dev": true 1332 | }, 1333 | "eslint-plugin-react": { 1334 | "version": "7.29.4", 1335 | "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.29.4.tgz", 1336 | "integrity": "sha512-CVCXajliVh509PcZYRFyu/BoUEz452+jtQJq2b3Bae4v3xBUWPLCmtmBM+ZinG4MzwmxJgJ2M5rMqhqLVn7MtQ==", 1337 | "dev": true, 1338 | "requires": { 1339 | "array-includes": "^3.1.4", 1340 | "array.prototype.flatmap": "^1.2.5", 1341 | "doctrine": "^2.1.0", 1342 | "estraverse": "^5.3.0", 1343 | "jsx-ast-utils": "^2.4.1 || ^3.0.0", 1344 | "minimatch": "^3.1.2", 1345 | "object.entries": "^1.1.5", 1346 | "object.fromentries": "^2.0.5", 1347 | "object.hasown": "^1.1.0", 1348 | "object.values": "^1.1.5", 1349 | "prop-types": "^15.8.1", 1350 | "resolve": "^2.0.0-next.3", 1351 | "semver": "^6.3.0", 1352 | "string.prototype.matchall": "^4.0.6" 1353 | }, 1354 | "dependencies": { 1355 | "doctrine": { 1356 | "version": "2.1.0", 1357 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", 1358 | "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", 1359 | "dev": true, 1360 | "requires": { 1361 | "esutils": "^2.0.2" 1362 | } 1363 | }, 1364 | "minimatch": { 1365 | "version": "3.1.2", 1366 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1367 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1368 | "dev": true, 1369 | "requires": { 1370 | "brace-expansion": "^1.1.7" 1371 | } 1372 | }, 1373 | "resolve": { 1374 | "version": "2.0.0-next.3", 1375 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", 1376 | "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", 1377 | "dev": true, 1378 | "requires": { 1379 | "is-core-module": "^2.2.0", 1380 | "path-parse": "^1.0.6" 1381 | } 1382 | } 1383 | } 1384 | }, 1385 | "eslint-scope": { 1386 | "version": "7.1.1", 1387 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", 1388 | "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", 1389 | "dev": true, 1390 | "requires": { 1391 | "esrecurse": "^4.3.0", 1392 | "estraverse": "^5.2.0" 1393 | } 1394 | }, 1395 | "eslint-utils": { 1396 | "version": "3.0.0", 1397 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", 1398 | "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", 1399 | "dev": true, 1400 | "requires": { 1401 | "eslint-visitor-keys": "^2.0.0" 1402 | }, 1403 | "dependencies": { 1404 | "eslint-visitor-keys": { 1405 | "version": "2.1.0", 1406 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", 1407 | "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", 1408 | "dev": true 1409 | } 1410 | } 1411 | }, 1412 | "eslint-visitor-keys": { 1413 | "version": "3.3.0", 1414 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", 1415 | "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", 1416 | "dev": true 1417 | }, 1418 | "espree": { 1419 | "version": "9.3.2", 1420 | "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", 1421 | "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", 1422 | "dev": true, 1423 | "requires": { 1424 | "acorn": "^8.7.1", 1425 | "acorn-jsx": "^5.3.2", 1426 | "eslint-visitor-keys": "^3.3.0" 1427 | } 1428 | }, 1429 | "esprima": { 1430 | "version": "4.0.1", 1431 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 1432 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 1433 | "dev": true 1434 | }, 1435 | "esquery": { 1436 | "version": "1.4.0", 1437 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", 1438 | "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", 1439 | "dev": true, 1440 | "requires": { 1441 | "estraverse": "^5.1.0" 1442 | } 1443 | }, 1444 | "esrecurse": { 1445 | "version": "4.3.0", 1446 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 1447 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 1448 | "dev": true, 1449 | "requires": { 1450 | "estraverse": "^5.2.0" 1451 | } 1452 | }, 1453 | "estraverse": { 1454 | "version": "5.3.0", 1455 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 1456 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 1457 | "dev": true 1458 | }, 1459 | "esutils": { 1460 | "version": "2.0.3", 1461 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 1462 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 1463 | "dev": true 1464 | }, 1465 | "events": { 1466 | "version": "1.1.1", 1467 | "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", 1468 | "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", 1469 | "dev": true 1470 | }, 1471 | "fast-deep-equal": { 1472 | "version": "3.1.3", 1473 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 1474 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 1475 | "dev": true 1476 | }, 1477 | "fast-json-stable-stringify": { 1478 | "version": "2.1.0", 1479 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 1480 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 1481 | "dev": true 1482 | }, 1483 | "fast-levenshtein": { 1484 | "version": "2.0.6", 1485 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 1486 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", 1487 | "dev": true 1488 | }, 1489 | "file-entry-cache": { 1490 | "version": "6.0.1", 1491 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", 1492 | "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", 1493 | "dev": true, 1494 | "requires": { 1495 | "flat-cache": "^3.0.4" 1496 | } 1497 | }, 1498 | "fill-range": { 1499 | "version": "7.0.1", 1500 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 1501 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 1502 | "dev": true, 1503 | "requires": { 1504 | "to-regex-range": "^5.0.1" 1505 | } 1506 | }, 1507 | "find-cache-dir": { 1508 | "version": "3.3.2", 1509 | "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", 1510 | "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", 1511 | "dev": true, 1512 | "requires": { 1513 | "commondir": "^1.0.1", 1514 | "make-dir": "^3.0.2", 1515 | "pkg-dir": "^4.1.0" 1516 | } 1517 | }, 1518 | "find-up": { 1519 | "version": "5.0.0", 1520 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", 1521 | "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", 1522 | "dev": true, 1523 | "requires": { 1524 | "locate-path": "^6.0.0", 1525 | "path-exists": "^4.0.0" 1526 | } 1527 | }, 1528 | "flat": { 1529 | "version": "5.0.2", 1530 | "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", 1531 | "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", 1532 | "dev": true 1533 | }, 1534 | "flat-cache": { 1535 | "version": "3.0.4", 1536 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", 1537 | "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", 1538 | "dev": true, 1539 | "requires": { 1540 | "flatted": "^3.1.0", 1541 | "rimraf": "^3.0.2" 1542 | } 1543 | }, 1544 | "flatted": { 1545 | "version": "3.2.5", 1546 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", 1547 | "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", 1548 | "dev": true 1549 | }, 1550 | "foreground-child": { 1551 | "version": "2.0.0", 1552 | "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", 1553 | "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", 1554 | "dev": true, 1555 | "requires": { 1556 | "cross-spawn": "^7.0.0", 1557 | "signal-exit": "^3.0.2" 1558 | } 1559 | }, 1560 | "fromentries": { 1561 | "version": "1.3.2", 1562 | "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", 1563 | "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", 1564 | "dev": true 1565 | }, 1566 | "fs.realpath": { 1567 | "version": "1.0.0", 1568 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1569 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 1570 | "dev": true 1571 | }, 1572 | "fsevents": { 1573 | "version": "2.3.2", 1574 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 1575 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 1576 | "dev": true, 1577 | "optional": true 1578 | }, 1579 | "function-bind": { 1580 | "version": "1.1.1", 1581 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 1582 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 1583 | "dev": true 1584 | }, 1585 | "function.prototype.name": { 1586 | "version": "1.1.5", 1587 | "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", 1588 | "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", 1589 | "dev": true, 1590 | "requires": { 1591 | "call-bind": "^1.0.2", 1592 | "define-properties": "^1.1.3", 1593 | "es-abstract": "^1.19.0", 1594 | "functions-have-names": "^1.2.2" 1595 | } 1596 | }, 1597 | "functional-red-black-tree": { 1598 | "version": "1.0.1", 1599 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 1600 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", 1601 | "dev": true 1602 | }, 1603 | "functions-have-names": { 1604 | "version": "1.2.3", 1605 | "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", 1606 | "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", 1607 | "dev": true 1608 | }, 1609 | "gensync": { 1610 | "version": "1.0.0-beta.2", 1611 | "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", 1612 | "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", 1613 | "dev": true 1614 | }, 1615 | "get-caller-file": { 1616 | "version": "2.0.5", 1617 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 1618 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 1619 | "dev": true 1620 | }, 1621 | "get-intrinsic": { 1622 | "version": "1.1.1", 1623 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", 1624 | "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", 1625 | "dev": true, 1626 | "requires": { 1627 | "function-bind": "^1.1.1", 1628 | "has": "^1.0.3", 1629 | "has-symbols": "^1.0.1" 1630 | } 1631 | }, 1632 | "get-package-type": { 1633 | "version": "0.1.0", 1634 | "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", 1635 | "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", 1636 | "dev": true 1637 | }, 1638 | "get-stdin": { 1639 | "version": "8.0.0", 1640 | "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", 1641 | "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", 1642 | "dev": true 1643 | }, 1644 | "get-symbol-description": { 1645 | "version": "1.0.0", 1646 | "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", 1647 | "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", 1648 | "dev": true, 1649 | "requires": { 1650 | "call-bind": "^1.0.2", 1651 | "get-intrinsic": "^1.1.1" 1652 | } 1653 | }, 1654 | "glob": { 1655 | "version": "7.2.0", 1656 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", 1657 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", 1658 | "dev": true, 1659 | "requires": { 1660 | "fs.realpath": "^1.0.0", 1661 | "inflight": "^1.0.4", 1662 | "inherits": "2", 1663 | "minimatch": "^3.0.4", 1664 | "once": "^1.3.0", 1665 | "path-is-absolute": "^1.0.0" 1666 | }, 1667 | "dependencies": { 1668 | "minimatch": { 1669 | "version": "3.1.2", 1670 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1671 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1672 | "dev": true, 1673 | "requires": { 1674 | "brace-expansion": "^1.1.7" 1675 | } 1676 | } 1677 | } 1678 | }, 1679 | "glob-parent": { 1680 | "version": "5.1.2", 1681 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1682 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1683 | "dev": true, 1684 | "requires": { 1685 | "is-glob": "^4.0.1" 1686 | } 1687 | }, 1688 | "globals": { 1689 | "version": "11.12.0", 1690 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", 1691 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", 1692 | "dev": true 1693 | }, 1694 | "graceful-fs": { 1695 | "version": "4.2.10", 1696 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", 1697 | "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", 1698 | "dev": true 1699 | }, 1700 | "has": { 1701 | "version": "1.0.3", 1702 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 1703 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 1704 | "dev": true, 1705 | "requires": { 1706 | "function-bind": "^1.1.1" 1707 | } 1708 | }, 1709 | "has-bigints": { 1710 | "version": "1.0.2", 1711 | "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", 1712 | "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", 1713 | "dev": true 1714 | }, 1715 | "has-flag": { 1716 | "version": "4.0.0", 1717 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 1718 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 1719 | "dev": true 1720 | }, 1721 | "has-property-descriptors": { 1722 | "version": "1.0.0", 1723 | "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", 1724 | "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", 1725 | "dev": true, 1726 | "requires": { 1727 | "get-intrinsic": "^1.1.1" 1728 | } 1729 | }, 1730 | "has-symbols": { 1731 | "version": "1.0.3", 1732 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", 1733 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", 1734 | "dev": true 1735 | }, 1736 | "has-tostringtag": { 1737 | "version": "1.0.0", 1738 | "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", 1739 | "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", 1740 | "dev": true, 1741 | "requires": { 1742 | "has-symbols": "^1.0.2" 1743 | } 1744 | }, 1745 | "hasha": { 1746 | "version": "5.2.2", 1747 | "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", 1748 | "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", 1749 | "dev": true, 1750 | "requires": { 1751 | "is-stream": "^2.0.0", 1752 | "type-fest": "^0.8.0" 1753 | } 1754 | }, 1755 | "he": { 1756 | "version": "1.2.0", 1757 | "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", 1758 | "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", 1759 | "dev": true 1760 | }, 1761 | "hpagent": { 1762 | "version": "0.1.2", 1763 | "resolved": "https://registry.npmjs.org/hpagent/-/hpagent-0.1.2.tgz", 1764 | "integrity": "sha512-ePqFXHtSQWAFXYmj+JtOTHr84iNrII4/QRlAAPPE+zqnKy4xJo7Ie1Y4kC7AdB+LxLxSTTzBMASsEcy0q8YyvQ==", 1765 | "dev": true 1766 | }, 1767 | "html-escaper": { 1768 | "version": "2.0.2", 1769 | "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", 1770 | "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", 1771 | "dev": true 1772 | }, 1773 | "ieee754": { 1774 | "version": "1.1.13", 1775 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", 1776 | "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", 1777 | "dev": true 1778 | }, 1779 | "ignore": { 1780 | "version": "5.2.0", 1781 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", 1782 | "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", 1783 | "dev": true 1784 | }, 1785 | "import-fresh": { 1786 | "version": "3.3.0", 1787 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 1788 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 1789 | "dev": true, 1790 | "requires": { 1791 | "parent-module": "^1.0.0", 1792 | "resolve-from": "^4.0.0" 1793 | }, 1794 | "dependencies": { 1795 | "resolve-from": { 1796 | "version": "4.0.0", 1797 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 1798 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 1799 | "dev": true 1800 | } 1801 | } 1802 | }, 1803 | "imurmurhash": { 1804 | "version": "0.1.4", 1805 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 1806 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 1807 | "dev": true 1808 | }, 1809 | "indent-string": { 1810 | "version": "4.0.0", 1811 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", 1812 | "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", 1813 | "dev": true 1814 | }, 1815 | "inflight": { 1816 | "version": "1.0.6", 1817 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1818 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1819 | "dev": true, 1820 | "requires": { 1821 | "once": "^1.3.0", 1822 | "wrappy": "1" 1823 | } 1824 | }, 1825 | "inherits": { 1826 | "version": "2.0.4", 1827 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1828 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1829 | "dev": true 1830 | }, 1831 | "internal-slot": { 1832 | "version": "1.0.3", 1833 | "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", 1834 | "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", 1835 | "dev": true, 1836 | "requires": { 1837 | "get-intrinsic": "^1.1.0", 1838 | "has": "^1.0.3", 1839 | "side-channel": "^1.0.4" 1840 | } 1841 | }, 1842 | "is-arrayish": { 1843 | "version": "0.2.1", 1844 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 1845 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", 1846 | "dev": true 1847 | }, 1848 | "is-bigint": { 1849 | "version": "1.0.4", 1850 | "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", 1851 | "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", 1852 | "dev": true, 1853 | "requires": { 1854 | "has-bigints": "^1.0.1" 1855 | } 1856 | }, 1857 | "is-binary-path": { 1858 | "version": "2.1.0", 1859 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 1860 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 1861 | "dev": true, 1862 | "requires": { 1863 | "binary-extensions": "^2.0.0" 1864 | } 1865 | }, 1866 | "is-boolean-object": { 1867 | "version": "1.1.2", 1868 | "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", 1869 | "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", 1870 | "dev": true, 1871 | "requires": { 1872 | "call-bind": "^1.0.2", 1873 | "has-tostringtag": "^1.0.0" 1874 | } 1875 | }, 1876 | "is-callable": { 1877 | "version": "1.2.4", 1878 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", 1879 | "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", 1880 | "dev": true 1881 | }, 1882 | "is-core-module": { 1883 | "version": "2.9.0", 1884 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", 1885 | "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", 1886 | "dev": true, 1887 | "requires": { 1888 | "has": "^1.0.3" 1889 | } 1890 | }, 1891 | "is-date-object": { 1892 | "version": "1.0.5", 1893 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", 1894 | "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", 1895 | "dev": true, 1896 | "requires": { 1897 | "has-tostringtag": "^1.0.0" 1898 | } 1899 | }, 1900 | "is-extglob": { 1901 | "version": "2.1.1", 1902 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1903 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 1904 | "dev": true 1905 | }, 1906 | "is-fullwidth-code-point": { 1907 | "version": "3.0.0", 1908 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 1909 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 1910 | "dev": true 1911 | }, 1912 | "is-glob": { 1913 | "version": "4.0.3", 1914 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 1915 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 1916 | "dev": true, 1917 | "requires": { 1918 | "is-extglob": "^2.1.1" 1919 | } 1920 | }, 1921 | "is-negative-zero": { 1922 | "version": "2.0.2", 1923 | "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", 1924 | "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", 1925 | "dev": true 1926 | }, 1927 | "is-number": { 1928 | "version": "7.0.0", 1929 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1930 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 1931 | "dev": true 1932 | }, 1933 | "is-number-object": { 1934 | "version": "1.0.7", 1935 | "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", 1936 | "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", 1937 | "dev": true, 1938 | "requires": { 1939 | "has-tostringtag": "^1.0.0" 1940 | } 1941 | }, 1942 | "is-plain-obj": { 1943 | "version": "2.1.0", 1944 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", 1945 | "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", 1946 | "dev": true 1947 | }, 1948 | "is-regex": { 1949 | "version": "1.1.4", 1950 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", 1951 | "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", 1952 | "dev": true, 1953 | "requires": { 1954 | "call-bind": "^1.0.2", 1955 | "has-tostringtag": "^1.0.0" 1956 | } 1957 | }, 1958 | "is-shared-array-buffer": { 1959 | "version": "1.0.2", 1960 | "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", 1961 | "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", 1962 | "dev": true, 1963 | "requires": { 1964 | "call-bind": "^1.0.2" 1965 | } 1966 | }, 1967 | "is-stream": { 1968 | "version": "2.0.1", 1969 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", 1970 | "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", 1971 | "dev": true 1972 | }, 1973 | "is-string": { 1974 | "version": "1.0.7", 1975 | "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", 1976 | "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", 1977 | "dev": true, 1978 | "requires": { 1979 | "has-tostringtag": "^1.0.0" 1980 | } 1981 | }, 1982 | "is-symbol": { 1983 | "version": "1.0.4", 1984 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", 1985 | "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", 1986 | "dev": true, 1987 | "requires": { 1988 | "has-symbols": "^1.0.2" 1989 | } 1990 | }, 1991 | "is-typedarray": { 1992 | "version": "1.0.0", 1993 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 1994 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", 1995 | "dev": true 1996 | }, 1997 | "is-unicode-supported": { 1998 | "version": "0.1.0", 1999 | "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", 2000 | "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", 2001 | "dev": true 2002 | }, 2003 | "is-weakref": { 2004 | "version": "1.0.2", 2005 | "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", 2006 | "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", 2007 | "dev": true, 2008 | "requires": { 2009 | "call-bind": "^1.0.2" 2010 | } 2011 | }, 2012 | "is-windows": { 2013 | "version": "1.0.2", 2014 | "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", 2015 | "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", 2016 | "dev": true 2017 | }, 2018 | "isarray": { 2019 | "version": "1.0.0", 2020 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 2021 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 2022 | "dev": true 2023 | }, 2024 | "isexe": { 2025 | "version": "2.0.0", 2026 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 2027 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 2028 | "dev": true 2029 | }, 2030 | "istanbul-lib-coverage": { 2031 | "version": "3.2.0", 2032 | "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", 2033 | "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", 2034 | "dev": true 2035 | }, 2036 | "istanbul-lib-hook": { 2037 | "version": "3.0.0", 2038 | "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", 2039 | "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", 2040 | "dev": true, 2041 | "requires": { 2042 | "append-transform": "^2.0.0" 2043 | } 2044 | }, 2045 | "istanbul-lib-instrument": { 2046 | "version": "4.0.3", 2047 | "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", 2048 | "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", 2049 | "dev": true, 2050 | "requires": { 2051 | "@babel/core": "^7.7.5", 2052 | "@istanbuljs/schema": "^0.1.2", 2053 | "istanbul-lib-coverage": "^3.0.0", 2054 | "semver": "^6.3.0" 2055 | } 2056 | }, 2057 | "istanbul-lib-processinfo": { 2058 | "version": "2.0.2", 2059 | "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", 2060 | "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", 2061 | "dev": true, 2062 | "requires": { 2063 | "archy": "^1.0.0", 2064 | "cross-spawn": "^7.0.0", 2065 | "istanbul-lib-coverage": "^3.0.0-alpha.1", 2066 | "make-dir": "^3.0.0", 2067 | "p-map": "^3.0.0", 2068 | "rimraf": "^3.0.0", 2069 | "uuid": "^3.3.3" 2070 | }, 2071 | "dependencies": { 2072 | "uuid": { 2073 | "version": "3.4.0", 2074 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", 2075 | "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", 2076 | "dev": true 2077 | } 2078 | } 2079 | }, 2080 | "istanbul-lib-report": { 2081 | "version": "3.0.0", 2082 | "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", 2083 | "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", 2084 | "dev": true, 2085 | "requires": { 2086 | "istanbul-lib-coverage": "^3.0.0", 2087 | "make-dir": "^3.0.0", 2088 | "supports-color": "^7.1.0" 2089 | }, 2090 | "dependencies": { 2091 | "supports-color": { 2092 | "version": "7.2.0", 2093 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 2094 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 2095 | "dev": true, 2096 | "requires": { 2097 | "has-flag": "^4.0.0" 2098 | } 2099 | } 2100 | } 2101 | }, 2102 | "istanbul-lib-source-maps": { 2103 | "version": "4.0.1", 2104 | "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", 2105 | "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", 2106 | "dev": true, 2107 | "requires": { 2108 | "debug": "^4.1.1", 2109 | "istanbul-lib-coverage": "^3.0.0", 2110 | "source-map": "^0.6.1" 2111 | } 2112 | }, 2113 | "istanbul-reports": { 2114 | "version": "3.1.4", 2115 | "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", 2116 | "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", 2117 | "dev": true, 2118 | "requires": { 2119 | "html-escaper": "^2.0.0", 2120 | "istanbul-lib-report": "^3.0.0" 2121 | } 2122 | }, 2123 | "jmespath": { 2124 | "version": "0.16.0", 2125 | "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", 2126 | "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==", 2127 | "dev": true 2128 | }, 2129 | "js-tokens": { 2130 | "version": "4.0.0", 2131 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 2132 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 2133 | "dev": true 2134 | }, 2135 | "js-yaml": { 2136 | "version": "4.1.0", 2137 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 2138 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 2139 | "dev": true, 2140 | "requires": { 2141 | "argparse": "^2.0.1" 2142 | } 2143 | }, 2144 | "jsesc": { 2145 | "version": "2.5.2", 2146 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", 2147 | "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", 2148 | "dev": true 2149 | }, 2150 | "json-parse-better-errors": { 2151 | "version": "1.0.2", 2152 | "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", 2153 | "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", 2154 | "dev": true 2155 | }, 2156 | "json-schema-traverse": { 2157 | "version": "0.4.1", 2158 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 2159 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 2160 | "dev": true 2161 | }, 2162 | "json-stable-stringify-without-jsonify": { 2163 | "version": "1.0.1", 2164 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 2165 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", 2166 | "dev": true 2167 | }, 2168 | "json5": { 2169 | "version": "2.2.1", 2170 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", 2171 | "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", 2172 | "dev": true 2173 | }, 2174 | "jsx-ast-utils": { 2175 | "version": "3.3.0", 2176 | "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.0.tgz", 2177 | "integrity": "sha512-XzO9luP6L0xkxwhIJMTJQpZo/eeN60K08jHdexfD569AGxeNug6UketeHXEhROoM8aR7EcUoOQmIhcJQjcuq8Q==", 2178 | "dev": true, 2179 | "requires": { 2180 | "array-includes": "^3.1.4", 2181 | "object.assign": "^4.1.2" 2182 | } 2183 | }, 2184 | "levn": { 2185 | "version": "0.4.1", 2186 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 2187 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 2188 | "dev": true, 2189 | "requires": { 2190 | "prelude-ls": "^1.2.1", 2191 | "type-check": "~0.4.0" 2192 | } 2193 | }, 2194 | "load-json-file": { 2195 | "version": "5.3.0", 2196 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", 2197 | "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", 2198 | "dev": true, 2199 | "requires": { 2200 | "graceful-fs": "^4.1.15", 2201 | "parse-json": "^4.0.0", 2202 | "pify": "^4.0.1", 2203 | "strip-bom": "^3.0.0", 2204 | "type-fest": "^0.3.0" 2205 | }, 2206 | "dependencies": { 2207 | "strip-bom": { 2208 | "version": "3.0.0", 2209 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 2210 | "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", 2211 | "dev": true 2212 | }, 2213 | "type-fest": { 2214 | "version": "0.3.1", 2215 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", 2216 | "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", 2217 | "dev": true 2218 | } 2219 | } 2220 | }, 2221 | "locate-path": { 2222 | "version": "6.0.0", 2223 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", 2224 | "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", 2225 | "dev": true, 2226 | "requires": { 2227 | "p-locate": "^5.0.0" 2228 | } 2229 | }, 2230 | "lodash.flattendeep": { 2231 | "version": "4.4.0", 2232 | "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", 2233 | "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", 2234 | "dev": true 2235 | }, 2236 | "lodash.merge": { 2237 | "version": "4.6.2", 2238 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 2239 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 2240 | "dev": true 2241 | }, 2242 | "log-symbols": { 2243 | "version": "4.1.0", 2244 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", 2245 | "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", 2246 | "dev": true, 2247 | "requires": { 2248 | "chalk": "^4.1.0", 2249 | "is-unicode-supported": "^0.1.0" 2250 | } 2251 | }, 2252 | "loose-envify": { 2253 | "version": "1.4.0", 2254 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 2255 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 2256 | "dev": true, 2257 | "requires": { 2258 | "js-tokens": "^3.0.0 || ^4.0.0" 2259 | } 2260 | }, 2261 | "lru-cache": { 2262 | "version": "6.0.0", 2263 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 2264 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 2265 | "dev": true, 2266 | "requires": { 2267 | "yallist": "^4.0.0" 2268 | } 2269 | }, 2270 | "make-dir": { 2271 | "version": "3.1.0", 2272 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", 2273 | "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", 2274 | "dev": true, 2275 | "requires": { 2276 | "semver": "^6.0.0" 2277 | } 2278 | }, 2279 | "minimatch": { 2280 | "version": "5.0.1", 2281 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", 2282 | "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", 2283 | "dev": true, 2284 | "requires": { 2285 | "brace-expansion": "^2.0.1" 2286 | }, 2287 | "dependencies": { 2288 | "brace-expansion": { 2289 | "version": "2.0.1", 2290 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 2291 | "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 2292 | "dev": true, 2293 | "requires": { 2294 | "balanced-match": "^1.0.0" 2295 | } 2296 | } 2297 | } 2298 | }, 2299 | "minimist": { 2300 | "version": "1.2.6", 2301 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", 2302 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", 2303 | "dev": true 2304 | }, 2305 | "mocha": { 2306 | "version": "10.0.0", 2307 | "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.0.0.tgz", 2308 | "integrity": "sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==", 2309 | "dev": true, 2310 | "requires": { 2311 | "@ungap/promise-all-settled": "1.1.2", 2312 | "ansi-colors": "4.1.1", 2313 | "browser-stdout": "1.3.1", 2314 | "chokidar": "3.5.3", 2315 | "debug": "4.3.4", 2316 | "diff": "5.0.0", 2317 | "escape-string-regexp": "4.0.0", 2318 | "find-up": "5.0.0", 2319 | "glob": "7.2.0", 2320 | "he": "1.2.0", 2321 | "js-yaml": "4.1.0", 2322 | "log-symbols": "4.1.0", 2323 | "minimatch": "5.0.1", 2324 | "ms": "2.1.3", 2325 | "nanoid": "3.3.3", 2326 | "serialize-javascript": "6.0.0", 2327 | "strip-json-comments": "3.1.1", 2328 | "supports-color": "8.1.1", 2329 | "workerpool": "6.2.1", 2330 | "yargs": "16.2.0", 2331 | "yargs-parser": "20.2.4", 2332 | "yargs-unparser": "2.0.0" 2333 | } 2334 | }, 2335 | "ms": { 2336 | "version": "2.1.3", 2337 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 2338 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 2339 | "dev": true 2340 | }, 2341 | "nanoid": { 2342 | "version": "3.3.3", 2343 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", 2344 | "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", 2345 | "dev": true 2346 | }, 2347 | "natural-compare": { 2348 | "version": "1.4.0", 2349 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 2350 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", 2351 | "dev": true 2352 | }, 2353 | "node-preload": { 2354 | "version": "0.2.1", 2355 | "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", 2356 | "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", 2357 | "dev": true, 2358 | "requires": { 2359 | "process-on-spawn": "^1.0.0" 2360 | } 2361 | }, 2362 | "node-releases": { 2363 | "version": "2.0.4", 2364 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz", 2365 | "integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==", 2366 | "dev": true 2367 | }, 2368 | "normalize-path": { 2369 | "version": "3.0.0", 2370 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 2371 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 2372 | "dev": true 2373 | }, 2374 | "nyc": { 2375 | "version": "15.1.0", 2376 | "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", 2377 | "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", 2378 | "dev": true, 2379 | "requires": { 2380 | "@istanbuljs/load-nyc-config": "^1.0.0", 2381 | "@istanbuljs/schema": "^0.1.2", 2382 | "caching-transform": "^4.0.0", 2383 | "convert-source-map": "^1.7.0", 2384 | "decamelize": "^1.2.0", 2385 | "find-cache-dir": "^3.2.0", 2386 | "find-up": "^4.1.0", 2387 | "foreground-child": "^2.0.0", 2388 | "get-package-type": "^0.1.0", 2389 | "glob": "^7.1.6", 2390 | "istanbul-lib-coverage": "^3.0.0", 2391 | "istanbul-lib-hook": "^3.0.0", 2392 | "istanbul-lib-instrument": "^4.0.0", 2393 | "istanbul-lib-processinfo": "^2.0.2", 2394 | "istanbul-lib-report": "^3.0.0", 2395 | "istanbul-lib-source-maps": "^4.0.0", 2396 | "istanbul-reports": "^3.0.2", 2397 | "make-dir": "^3.0.0", 2398 | "node-preload": "^0.2.1", 2399 | "p-map": "^3.0.0", 2400 | "process-on-spawn": "^1.0.0", 2401 | "resolve-from": "^5.0.0", 2402 | "rimraf": "^3.0.0", 2403 | "signal-exit": "^3.0.2", 2404 | "spawn-wrap": "^2.0.0", 2405 | "test-exclude": "^6.0.0", 2406 | "yargs": "^15.0.2" 2407 | }, 2408 | "dependencies": { 2409 | "camelcase": { 2410 | "version": "5.3.1", 2411 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", 2412 | "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", 2413 | "dev": true 2414 | }, 2415 | "cliui": { 2416 | "version": "6.0.0", 2417 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", 2418 | "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", 2419 | "dev": true, 2420 | "requires": { 2421 | "string-width": "^4.2.0", 2422 | "strip-ansi": "^6.0.0", 2423 | "wrap-ansi": "^6.2.0" 2424 | } 2425 | }, 2426 | "decamelize": { 2427 | "version": "1.2.0", 2428 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", 2429 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", 2430 | "dev": true 2431 | }, 2432 | "find-up": { 2433 | "version": "4.1.0", 2434 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", 2435 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", 2436 | "dev": true, 2437 | "requires": { 2438 | "locate-path": "^5.0.0", 2439 | "path-exists": "^4.0.0" 2440 | } 2441 | }, 2442 | "locate-path": { 2443 | "version": "5.0.0", 2444 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", 2445 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", 2446 | "dev": true, 2447 | "requires": { 2448 | "p-locate": "^4.1.0" 2449 | } 2450 | }, 2451 | "p-limit": { 2452 | "version": "2.3.0", 2453 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", 2454 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", 2455 | "dev": true, 2456 | "requires": { 2457 | "p-try": "^2.0.0" 2458 | } 2459 | }, 2460 | "p-locate": { 2461 | "version": "4.1.0", 2462 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", 2463 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", 2464 | "dev": true, 2465 | "requires": { 2466 | "p-limit": "^2.2.0" 2467 | } 2468 | }, 2469 | "wrap-ansi": { 2470 | "version": "6.2.0", 2471 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", 2472 | "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", 2473 | "dev": true, 2474 | "requires": { 2475 | "ansi-styles": "^4.0.0", 2476 | "string-width": "^4.1.0", 2477 | "strip-ansi": "^6.0.0" 2478 | } 2479 | }, 2480 | "y18n": { 2481 | "version": "4.0.3", 2482 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", 2483 | "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", 2484 | "dev": true 2485 | }, 2486 | "yargs": { 2487 | "version": "15.4.1", 2488 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", 2489 | "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", 2490 | "dev": true, 2491 | "requires": { 2492 | "cliui": "^6.0.0", 2493 | "decamelize": "^1.2.0", 2494 | "find-up": "^4.1.0", 2495 | "get-caller-file": "^2.0.1", 2496 | "require-directory": "^2.1.1", 2497 | "require-main-filename": "^2.0.0", 2498 | "set-blocking": "^2.0.0", 2499 | "string-width": "^4.2.0", 2500 | "which-module": "^2.0.0", 2501 | "y18n": "^4.0.0", 2502 | "yargs-parser": "^18.1.2" 2503 | } 2504 | }, 2505 | "yargs-parser": { 2506 | "version": "18.1.3", 2507 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", 2508 | "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", 2509 | "dev": true, 2510 | "requires": { 2511 | "camelcase": "^5.0.0", 2512 | "decamelize": "^1.2.0" 2513 | } 2514 | } 2515 | } 2516 | }, 2517 | "object-assign": { 2518 | "version": "4.1.1", 2519 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 2520 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", 2521 | "dev": true 2522 | }, 2523 | "object-inspect": { 2524 | "version": "1.12.0", 2525 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", 2526 | "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", 2527 | "dev": true 2528 | }, 2529 | "object-keys": { 2530 | "version": "1.1.1", 2531 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 2532 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", 2533 | "dev": true 2534 | }, 2535 | "object.assign": { 2536 | "version": "4.1.2", 2537 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", 2538 | "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", 2539 | "dev": true, 2540 | "requires": { 2541 | "call-bind": "^1.0.0", 2542 | "define-properties": "^1.1.3", 2543 | "has-symbols": "^1.0.1", 2544 | "object-keys": "^1.1.1" 2545 | } 2546 | }, 2547 | "object.entries": { 2548 | "version": "1.1.5", 2549 | "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", 2550 | "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", 2551 | "dev": true, 2552 | "requires": { 2553 | "call-bind": "^1.0.2", 2554 | "define-properties": "^1.1.3", 2555 | "es-abstract": "^1.19.1" 2556 | } 2557 | }, 2558 | "object.fromentries": { 2559 | "version": "2.0.5", 2560 | "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", 2561 | "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", 2562 | "dev": true, 2563 | "requires": { 2564 | "call-bind": "^1.0.2", 2565 | "define-properties": "^1.1.3", 2566 | "es-abstract": "^1.19.1" 2567 | } 2568 | }, 2569 | "object.hasown": { 2570 | "version": "1.1.1", 2571 | "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.1.tgz", 2572 | "integrity": "sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==", 2573 | "dev": true, 2574 | "requires": { 2575 | "define-properties": "^1.1.4", 2576 | "es-abstract": "^1.19.5" 2577 | } 2578 | }, 2579 | "object.values": { 2580 | "version": "1.1.5", 2581 | "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", 2582 | "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", 2583 | "dev": true, 2584 | "requires": { 2585 | "call-bind": "^1.0.2", 2586 | "define-properties": "^1.1.3", 2587 | "es-abstract": "^1.19.1" 2588 | } 2589 | }, 2590 | "once": { 2591 | "version": "1.4.0", 2592 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 2593 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 2594 | "dev": true, 2595 | "requires": { 2596 | "wrappy": "1" 2597 | } 2598 | }, 2599 | "optionator": { 2600 | "version": "0.9.1", 2601 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", 2602 | "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", 2603 | "dev": true, 2604 | "requires": { 2605 | "deep-is": "^0.1.3", 2606 | "fast-levenshtein": "^2.0.6", 2607 | "levn": "^0.4.1", 2608 | "prelude-ls": "^1.2.1", 2609 | "type-check": "^0.4.0", 2610 | "word-wrap": "^1.2.3" 2611 | } 2612 | }, 2613 | "p-limit": { 2614 | "version": "3.1.0", 2615 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", 2616 | "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", 2617 | "dev": true, 2618 | "requires": { 2619 | "yocto-queue": "^0.1.0" 2620 | } 2621 | }, 2622 | "p-locate": { 2623 | "version": "5.0.0", 2624 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", 2625 | "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", 2626 | "dev": true, 2627 | "requires": { 2628 | "p-limit": "^3.0.2" 2629 | } 2630 | }, 2631 | "p-map": { 2632 | "version": "3.0.0", 2633 | "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", 2634 | "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", 2635 | "dev": true, 2636 | "requires": { 2637 | "aggregate-error": "^3.0.0" 2638 | } 2639 | }, 2640 | "p-try": { 2641 | "version": "2.2.0", 2642 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", 2643 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", 2644 | "dev": true 2645 | }, 2646 | "package-hash": { 2647 | "version": "4.0.0", 2648 | "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", 2649 | "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", 2650 | "dev": true, 2651 | "requires": { 2652 | "graceful-fs": "^4.1.15", 2653 | "hasha": "^5.0.0", 2654 | "lodash.flattendeep": "^4.4.0", 2655 | "release-zalgo": "^1.0.0" 2656 | } 2657 | }, 2658 | "parent-module": { 2659 | "version": "1.0.1", 2660 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 2661 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 2662 | "dev": true, 2663 | "requires": { 2664 | "callsites": "^3.0.0" 2665 | } 2666 | }, 2667 | "parse-json": { 2668 | "version": "4.0.0", 2669 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", 2670 | "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", 2671 | "dev": true, 2672 | "requires": { 2673 | "error-ex": "^1.3.1", 2674 | "json-parse-better-errors": "^1.0.1" 2675 | } 2676 | }, 2677 | "path-exists": { 2678 | "version": "4.0.0", 2679 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 2680 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 2681 | "dev": true 2682 | }, 2683 | "path-is-absolute": { 2684 | "version": "1.0.1", 2685 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 2686 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 2687 | "dev": true 2688 | }, 2689 | "path-key": { 2690 | "version": "3.1.1", 2691 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 2692 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 2693 | "dev": true 2694 | }, 2695 | "path-parse": { 2696 | "version": "1.0.7", 2697 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 2698 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 2699 | "dev": true 2700 | }, 2701 | "picocolors": { 2702 | "version": "1.0.0", 2703 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 2704 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 2705 | "dev": true 2706 | }, 2707 | "picomatch": { 2708 | "version": "2.3.1", 2709 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 2710 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 2711 | "dev": true 2712 | }, 2713 | "pify": { 2714 | "version": "4.0.1", 2715 | "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", 2716 | "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", 2717 | "dev": true 2718 | }, 2719 | "pkg-conf": { 2720 | "version": "3.1.0", 2721 | "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-3.1.0.tgz", 2722 | "integrity": "sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==", 2723 | "dev": true, 2724 | "requires": { 2725 | "find-up": "^3.0.0", 2726 | "load-json-file": "^5.2.0" 2727 | }, 2728 | "dependencies": { 2729 | "find-up": { 2730 | "version": "3.0.0", 2731 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", 2732 | "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", 2733 | "dev": true, 2734 | "requires": { 2735 | "locate-path": "^3.0.0" 2736 | } 2737 | }, 2738 | "locate-path": { 2739 | "version": "3.0.0", 2740 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", 2741 | "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", 2742 | "dev": true, 2743 | "requires": { 2744 | "p-locate": "^3.0.0", 2745 | "path-exists": "^3.0.0" 2746 | } 2747 | }, 2748 | "p-limit": { 2749 | "version": "2.3.0", 2750 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", 2751 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", 2752 | "dev": true, 2753 | "requires": { 2754 | "p-try": "^2.0.0" 2755 | } 2756 | }, 2757 | "p-locate": { 2758 | "version": "3.0.0", 2759 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", 2760 | "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", 2761 | "dev": true, 2762 | "requires": { 2763 | "p-limit": "^2.0.0" 2764 | } 2765 | }, 2766 | "path-exists": { 2767 | "version": "3.0.0", 2768 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 2769 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", 2770 | "dev": true 2771 | } 2772 | } 2773 | }, 2774 | "pkg-dir": { 2775 | "version": "4.2.0", 2776 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", 2777 | "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", 2778 | "dev": true, 2779 | "requires": { 2780 | "find-up": "^4.0.0" 2781 | }, 2782 | "dependencies": { 2783 | "find-up": { 2784 | "version": "4.1.0", 2785 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", 2786 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", 2787 | "dev": true, 2788 | "requires": { 2789 | "locate-path": "^5.0.0", 2790 | "path-exists": "^4.0.0" 2791 | } 2792 | }, 2793 | "locate-path": { 2794 | "version": "5.0.0", 2795 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", 2796 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", 2797 | "dev": true, 2798 | "requires": { 2799 | "p-locate": "^4.1.0" 2800 | } 2801 | }, 2802 | "p-limit": { 2803 | "version": "2.3.0", 2804 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", 2805 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", 2806 | "dev": true, 2807 | "requires": { 2808 | "p-try": "^2.0.0" 2809 | } 2810 | }, 2811 | "p-locate": { 2812 | "version": "4.1.0", 2813 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", 2814 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", 2815 | "dev": true, 2816 | "requires": { 2817 | "p-limit": "^2.2.0" 2818 | } 2819 | } 2820 | } 2821 | }, 2822 | "prelude-ls": { 2823 | "version": "1.2.1", 2824 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 2825 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 2826 | "dev": true 2827 | }, 2828 | "process-on-spawn": { 2829 | "version": "1.0.0", 2830 | "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", 2831 | "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", 2832 | "dev": true, 2833 | "requires": { 2834 | "fromentries": "^1.2.0" 2835 | } 2836 | }, 2837 | "prop-types": { 2838 | "version": "15.8.1", 2839 | "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", 2840 | "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", 2841 | "dev": true, 2842 | "requires": { 2843 | "loose-envify": "^1.4.0", 2844 | "object-assign": "^4.1.1", 2845 | "react-is": "^16.13.1" 2846 | } 2847 | }, 2848 | "punycode": { 2849 | "version": "1.3.2", 2850 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", 2851 | "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", 2852 | "dev": true 2853 | }, 2854 | "querystring": { 2855 | "version": "0.2.0", 2856 | "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", 2857 | "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", 2858 | "dev": true 2859 | }, 2860 | "randombytes": { 2861 | "version": "2.1.0", 2862 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", 2863 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", 2864 | "dev": true, 2865 | "requires": { 2866 | "safe-buffer": "^5.1.0" 2867 | } 2868 | }, 2869 | "react-is": { 2870 | "version": "16.13.1", 2871 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", 2872 | "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", 2873 | "dev": true 2874 | }, 2875 | "readdirp": { 2876 | "version": "3.6.0", 2877 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 2878 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 2879 | "dev": true, 2880 | "requires": { 2881 | "picomatch": "^2.2.1" 2882 | } 2883 | }, 2884 | "regexp.prototype.flags": { 2885 | "version": "1.4.3", 2886 | "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", 2887 | "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", 2888 | "dev": true, 2889 | "requires": { 2890 | "call-bind": "^1.0.2", 2891 | "define-properties": "^1.1.3", 2892 | "functions-have-names": "^1.2.2" 2893 | } 2894 | }, 2895 | "regexpp": { 2896 | "version": "3.2.0", 2897 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", 2898 | "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", 2899 | "dev": true 2900 | }, 2901 | "release-zalgo": { 2902 | "version": "1.0.0", 2903 | "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", 2904 | "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", 2905 | "dev": true, 2906 | "requires": { 2907 | "es6-error": "^4.0.1" 2908 | } 2909 | }, 2910 | "require-directory": { 2911 | "version": "2.1.1", 2912 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 2913 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", 2914 | "dev": true 2915 | }, 2916 | "require-main-filename": { 2917 | "version": "2.0.0", 2918 | "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", 2919 | "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", 2920 | "dev": true 2921 | }, 2922 | "resolve": { 2923 | "version": "1.22.0", 2924 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", 2925 | "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", 2926 | "dev": true, 2927 | "requires": { 2928 | "is-core-module": "^2.8.1", 2929 | "path-parse": "^1.0.7", 2930 | "supports-preserve-symlinks-flag": "^1.0.0" 2931 | } 2932 | }, 2933 | "resolve-from": { 2934 | "version": "5.0.0", 2935 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", 2936 | "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", 2937 | "dev": true 2938 | }, 2939 | "rimraf": { 2940 | "version": "3.0.2", 2941 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 2942 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 2943 | "dev": true, 2944 | "requires": { 2945 | "glob": "^7.1.3" 2946 | } 2947 | }, 2948 | "safe-buffer": { 2949 | "version": "5.2.1", 2950 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 2951 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 2952 | "dev": true 2953 | }, 2954 | "sax": { 2955 | "version": "1.2.1", 2956 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", 2957 | "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=", 2958 | "dev": true 2959 | }, 2960 | "secure-json-parse": { 2961 | "version": "2.4.0", 2962 | "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.4.0.tgz", 2963 | "integrity": "sha512-Q5Z/97nbON5t/L/sH6mY2EacfjVGwrCcSi5D3btRO2GZ8pf1K1UN7Z9H5J57hjVU2Qzxr1xO+FmBhOvEkzCMmg==", 2964 | "dev": true 2965 | }, 2966 | "semver": { 2967 | "version": "6.3.0", 2968 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", 2969 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", 2970 | "dev": true 2971 | }, 2972 | "serialize-javascript": { 2973 | "version": "6.0.0", 2974 | "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", 2975 | "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", 2976 | "dev": true, 2977 | "requires": { 2978 | "randombytes": "^2.1.0" 2979 | } 2980 | }, 2981 | "set-blocking": { 2982 | "version": "2.0.0", 2983 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 2984 | "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", 2985 | "dev": true 2986 | }, 2987 | "shebang-command": { 2988 | "version": "2.0.0", 2989 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 2990 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 2991 | "dev": true, 2992 | "requires": { 2993 | "shebang-regex": "^3.0.0" 2994 | } 2995 | }, 2996 | "shebang-regex": { 2997 | "version": "3.0.0", 2998 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 2999 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 3000 | "dev": true 3001 | }, 3002 | "side-channel": { 3003 | "version": "1.0.4", 3004 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", 3005 | "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", 3006 | "dev": true, 3007 | "requires": { 3008 | "call-bind": "^1.0.0", 3009 | "get-intrinsic": "^1.0.2", 3010 | "object-inspect": "^1.9.0" 3011 | } 3012 | }, 3013 | "signal-exit": { 3014 | "version": "3.0.7", 3015 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", 3016 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", 3017 | "dev": true 3018 | }, 3019 | "source-map": { 3020 | "version": "0.6.1", 3021 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 3022 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 3023 | "dev": true 3024 | }, 3025 | "spawn-wrap": { 3026 | "version": "2.0.0", 3027 | "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", 3028 | "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", 3029 | "dev": true, 3030 | "requires": { 3031 | "foreground-child": "^2.0.0", 3032 | "is-windows": "^1.0.2", 3033 | "make-dir": "^3.0.0", 3034 | "rimraf": "^3.0.0", 3035 | "signal-exit": "^3.0.2", 3036 | "which": "^2.0.1" 3037 | } 3038 | }, 3039 | "sprintf-js": { 3040 | "version": "1.0.3", 3041 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 3042 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 3043 | "dev": true 3044 | }, 3045 | "standard": { 3046 | "version": "17.0.0", 3047 | "resolved": "https://registry.npmjs.org/standard/-/standard-17.0.0.tgz", 3048 | "integrity": "sha512-GlCM9nzbLUkr+TYR5I2WQoIah4wHA2lMauqbyPLV/oI5gJxqhHzhjl9EG2N0lr/nRqI3KCbCvm/W3smxvLaChA==", 3049 | "dev": true, 3050 | "requires": { 3051 | "eslint": "^8.13.0", 3052 | "eslint-config-standard": "17.0.0", 3053 | "eslint-config-standard-jsx": "^11.0.0", 3054 | "eslint-plugin-import": "^2.26.0", 3055 | "eslint-plugin-n": "^15.1.0", 3056 | "eslint-plugin-promise": "^6.0.0", 3057 | "eslint-plugin-react": "^7.28.0", 3058 | "standard-engine": "^15.0.0" 3059 | } 3060 | }, 3061 | "standard-engine": { 3062 | "version": "15.0.0", 3063 | "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-15.0.0.tgz", 3064 | "integrity": "sha512-4xwUhJNo1g/L2cleysUqUv7/btn7GEbYJvmgKrQ2vd/8pkTmN8cpqAZg+BT8Z1hNeEH787iWUdOpL8fmApLtxA==", 3065 | "dev": true, 3066 | "requires": { 3067 | "get-stdin": "^8.0.0", 3068 | "minimist": "^1.2.6", 3069 | "pkg-conf": "^3.1.0", 3070 | "xdg-basedir": "^4.0.0" 3071 | } 3072 | }, 3073 | "string-width": { 3074 | "version": "4.2.3", 3075 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 3076 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 3077 | "dev": true, 3078 | "requires": { 3079 | "emoji-regex": "^8.0.0", 3080 | "is-fullwidth-code-point": "^3.0.0", 3081 | "strip-ansi": "^6.0.1" 3082 | } 3083 | }, 3084 | "string.prototype.matchall": { 3085 | "version": "4.0.7", 3086 | "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz", 3087 | "integrity": "sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==", 3088 | "dev": true, 3089 | "requires": { 3090 | "call-bind": "^1.0.2", 3091 | "define-properties": "^1.1.3", 3092 | "es-abstract": "^1.19.1", 3093 | "get-intrinsic": "^1.1.1", 3094 | "has-symbols": "^1.0.3", 3095 | "internal-slot": "^1.0.3", 3096 | "regexp.prototype.flags": "^1.4.1", 3097 | "side-channel": "^1.0.4" 3098 | } 3099 | }, 3100 | "string.prototype.trimend": { 3101 | "version": "1.0.5", 3102 | "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", 3103 | "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", 3104 | "dev": true, 3105 | "requires": { 3106 | "call-bind": "^1.0.2", 3107 | "define-properties": "^1.1.4", 3108 | "es-abstract": "^1.19.5" 3109 | } 3110 | }, 3111 | "string.prototype.trimstart": { 3112 | "version": "1.0.5", 3113 | "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", 3114 | "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", 3115 | "dev": true, 3116 | "requires": { 3117 | "call-bind": "^1.0.2", 3118 | "define-properties": "^1.1.4", 3119 | "es-abstract": "^1.19.5" 3120 | } 3121 | }, 3122 | "strip-ansi": { 3123 | "version": "6.0.1", 3124 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 3125 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 3126 | "dev": true, 3127 | "requires": { 3128 | "ansi-regex": "^5.0.1" 3129 | } 3130 | }, 3131 | "strip-bom": { 3132 | "version": "4.0.0", 3133 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", 3134 | "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", 3135 | "dev": true 3136 | }, 3137 | "strip-json-comments": { 3138 | "version": "3.1.1", 3139 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 3140 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 3141 | "dev": true 3142 | }, 3143 | "supports-color": { 3144 | "version": "8.1.1", 3145 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", 3146 | "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", 3147 | "dev": true, 3148 | "requires": { 3149 | "has-flag": "^4.0.0" 3150 | } 3151 | }, 3152 | "supports-preserve-symlinks-flag": { 3153 | "version": "1.0.0", 3154 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 3155 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 3156 | "dev": true 3157 | }, 3158 | "test-exclude": { 3159 | "version": "6.0.0", 3160 | "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", 3161 | "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", 3162 | "dev": true, 3163 | "requires": { 3164 | "@istanbuljs/schema": "^0.1.2", 3165 | "glob": "^7.1.4", 3166 | "minimatch": "^3.0.4" 3167 | }, 3168 | "dependencies": { 3169 | "minimatch": { 3170 | "version": "3.1.2", 3171 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 3172 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 3173 | "dev": true, 3174 | "requires": { 3175 | "brace-expansion": "^1.1.7" 3176 | } 3177 | } 3178 | } 3179 | }, 3180 | "text-table": { 3181 | "version": "0.2.0", 3182 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 3183 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 3184 | "dev": true 3185 | }, 3186 | "to-fast-properties": { 3187 | "version": "2.0.0", 3188 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", 3189 | "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", 3190 | "dev": true 3191 | }, 3192 | "to-regex-range": { 3193 | "version": "5.0.1", 3194 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 3195 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 3196 | "dev": true, 3197 | "requires": { 3198 | "is-number": "^7.0.0" 3199 | } 3200 | }, 3201 | "tsconfig-paths": { 3202 | "version": "3.14.1", 3203 | "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", 3204 | "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", 3205 | "dev": true, 3206 | "requires": { 3207 | "@types/json5": "^0.0.29", 3208 | "json5": "^1.0.1", 3209 | "minimist": "^1.2.6", 3210 | "strip-bom": "^3.0.0" 3211 | }, 3212 | "dependencies": { 3213 | "json5": { 3214 | "version": "1.0.1", 3215 | "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", 3216 | "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", 3217 | "dev": true, 3218 | "requires": { 3219 | "minimist": "^1.2.0" 3220 | } 3221 | }, 3222 | "strip-bom": { 3223 | "version": "3.0.0", 3224 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 3225 | "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", 3226 | "dev": true 3227 | } 3228 | } 3229 | }, 3230 | "type-check": { 3231 | "version": "0.4.0", 3232 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 3233 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 3234 | "dev": true, 3235 | "requires": { 3236 | "prelude-ls": "^1.2.1" 3237 | } 3238 | }, 3239 | "type-fest": { 3240 | "version": "0.8.1", 3241 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", 3242 | "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", 3243 | "dev": true 3244 | }, 3245 | "typedarray-to-buffer": { 3246 | "version": "3.1.5", 3247 | "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", 3248 | "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", 3249 | "dev": true, 3250 | "requires": { 3251 | "is-typedarray": "^1.0.0" 3252 | } 3253 | }, 3254 | "unbox-primitive": { 3255 | "version": "1.0.2", 3256 | "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", 3257 | "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", 3258 | "dev": true, 3259 | "requires": { 3260 | "call-bind": "^1.0.2", 3261 | "has-bigints": "^1.0.2", 3262 | "has-symbols": "^1.0.3", 3263 | "which-boxed-primitive": "^1.0.2" 3264 | } 3265 | }, 3266 | "uri-js": { 3267 | "version": "4.4.1", 3268 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 3269 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 3270 | "dev": true, 3271 | "requires": { 3272 | "punycode": "^2.1.0" 3273 | }, 3274 | "dependencies": { 3275 | "punycode": { 3276 | "version": "2.1.1", 3277 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 3278 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 3279 | "dev": true 3280 | } 3281 | } 3282 | }, 3283 | "url": { 3284 | "version": "0.10.3", 3285 | "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", 3286 | "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", 3287 | "dev": true, 3288 | "requires": { 3289 | "punycode": "1.3.2", 3290 | "querystring": "0.2.0" 3291 | } 3292 | }, 3293 | "uuid": { 3294 | "version": "3.3.2", 3295 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", 3296 | "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", 3297 | "dev": true 3298 | }, 3299 | "v8-compile-cache": { 3300 | "version": "2.3.0", 3301 | "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", 3302 | "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", 3303 | "dev": true 3304 | }, 3305 | "which": { 3306 | "version": "2.0.2", 3307 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 3308 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 3309 | "dev": true, 3310 | "requires": { 3311 | "isexe": "^2.0.0" 3312 | } 3313 | }, 3314 | "which-boxed-primitive": { 3315 | "version": "1.0.2", 3316 | "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", 3317 | "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", 3318 | "dev": true, 3319 | "requires": { 3320 | "is-bigint": "^1.0.1", 3321 | "is-boolean-object": "^1.1.0", 3322 | "is-number-object": "^1.0.4", 3323 | "is-string": "^1.0.5", 3324 | "is-symbol": "^1.0.3" 3325 | } 3326 | }, 3327 | "which-module": { 3328 | "version": "2.0.0", 3329 | "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", 3330 | "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", 3331 | "dev": true 3332 | }, 3333 | "word-wrap": { 3334 | "version": "1.2.3", 3335 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", 3336 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", 3337 | "dev": true 3338 | }, 3339 | "workerpool": { 3340 | "version": "6.2.1", 3341 | "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", 3342 | "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", 3343 | "dev": true 3344 | }, 3345 | "wrap-ansi": { 3346 | "version": "7.0.0", 3347 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 3348 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 3349 | "dev": true, 3350 | "requires": { 3351 | "ansi-styles": "^4.0.0", 3352 | "string-width": "^4.1.0", 3353 | "strip-ansi": "^6.0.0" 3354 | } 3355 | }, 3356 | "wrappy": { 3357 | "version": "1.0.2", 3358 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 3359 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 3360 | "dev": true 3361 | }, 3362 | "write-file-atomic": { 3363 | "version": "3.0.3", 3364 | "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", 3365 | "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", 3366 | "dev": true, 3367 | "requires": { 3368 | "imurmurhash": "^0.1.4", 3369 | "is-typedarray": "^1.0.0", 3370 | "signal-exit": "^3.0.2", 3371 | "typedarray-to-buffer": "^3.1.5" 3372 | } 3373 | }, 3374 | "xdg-basedir": { 3375 | "version": "4.0.0", 3376 | "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", 3377 | "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", 3378 | "dev": true 3379 | }, 3380 | "xml2js": { 3381 | "version": "0.4.19", 3382 | "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", 3383 | "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", 3384 | "dev": true, 3385 | "requires": { 3386 | "sax": ">=0.6.0", 3387 | "xmlbuilder": "~9.0.1" 3388 | } 3389 | }, 3390 | "xmlbuilder": { 3391 | "version": "9.0.7", 3392 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", 3393 | "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", 3394 | "dev": true 3395 | }, 3396 | "y18n": { 3397 | "version": "5.0.8", 3398 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", 3399 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", 3400 | "dev": true 3401 | }, 3402 | "yallist": { 3403 | "version": "4.0.0", 3404 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 3405 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 3406 | "dev": true 3407 | }, 3408 | "yargs": { 3409 | "version": "16.2.0", 3410 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", 3411 | "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", 3412 | "dev": true, 3413 | "requires": { 3414 | "cliui": "^7.0.2", 3415 | "escalade": "^3.1.1", 3416 | "get-caller-file": "^2.0.5", 3417 | "require-directory": "^2.1.1", 3418 | "string-width": "^4.2.0", 3419 | "y18n": "^5.0.5", 3420 | "yargs-parser": "^20.2.2" 3421 | } 3422 | }, 3423 | "yargs-parser": { 3424 | "version": "20.2.4", 3425 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", 3426 | "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", 3427 | "dev": true 3428 | }, 3429 | "yargs-unparser": { 3430 | "version": "2.0.0", 3431 | "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", 3432 | "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", 3433 | "dev": true, 3434 | "requires": { 3435 | "camelcase": "^6.0.0", 3436 | "decamelize": "^4.0.0", 3437 | "flat": "^5.0.2", 3438 | "is-plain-obj": "^2.1.0" 3439 | } 3440 | }, 3441 | "yocto-queue": { 3442 | "version": "0.1.0", 3443 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", 3444 | "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", 3445 | "dev": true 3446 | } 3447 | } 3448 | } 3449 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "aws-elasticsearch-connector", 3 | "version": "9.2.0", 4 | "description": "A tiny Amazon Signature Version 4 connection class for @elastic/elasticsearch, for compatibility with AWS Elasticsearch and IAM authentication.", 5 | "repository": "https://github.com/compwright/aws-elasticsearch-connector", 6 | "bugs": "https://github.com/compwright/aws-elasticsearch-connector/issues", 7 | "keywords": [ 8 | "elasticsearch", 9 | "aws-es", 10 | "aws", 11 | "aws4", 12 | "amazon", 13 | "es", 14 | "http", 15 | "connector", 16 | "extension", 17 | "sign", 18 | "http-aws-es", 19 | "HttpConnection" 20 | ], 21 | "engines": { 22 | "node": ">= 10" 23 | }, 24 | "main": "src/index.js", 25 | "types": "index.d.ts", 26 | "scripts": { 27 | "publish": "git push origin --tags && npm run changelog && git push origin", 28 | "release:pre": "npm version prerelease && npm publish --tag pre", 29 | "release:patch": "npm version patch && npm publish", 30 | "release:minor": "npm version minor && npm publish", 31 | "release:major": "npm version major && npm publish", 32 | "changelog": "github_changelog_generator -u compwright -p aws-elasticsearch-connector && git add CHANGELOG.md && git commit -am \"Updating changelog\"", 33 | "lint": "standard src/*.js tests/*.js --fix", 34 | "pretest": "npm run lint", 35 | "test": "AWS_PROFILE=null nyc --all mocha tests/Amazon*.test.js", 36 | "test:integration": "mocha tests/integration.test.js" 37 | }, 38 | "author": { 39 | "name": "Jonathon Hill", 40 | "email": "jonathon@compwright.com", 41 | "url": "https://compwright.com" 42 | }, 43 | "license": "MIT", 44 | "standard": { 45 | "env": [ 46 | "mocha" 47 | ] 48 | }, 49 | "nyc": { 50 | "include": [ 51 | "src/**/Amazon*.js" 52 | ] 53 | }, 54 | "dependencies": { 55 | "aws4": "^1.11.0" 56 | }, 57 | "peerDependencies": { 58 | "@elastic/elasticsearch": ">=6", 59 | "aws-sdk": "^2.831.0" 60 | }, 61 | "devDependencies": { 62 | "@elastic/elasticsearch": "^7.10.0", 63 | "aws-sdk": "^2.831.0", 64 | "minimist": "^1.2.5", 65 | "mocha": "*", 66 | "nyc": "*", 67 | "standard": "*" 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /src/AmazonConnection.js: -------------------------------------------------------------------------------- 1 | const { Connection } = require('@elastic/elasticsearch') 2 | const aws4 = require('aws4') 3 | 4 | module.exports = awsConfig => { 5 | class AmazonConnection extends Connection { 6 | buildRequestObject (params) { 7 | const req = super.buildRequestObject(params) 8 | 9 | req.service = 'es' 10 | 11 | if (awsConfig.region) { 12 | req.region = awsConfig.region 13 | } 14 | 15 | if (!req.headers) { 16 | req.headers = {} 17 | } 18 | 19 | // Fix the Host header, since HttpConnector.makeReqParams() appends 20 | // the port number which will cause signature verification to fail 21 | req.headers.host = req.hostname 22 | 23 | // This fix allows the connector to work with the older 6.x elastic branch. 24 | // The problem with that version, is that the Transport object would add a 25 | // `Content-Length` header (yes with Pascal Case), thus duplicating headers 26 | // (`Content-Length` and `content-length`), which makes the signature fail. 27 | let contentLength = 0 28 | if (params.body) { 29 | contentLength = Buffer.byteLength(params.body, 'utf8') 30 | req.body = params.body 31 | } 32 | const lengthHeader = 'content-length' 33 | const headerFound = Object.keys(req.headers).find( 34 | header => header.toLowerCase() === lengthHeader) 35 | if (headerFound === undefined) { 36 | req.headers[lengthHeader] = contentLength 37 | } 38 | 39 | return aws4.sign(req, awsConfig.credentials) 40 | } 41 | } 42 | 43 | return AmazonConnection 44 | } 45 | -------------------------------------------------------------------------------- /src/AmazonTransport.js: -------------------------------------------------------------------------------- 1 | const { Transport } = require('@elastic/elasticsearch') 2 | 3 | function awaitAwsCredentials (awsConfig) { 4 | return new Promise((resolve, reject) => { 5 | awsConfig.getCredentials((err) => { 6 | err ? reject(err) : resolve() 7 | }) 8 | }) 9 | } 10 | 11 | module.exports = awsConfig => { 12 | class AmazonTransport extends Transport { 13 | request (params, options = {}, callback = undefined) { 14 | // options is optional, so if it is omitted, options will be the callback 15 | if (typeof options === 'function') { 16 | callback = options 17 | options = {} 18 | } 19 | 20 | // check if getCredentials exists, if so this is an aws-sdk v2 global config object 21 | if (typeof awsConfig.getCredentials !== 'function') { 22 | if (typeof callback === 'undefined') { 23 | return super.request(params, options) 24 | } else { 25 | super.request(params, options, callback) 26 | } 27 | } else { 28 | // Promise support 29 | if (typeof callback === 'undefined') { 30 | return awaitAwsCredentials(awsConfig) 31 | .then(() => super.request(params, options)) 32 | } 33 | 34 | // Callback support 35 | awaitAwsCredentials(awsConfig) 36 | .then(() => super.request(params, options, callback)) 37 | .catch(callback) 38 | } 39 | } 40 | } 41 | 42 | return AmazonTransport 43 | } 44 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | module.exports = (awsConfig) => ({ 2 | Connection: require('./AmazonConnection')(awsConfig), 3 | Transport: require('./AmazonTransport')(awsConfig) 4 | }) 5 | -------------------------------------------------------------------------------- /tests/.eslintrc: -------------------------------------------------------------------------------- 1 | rules: 2 | no-console: 0 3 | 4 | env: 5 | mocha: true 6 | -------------------------------------------------------------------------------- /tests/AmazonConnection.test.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const assert = require('assert') 4 | const { URL } = require('url') 5 | const { Connection } = require('@elastic/elasticsearch') 6 | const AWS = require('aws-sdk') 7 | 8 | const awsConfig = new AWS.Config({ 9 | accessKeyId: 'foo', 10 | secretAccessKey: 'bar', 11 | sessionToken: 'baz' 12 | }) 13 | 14 | const AmazonConnection = require('../src/AmazonConnection')(awsConfig) 15 | 16 | describe('AmazonConnection', function () { 17 | it('extends Connection', function () { 18 | assert(AmazonConnection.prototype instanceof Connection) 19 | }) 20 | 21 | describe('buildRequestObject()', function () { 22 | const connector = new AmazonConnection({ 23 | url: new URL('https://foo.us-east-1.es.amazonaws.com') 24 | }) 25 | 26 | it('sets the Host header without the port appended', function () { 27 | const req = connector.buildRequestObject({ 28 | method: 'GET', 29 | path: '/_cluster/health', 30 | query: {}, 31 | body: undefined, 32 | headers: {} 33 | }) 34 | 35 | assert.strictEqual(req.headers.host, 'foo.us-east-1.es.amazonaws.com') 36 | }) 37 | 38 | it('sets the content-length: 0 header when there is no body', function () { 39 | const req = connector.buildRequestObject({ 40 | method: 'POST', 41 | path: '/_cluster/health', 42 | query: {}, 43 | body: '', 44 | headers: {} 45 | }) 46 | 47 | assert.strictEqual(req.headers['content-length'], 0) 48 | }) 49 | 50 | it('sets the content-length header when there is a body', function () { 51 | const req = connector.buildRequestObject({ 52 | method: 'POST', 53 | path: '/_cluster/health', 54 | query: {}, 55 | body: 'foo', 56 | headers: {} 57 | }) 58 | 59 | assert.strictEqual(req.headers['content-length'], 3) 60 | assert.strictEqual(req.body, 'foo') 61 | }) 62 | 63 | it('signs the request', function () { 64 | const req = connector.buildRequestObject({ 65 | method: 'POST', 66 | path: '/_cluster/health', 67 | query: {}, 68 | body: 'foo', 69 | headers: { 70 | Date: new Date('2019-08-16T20:51:18Z').toISOString() 71 | } 72 | }) 73 | 74 | assert.strictEqual(req.headers['X-Amz-Date'], '20190816T205118Z') 75 | assert.strictEqual(req.headers.Authorization, 'AWS4-HMAC-SHA256 Credential=foo/20190816/us-east-1/es/aws4_request, SignedHeaders=content-length;content-type;date;host;x-amz-date;x-amz-security-token, Signature=5daf2e5d70fe61002e12ad3d4d8dcfcda64bb477ce764af1c30967393d83ba1f') 76 | }) 77 | 78 | it('sets the region when region is configured in the AWS config object', function () { 79 | const regionConfig = new AWS.Config({ 80 | accessKeyId: 'foo', 81 | region: 'us-west-2', 82 | secretAccessKey: 'bar', 83 | sessionToken: 'baz' 84 | }) 85 | 86 | const RegionConnection = require('../src/AmazonConnection')(regionConfig) 87 | 88 | const regionConnector = new RegionConnection({ 89 | url: new URL('https://foo.us-west-2.es.amazonaws.com') 90 | }) 91 | 92 | const req = regionConnector.buildRequestObject({ 93 | method: 'POST', 94 | path: '/_cluster/health', 95 | query: {}, 96 | body: 'foo', 97 | headers: { 98 | Date: new Date('2019-08-16T20:51:18Z').toISOString() 99 | } 100 | }) 101 | 102 | assert.strictEqual(req.region, 'us-west-2') 103 | }) 104 | }) 105 | }) 106 | -------------------------------------------------------------------------------- /tests/AmazonTransport.test.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const assert = require('assert') 4 | const { Transport } = require('@elastic/elasticsearch') 5 | const AWS = require('aws-sdk') 6 | 7 | const awsConfig = new AWS.Config({ 8 | accessKeyId: 'foo', 9 | secretAccessKey: 'bar', 10 | sessionToken: 'baz' 11 | }) 12 | 13 | const AmazonTransport = require('../src/AmazonTransport')(awsConfig) 14 | 15 | describe('AmazonTransport', function () { 16 | it('extends Transport', function () { 17 | assert(AmazonTransport.prototype instanceof Transport) 18 | }) 19 | 20 | describe('.request()', function () { 21 | const transport = new AmazonTransport({ 22 | connectionPool: { 23 | getConnection: () => null 24 | } 25 | }) 26 | 27 | it('calls the callback if provided', function (done) { 28 | transport.request({}, {}, () => done()) 29 | }) 30 | 31 | it('returns a Promise if callback not provided', function (done) { 32 | transport.request({}, {}).catch(() => done()) 33 | }) 34 | 35 | it('accepts callback in place of options', function (done) { 36 | transport.request({}, () => done()) 37 | }) 38 | 39 | it('waits for AWSConfig.getCredentials()', function (done) { 40 | const mockAwsConfig = { 41 | credentials: {}, 42 | getCredentials (next) { 43 | next({ 44 | accessKeyId: 'foo', 45 | secretAccessKey: 'bar', 46 | sessionToken: 'baz' 47 | }) 48 | done() 49 | } 50 | } 51 | const AmazonTransport = require('../src/AmazonTransport')(mockAwsConfig) 52 | const transport = new AmazonTransport({ 53 | connectionPool: { 54 | getConnection: () => null 55 | } 56 | }) 57 | transport.request({}, {}, () => {}) 58 | }) 59 | }) 60 | }) 61 | -------------------------------------------------------------------------------- /tests/integration.test.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const AWS = require('aws-sdk') 4 | const { Client } = require('@elastic/elasticsearch') 5 | const argv = require('minimist')(process.argv.slice(2)) 6 | 7 | const createAwsElasticsearchConnector = require('../src') 8 | 9 | AWS.config.update({ 10 | region: argv.region, 11 | profile: argv.profile 12 | }) 13 | 14 | const client = new Client({ 15 | ...createAwsElasticsearchConnector(AWS.config), 16 | node: argv.endpoint 17 | }) 18 | 19 | client.on('response', (err, res) => { 20 | if (err) { 21 | console.error('Error:', err) 22 | } else { 23 | console.log('Request:', res.meta.request) 24 | console.log('Response:', res.statusCode, res.body) 25 | } 26 | }) 27 | 28 | describe('AWS Elasticsearch', function () { 29 | this.timeout(10000) 30 | this.slow(1000) 31 | 32 | it('should be able to connect', () => { 33 | return client.cluster.health() 34 | }) 35 | 36 | it('can clearScroll()', () => { 37 | return client.search({ scroll: '10s' }).then(result => { 38 | return client.clearScroll({ 39 | body: { 40 | scroll_id: [result.body._scroll_id] 41 | } 42 | }) 43 | }) 44 | }) 45 | 46 | it('handles unicode', () => { 47 | return client.search({ 48 | index: '*', 49 | size: 0, 50 | body: { 51 | query: { query_string: { query: 'ü' } } 52 | } 53 | }) 54 | }) 55 | }) 56 | --------------------------------------------------------------------------------